QuickBooks错误消息:预计会有行/货架,但已选择库存站点

问题描述 投票:1回答:1

我使用QuickBooks SDK版本12连接到QuickBooks Enterprise 2013.我正在尝试使用下面的xml请求通过api添加项目收据。

我打开了详细日志记录并捕获了此错误:

无法在事务订单项中设置未分配的RSB。 QuickBooks错误消息:预计会有行/货架,但已选择库存站点。来源:。\ src \ ItemReceiptStorage.cpp line#591 HRESULT = 0x80043973

QuickBooks用户已启用高级清单,但随后禁用了它。据我所知,QuickBooks保留了所有高级库存数据,但隐藏了用户的数据。似乎QuickBooks API假设高级库存仍在使用中,并且正在尝试设置不再适用的字段。有什么办法可以强制API实现不再使用高级库存吗?

提前致谢,

标记

XML请求:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<ItemReceiptAddRq requestID="0">
<ItemReceiptAdd>
<VendorRef>
<FullName>Nodac Tech</FullName>
</VendorRef>
<APAccountRef>
<FullName>Accounts Payable</FullName>
</APAccountRef>
<TxnDate>2013-10-11</TxnDate>
<RefNumber>1742</RefNumber>
<Memo>PO #1742, Packing Slip: 1742</Memo>
<ItemLineAdd>
<ItemRef>
<FullName>OCB-PS-18DC-30</FullName>
</ItemRef>
<Desc>Power Supply 18 CH 12 DC, 30 AMP</Desc>
<Quantity>1.00</Quantity>
<Amount>67.00</Amount>
<ClassRef>
<FullName>Phone</FullName>
</ClassRef>
</ItemLineAdd>
</ItemReceiptAdd>
</ItemReceiptAddRq>
</QBXMLMsgsRq>
</QBXML>
api sdk quickbooks intuit-partner-platform qbxml
1个回答
1
投票

如果有人因为这个错误来到这里,但与OP不同,你指定了一个箱子或位置 - 这可能有所帮助。

您需要使用InventorySiteRef指定位置,然后使用InventorySiteLocationRef指定bin。当你指定bin时 - 你似乎需要指定位置和bin(至少使用fullname),因为它们会出现在快速书籍中。

使用QBFC它看起来像这样(C#):

        IInventoryAdjustmentLineAdd InventoryAdjustmentLineAdd1 = adj.InventoryAdjustmentLineAddList.Append();

        adj.InventorySiteRef.FullName.SetValue(location);
        InventoryAdjustmentLineAdd1.ORTypeAdjustment.QuantityAdjustment.InventorySiteLocationRef.FullName.SetValue($"{location}:{bin}");

“location”是指定位置的局部变量,“bin”是指定bin的局部变量。根据您的工作情况,还有一些其他必需值。这只是通过将bin值设置为location:bin来说明我如何能够修复本文中所述的错误。

希望这有助于某人。

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