SuiteScript自动填充部门行项目字段

问题描述 投票:0回答:2

Code Portion Click Here

我正在尝试根据部门交易正文字段填充部门行项目字段,请协助检查我的代码是否正确..我是套房新手。

var itemDepartment = nlapiGetFieldValue('department');
var nlapiSetCurrentLineItemValue = nlapiSetCurrentLineItemValue('item', 'department_display', itemDepartment);

它一直声明department_display不是内部ID。

请指教。

谢谢。

netsuite suitescript
2个回答
0
投票

如果是客户端脚本,您可以尝试设置文本吗?部门列字段的ID是“部门”

var itemDepartment = nlapiGetFieldText('department');

nlapiSetCurrentLineItemText('item','department',itemDepartment);


0
投票

部门列字段的ID也是部门,与标题字段相同。因此,你的代码片段的第二行应该是:

nlapiSetCurrentLineItemValue('item','department',itemDepartment);

编辑根据下面的评论,请在下面找到完整的代码片段,以便在提交之前填写客户的行部门:

    function onBeforeSubmit(type) {
           if (type == 'create' || type == 'edit') {
               var customerId = nlapiGetFieldValue('entity');
                var itemDepartment = nlapiLookupField('customer',customerId, 'custentity_department');
                var itemCount = nlapiGetLineItemCount('item');
                for (var i = 1; i <= itemCount; i++) {
                    nlapiSetLineItemValue('item', 'department', i, itemDepartment);

                }
            }

      }

另外,作为旁注,您不必加载整个记录以获取字段值。你应该使用nlapiLookupField代替。它更快,更安全,更少api使用。

© www.soinside.com 2019 - 2024. All rights reserved.