0

收到此错误无效的 custrecord_lt_partner 参考密钥 225399。尝试插入时

前两个字段是列表/记录,第三个字段是自由格式文本。

具有管理员权限的 Netsuite

这是代码

global $nsClient;

$recordTypeRef = array("internalId" => 91);

$partnerName = "225399";
$companyName = "20562";
$labAcctNum  = "7182794";

$partnerNameFields = new nsComplexObject('SelectCustomFieldRef');

$partnerNameFields->setFields(
    array(
        'value'         => new nsListOrRecordRef(array('internalId' => $partnerName)),
        'internalId'    => 'custrecord_lt_partner' 
    )
);

$companyNameFields = new nsComplexObject('SelectCustomFieldRef');

$companyNameFields->setFields(
    array(
        'value'         => new nsListOrRecordRef(array('internalId' => $companyName)),
        'internalId'    => 'custrecord_lt_company' 
    )
);


$labAcctNumFields = new nsComplexObject('StringCustomFieldRef');

$labAcctNumFields->setFields(
    array(
        'internalId' => 'custrecord_lt_user_lab_acct_number',
        'value'      => $labAcctNum, 
    )
);


$customRecordFields = array(
    "recType"           => $recordTypeRef,
    "customFieldList"   => array($partnerNameFields, $companyNameFields, $labAcctNumFields),
);


$customRecord = new nsComplexObject('CustomRecord');

$customRecord->setFields($customRecordFields);

//echo "<pre>"; print_r($customRecord); echo "</pre>"; exit;


$addResponse = $nsClient->add($customRecord);

if($addResponse->isSuccess) {
    echo "<pre>"; print_r("Success"); echo "</pre>"; exit;
}
else {
    echo "<pre>"; print_r($addResponse->statusDetail[0]->message); echo "</pre>"; exit;
}
4

2 回答 2

3

当指定的 internalID 不存在时,我收到此错误。所以我假设 $partnerId 的值为“225399”。您是否在 Netsuite 中仔细检查了是否存在具有该 ID 的条目?(URL 或系统选项卡通常会告诉您更多信息。除了 SelectFields 之外,通常还有一个 Javascript 数组,您可以在其中找到 ID)。

于 2012-11-14T00:13:34.883 回答
0

$partnerName 是合作伙伴记录中的 entityId 字段,还是 internalId 字段?

您需要提供 internalId 或 externalId。您在变量中使用“名称”一词让我认为您没有使用内部或外部 ID。

于 2013-07-08T01:45:37.480 回答