Netsuite PHP API:如何更新项目记录上的自定义字段

时间:2015-04-06 13:37:36

标签: php netsuite

我已经在这里查看了一些答案,并尝试在我的脚本中将它们付诸实践;但它不起作用,我不知道为什么。

我正在尝试更新已存在的广告资源项目上的自定义字段。这是我到目前为止所拥有的

<?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。

我做错了什么?

1 个答案:

答案 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