0

我如何跟踪针对 Sage 300 ERP 2018 运行 VB.Net 程序时遇到的错误?我在下面的 oeDetail.Update() 命令中收到 System.Runtime.InteropServices.COMException 错误。我有一个会议并撰写了意见。我从 VBA 宏中复制了代码(它工作的地方)

    oeHeader.Fields.FieldByName("DRIVENBYUI").SetValue("0", False)    ' Driven by UI

    ' Search OE
    oeHeader.Init()
    oeHeader.Fields.FieldByName("ORDUNIQ").SetValue("1985", False)     ' Order Number
    oeHeader.Order = 1
    Dim res = oeHeader.Read(False)

    ' Update Detail
    oeDetail.Fields.FieldByName("LINENUM").SetValue("32", False)
    oeDetail.Read(False)
    ' Quantity Ordered
    oeDetail.Fields.FieldByName("QTYORDERED").SetValue("5.0000", False)    ' Quantity Ordered
    oeDetail.Update()

    oeHeader.Fields.FieldByName("OECOMMAND").SetValue("4", False)
    oeHeader.Process()
    oeHeader.Update()

谢谢

4

1 回答 1

0

把整个东西放在一个 try/catch 块中。然后在 catch 块中执行以下操作:

                        try
                        {
                            oESHIH.Fields.FieldByName("INVNUMBER").SetValue(sInvoiceNumber, true);
                        }
                        catch(Exception ex)
                        {
                            WriteLogFile.WriteLog("Error inserting invoice number: " + sInvoiceNumber + " for customer: " + sCustomerID);

                            for (int i = 0; i < accpacSession.Errors.Count; i++)
                            {
                                WriteLogFile.WriteLog("Sage error message: " + accpacSession.Errors[i].Message);
                            }
                        }

“accpacSession.Errors[i].Message”行是它选择内部 Sage 消息的地方。

于 2018-11-06T16:47:53.767 回答