任何建议都是非常感谢的!
销售订单可以有50-100条线.每个这样都会有多个项目的实现。当我们通过SuiteTalk创建IF时,我们不知道哪些行已经完成,哪些行部分完成了。
创建soap时,我将重写项目列表。
如果销售订单上只有两个项目,并且所有行都已完成,则代码可以正常工作。
当另一个过程在销售订单上添加/删除了项目,从而导致5行订单具有soLines (如1、45、245、300和301 )时,就会出现麻烦。如果我想完成第245行,我将收到VALID_LINE_ITEM_REQD。
有人会对需要初始化的内容提出建议吗?
提前谢谢你,
帐单
下面是一个示例请求/响应。
请求
<record xmlns:q1="urn:sales_2020_1.transactions.webservices.netsuite.com" xsi:type="q1:ItemFulfillment" externalId="mrk-so-2446425">
<q1:createdFrom internalId="2446425"/>
<q1:shippedDate>2020-12-25T06:00:00Z</q1:shippedDate>
<q1:shipStatus>_shipped</q1:shipStatus>
<q1:tranDate>2020-12-25T06:00:00Z</q1:tranDate>
<q1:generateIntegratedShipperLabel>false</q1:generateIntegratedShipperLabel>
<q1:itemList>
<q1:item>
<q1:location internalId="308"/>
<q1:quantity>1</q1:quantity>
<q1:item internalId="82198"/>
<q1:orderLine>101</q1:orderLine>
</q1:item>
</q1:itemList>
</record>响应
<writeResponse>
<platformCore:status xmlns:platformCore="urn:core_2020_1.platform.webservices.netsuite.com" isSuccess="false">
<platformCore:statusDetail type="ERROR">
<platformCore:code>VALID_LINE_ITEM_REQD</platformCore:code>
<platformCore:message>You must have at least one valid line item for this transaction.</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
<baseRef xmlns:platformCore="urn:core_2020_1.platform.webservices.netsuite.com" type="itemFulfillment" xsi:type="platformCore:RecordRef" externalId="mrk-so-2446425"/>
</writeResponse>发布于 2021-03-11 19:17:44
您是否以初始化调用开始项目实现?
ItemFulfillmentItem有一个字段“orderLine”。这与SalesOrderItem 'line‘字段匹配。
如果您真正想要实现的内容可以从SO信息中计算出来,那么我只需通过实现行进行反向循环,使用orderLine值键入SalesOrder,并删除不应该出现在实现过程中的任何实现行。
发布于 2021-03-02 21:33:43
此事务至少必须有一个有效的行项。
这有很多原因:
backordered)
行都关闭了
)。
在完成第一次实现之后,检查您的SO (部分实现)并验证您的还押行。
当你把你的所以变成满足之后
var itemFulfillMent = record.transform( {
fromType: context.createdfrom.recordType,
fromId: context.createdfrom.id,
toType: 'itemfulfillment',
isDynamic: true,
} );用(行、项)制作数组
var itemsPosition = {};
for ( var i = 0; i < itemFulfillMent.getLineCount( 'item' ); i ++ ) {
itemsPosition[ itemFulfillMent.getSublistValue( 'item', 'item', i ) ] = i;
}在itemsPosition中,您现在将知道项目的行。
https://stackoverflow.com/questions/66405651
复制相似问题