Netsuite PHP 工具包更新了销售订单


Netsuite PHP toolkit update Sales Order

我需要更新销售订单中的客户字段:

该字段是一个下拉列表和一个复选框。如何将"check"值发送到复选框字段?结果返回"成功",但该字段永远不会从其现有值更新。这是我的代码。

$customStringFieldList = new StringCustomFieldRef();
$customStringFieldList->internalId = "custbody_order_status";
$customStringFieldList->value = "Cancelled";
$customSelectFieldList = new SelectCustomFieldRef();
$customSelectFieldList->value = new ListOrRecordRef();
$customSelectFieldList->value->internalId = 49;
$customSelectFieldList->internalId = 'custbody_shipping_confirmed';
//send true?
$basicCustomRecord = new SalesOrder();
$basicCustomRecord->internalId = "114467"; // internal id of the custom record you want to update
$basicCustomRecord->recType = new RecordRef();
$basicCustomRecord->customFieldList = new CustomFieldList();
$basicCustomRecord->customFieldList->customField = array($customStringFieldList, $customSelectFieldList);
$updateRequest = new UpdateRequest();
$updateRequest->record = $basicCustomRecord;
$updateResponse = $service->update($updateRequest);
var_dump($updateResponse);
if (!$updateResponse->writeResponse->status->isSuccess) {
    echo "UPDATE ERROR";
    exit();
} else {
    echo "UPDATE SUCCESS, id " . $updateResponse->writeResponse->baseRef->internalId;
}

我可能错过了它;但是,我没有看到您在哪里设置选中或未选中的值。

也就是说,在 SuiteScript 1.0 中,您可以使用"T"或"F"来选中和取消选中复选框,作为字段的值。

在 2.0 中,我通常能够使用 true 或 false(布尔值,而不是字符串)。

以下是您将来必须遭受此问题的任何人的操作方法:

 $si = 'internal value of the option you can find this in custom settings';
 $customSelectFieldList = new SelectCustomFieldRef();
 $customSelectFieldList->value = new ListOrRecordRef();
 $customSelectFieldList->value->internalId = $s_id;
 $customSelectFieldList->scriptId = 'custbody_order_status';

  $aBooleanField = new BooleanCustomFieldRef();
  $aBooleanField->value = true;
  $aBooleanField->scriptId = 'custbody_move_confirmed';

            $SalesOrderId = 437127;
            $SalesOrderRecord = new SalesOrder();
            $SalesOrderRecord->internalId  = $SalesOrderId;

            $SalesOrderRecord->customFieldList = new CustomFieldList();
            $SalesOrderRecord->customFieldList->customField = array($customSelectFieldList,$aBooleanField);
            $updateRequest = new UpdateRequest();
            $updateRequest->record = $SalesOrderRecord;
            $updateResponse = $service->update($updateRequest);

            if (!$updateResponse->writeResponse->status->isSuccess) {
                echo "UPDATE ERROR";
                exit();
            } else {
                echo "UPDATE SUCCESS, id " . $updateResponse->writeResponse->baseRef->internalId;

            }