C# Quickbooks 桌面集成问题

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

我们使用 QB .NET SDK 来集成到 QB Desktop。我们多年来一直这样做并取得了很大的成功,但是当我们现在尝试使用序列号进行 ItemReceipt 交易时遇到了问题(我们之前没有使用 QB 进行过序列号)。我们收到:

2022/11/07 09:38:39>!QuickBooks 在解析提供的 XML 文本流时发现错误。 在 Interop.QBFC13.QBSessionManagerClass.DoRequests(IMsgSetRequest 请求) 在 DCCQBFuncs.DCCQB.send_message_to_qb() 在 DCCQB.cs 中:第 413 行 QBXMLRP2.RequestProcessor.2

这就是我们得到的全部,我们不确定如何解决这个问题,因为它看起来不像我们可以访问 SDK 中的 XML 文本流???

请注意……当我们取出序列号时……一切正常,是的,这是 QB Enterprise(唯一允许序列号的版本)并且启用了序列化。

订单项代码:

                //SCROLL THROUGH ALL ITEMS
            for (c = 0; c < part_numbers.Length; c++)
            {
                //CREATE A NEW LINE ITEM
                IORItemLineAdd lineitem = itemReceiptAddrq.ORItemLineAddList.Append();
                
                //SET ITEM CODE
                lineitem.ItemLineAdd.ItemRef.FullName.SetValue(part_numbers[c]);

                //IF WE HAVE SERIAL NUMBERS IN DATA THEN ADD HERE
                if (serial_numbers != null && serial_numbers.Length == part_numbers.Length)
                {
                    lineitem.ItemLineAdd.ORSerialLotNumber.SerialNumber.SetValue(serial_numbers[c]);
                }
                
                //ADD QUANTITY (REQUIRED)
                lineitem.ItemLineAdd.Quantity.SetValue(Double.Parse(quantities[c]));
            }

提前致谢

马歇尔

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="6.0"?>
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<ItemReceiptAddRq requestID = "0">
<ItemReceiptAdd>
<VendorRef>
<FullName>GPCTX</FullName>
</VendorRef>
<TxnDate>2022-11-08</TxnDate>
<RefNumber>NA</RefNumber>
<Memo>Receive from DCC IdyllicWMS Mobile Scanner</Memo>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004441</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004442</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004443</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004444</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004445</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004446</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004447</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004448</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004449</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004450</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004451</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004452</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004453</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004454</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004455</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004456</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004457</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004458</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004459</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004460</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004461</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004462</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004463</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004464</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004465</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004466</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004467</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004468</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004469</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004470</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004471</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004472</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004473</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004474</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004475</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004476</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004477</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004478</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004479</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004480</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004481</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004482</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004483</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004484</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004485</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004486</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004487</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004488</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004489</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
<ItemLineAdd>
<ItemRef>
<FullName>GPSB100</FullName>
</ItemRef>
<SerialNumber>0004490</SerialNumber>
<Quantity>1</Quantity>
</ItemLineAdd>
</ItemReceiptAdd>
</ItemReceiptAddRq>
</QBXMLMsgsRq>
</QBXML>

上面是QB msgreq对象toXML()

再次感谢

c# .net desktop quickbooks
1个回答
0
投票

就此与 Intuit 交谈,我们使用错误版本的 QBXML 来利用序列化(高级库存)。我们需要从 QMXML13 转移到 QBXML16。

所以在你的代码中从顶行切换到底部:

//IMsgSetRequest imsr = qbs.CreateMsgSetRequest("US", 13, 0);

IMsgSetRequest imsr = qbs.CreateMsgSetRequest("US", 16, 0);
© www.soinside.com 2019 - 2024. All rights reserved.