2015-04-06 53 views
1

我已经看过这里的一些答案,并试图将它们付诸行动在我的脚本中;但它不工作,我不知道为什么。Netsuite PHP API:如何更新项目记录上的自定义字段

我正在尝试更新已存在库存项目上的自定义字段。以下是我迄今为止

<?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拉项记录起来,然后更新只是其众多的自定义字段1。

此代码没有出错,但它似乎也没有做任何事情。看着对象的var_dump,我可以看到一个item对象,只有我设置的参数填充了,其他一切都是空的。

我在做什么错?

回答

2

这是一个基本示例,显示如何使用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

+0

这是否删除或尝试更新任何现有customfiled列表?尝试添加新列表时,我收到单独列表的异常。 – 2017-02-24 20:19:58

相关问题