Netsuite PHP工具包更新销售订单
我需要更新销售订单中的custbody字段: 该字段是一个下拉列表和一个复选框。如何将“check”值发送到checkbox字段?结果返回“Success”,但该字段从未从其现有值更新。这是我的密码Netsuite PHP工具包更新销售订单,php,netsuite,Php,Netsuite,我需要更新销售订单中的custbody字段: 该字段是一个下拉列表和一个复选框。如何将“check”值发送到checkbox字段?结果返回“Success”,但该字段从未从其现有值更新。这是我的密码 $customStringFieldList = new StringCustomFieldRef(); $customStringFieldList->internalId = "custbody_order_status"; $customStringFieldList->value
$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(布尔值,而不是字符串)。我可能缺少它;但是,我看不出您在哪里设置选中或未选中的值 也就是说,在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;
}
以下是您将如何为将来不得不遭受此问题的任何人做到这一点:
$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;
}