gpt4 book ai didi

javascript - 我想在销售订单上点击 "approve"按钮后创建采购订单

转载 作者:行者123 更新时间:2023-11-29 19:09:06 25 4
gpt4 key购买 nike

我希望当有人点击销售订单上的批准按钮时生成采购订单。我将脚本部署到销售订单记录和单击批准按钮时触发的事件类型。但是,此代码不会创建采购订单,因为我的子列表项值的字段值无效。

我使用了项目的内部 ID 和字符串名称作为值,但我得到了相同的“无效字段值”错误。有人知道怎么了吗?

function beforeSubmit(context) {
var sRecord = context.newRecord;
var user = runtime.getCurrentUser();

//get line count
var itemCount = sRecord.getLineCount({
sublistId: 'item'
});

for (var i = 0; i<itemCount; i++){
var pOrder = record.create({
type: record.Type.PURCHASE_ORDER,
isDynamic: true
});

//get item internal id
var itemId = sRecord.getSublistValue({
sublistId : 'item',
fieldId : 'item',
line : i
});

//get qty
var qty = sRecord.getSublistValue({
sublistId : 'item',
fieldId : 'quantity',
line : i
});

//get vendor of item
var vendor = search.lookupFields({
type : 'item',
id : itemId,
columns : ['vendorname']
});

//add vendor to record
pOrder.setValue('vendorname', vendor);

//selects new line
pOrder.selectNewLine({sublistId: 'item'});

//add item to sublist
pOrder.setCurrentSublistValue({
sublistId : 'item',
fieldId : 'item',
value : itemId
});

//add quantity to sublist
pOrder.setCurrentSublistValue({
sublistId : 'item',
fieldId : 'quantity',
value : qty
});
pOrder.commitLine({sublistId: 'item'});
pOrder.save();

}
}

最佳答案

entity 字段在采购订单记录中是必需的。项目记录上的 vendorname 字段不存储 vendor 记录,即使存储了 vendor 记录,PO 上也没有对应的 vendorname 字段。项目记录中的此值用于标识项目本身的 vendor 名称/代码,以防他们有不同的名称。

如所写,如果在 PO 上设置了 entity 字段,则此代码至少在特定情况下起作用。如果您已经设置了一个Preferred Vendor,或者如果使用多个 vendor 功能在那里配置了一个首选 vendor ,您仍然可以直接从 Item 记录中查找适当的 entity 字段。

在不为待售商品的库存和非库存编写脚本的情况下,实现此脚本似乎正在执行的操作的一种简单方法是使用 Drop Ship Item 复选框或 Special Order Item 这些项目记录上的复选框。为每个符合条件的项目选择任一将允许为您的销售订单的行项目自动创建采购订单。在 Netsuite 帮助中搜索 Special Order Items,了解有关差异以及如何设置的更多信息。

关于javascript - 我想在销售订单上点击 "approve"按钮后创建采购订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40542423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com