我已经在这里查看了一些答案,并尝试在我的脚本中将它们付诸实践;但它不起作用,我不知道为什么。
我正在尝试更新已存在的广告资源项目上的自定义字段。这是我到目前为止所拥有的
<?php
require_once '../PHPToolkit/NetSuiteService.php';
$service = new NetSuiteService();
$item = new InventoryItem();
$item->internalId = 72309;
$customFieldList = new CustomFieldList();
$customField = new StringCustomFieldRef();
$customField->value = utf8_encode("12345");
$customField->internalId = 'custitem_testinput';
$customFieldList->customField[] = $customField;
$item->customFieldList = $customFieldList;
$request = new UpdateRequest();
$request->record = $item;
$response = $service->update($request);
?>
我试图通过其internalID拉取项目记录,然后只更新其众多自定义字段中的一个。
此代码没有错误输出,但它似乎也没有做任何事情。查看对象的var_dump,我可以看到一个项目对象,其中只有我已设置的参数,其他所有内容都为null。
我做错了什么?
答案 0 :(得分:3)
这是一个基本示例,展示了如何使用PHP工具包更新现有记录中的自定义字段。
<?php
require_once 'PHPToolkit/NetSuiteService.php';
$service = new NetSuiteService();
$ItemId = '72309';
$ItemRecord= new InventoryItem();
//StringCustomFieldRef
$itemField= new StringCustomFieldRef();
$itemField->scriptId = 'custitem_part_lookup';
$itemField->value = 'test';
$customFieldList = new customFieldList();
$customFieldList->customField = array($itemField);
$ItemRecord->internalId = $ItemId ;
$ItemRecord->customFieldList = $customFieldList;
$updateRequest = new UpdateRequest();
$updateRequest->record = $ItemRecord;
$updateResponse = $service->update($updateRequest);
?>
有关其他信息,请访问Net Suite User Group