Netsuite PHP 工具包更新销售订单

Netsuite PHP toolkit update Sales Order

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

该字段是一个下拉列表和一个复选框。如何将 "check" 值发送到复选框字段?结果 returns "Success" 但该字段永远不会根据其现有值进行更新。这是我的代码。

$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;


            }