尝试在 item_fulfillment 上删除线条时出错
Error when trying to removeLine on item_fulfillment
我正在尝试将销售订单转换为项目履行并删除一些项目行,但出现以下错误:
name : SSS_INVALID_SUBLIST_OPERATION
message: You have attempted an invalid sublist or line item operation.
You are either trying to access a field on a non-existent line
or you are trying to add or remove lines from a static sublist
我的代码:
// Transform the record
var objRecord = record.transform({
fromType: record.Type.SALES_ORDER,
fromId: soid,
toType: record.Type.ITEM_FULFILLMENT,
isDynamic: true,
});
// Remove second location
var linecount = objRecord.getLineCount({sublistId: 'item'});
for (var i = 0; i < linecount; i++) {
objRecord.selectLine({sublistId: "item",line: i});
var locationid = objRecord.getCurrentSublistValue({sublistId: 'item',fieldId: 'location'});
if (locationid != 15)
objRecord.removeLine({sublistId: 'item',line: i});
}
销售订单中有 10 行。只有 1 分配了一些数量并准备好履行,也许当我尝试删除它时导致错误?但似乎错误来自其他原因。
我尝试设置:isDynamic: false
(同样的错误)
从列表底部开始删除。
每次成功删除后,linecount
的值都会发生变化。最终,i
将得到一个不再存在的值。
问题不是因为行的索引,而是因为对记录的操作。在项目履行中,函数 objRecord.removeLine 不可用。
要从履行项目中删除行,我们必须使用:
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
value : false
})
我正在尝试将销售订单转换为项目履行并删除一些项目行,但出现以下错误:
name : SSS_INVALID_SUBLIST_OPERATION
message: You have attempted an invalid sublist or line item operation. You are either trying to access a field on a non-existent line or you are trying to add or remove lines from a static sublist
我的代码:
// Transform the record
var objRecord = record.transform({
fromType: record.Type.SALES_ORDER,
fromId: soid,
toType: record.Type.ITEM_FULFILLMENT,
isDynamic: true,
});
// Remove second location
var linecount = objRecord.getLineCount({sublistId: 'item'});
for (var i = 0; i < linecount; i++) {
objRecord.selectLine({sublistId: "item",line: i});
var locationid = objRecord.getCurrentSublistValue({sublistId: 'item',fieldId: 'location'});
if (locationid != 15)
objRecord.removeLine({sublistId: 'item',line: i});
}
销售订单中有 10 行。只有 1 分配了一些数量并准备好履行,也许当我尝试删除它时导致错误?但似乎错误来自其他原因。
我尝试设置:isDynamic: false
(同样的错误)
从列表底部开始删除。
每次成功删除后,linecount
的值都会发生变化。最终,i
将得到一个不再存在的值。
问题不是因为行的索引,而是因为对记录的操作。在项目履行中,函数 objRecord.removeLine 不可用。 要从履行项目中删除行,我们必须使用:
objRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
value : false
})