2

天,

好的,我现在完全重写了这个问题:

我正在尝试通过使用 Business Connector 将数据导入 Dynamics(理想情况下,我将直接通过 SQL 将其导入,但我知道这不是一个好主意 - 但我愿意接受其他建议)。这是将发票从生产系统导入 Dynamics / Axapta (v5)。

我可以编写代码将数据插入到 CUSTINVOICETABLE 表中,该表工作正常并生成 RECID。但是,刚刚插入的新发票没有发票 ID 存在(直到它们被发布我理解)。但是,我需要将行项目作为上述条目的子项插入 CUSTINVOICETRANS 表中。为此,您需要设置 INVOICEID 字段以将上述内容作为指向父级的链接。但是,在过帐发票之前,这似乎是不可能的。或者我可能偏离了轨道?

有没有人有任何想法或可以为我提供任何启示?那将不胜感激。

问候,史蒂夫

4

2 回答 2

1

要发布“普通发票”,只需调用custPostInvoiceJob.run()方法。您必须先创建对象,然后使用新创建的CustInvoiceTable记录调用方法。

在 X++ 中:

custPostInvoiceJob = new CustPostInvoiceJob();
custPostInvoiceJob.updateQueryBuild(custInvoiceTable);
custPostInvoiceJob.run();

您必须将其翻译成您首选语言的 Business Connector 呼叫。

于 2010-08-13T14:36:05.177 回答
0

好的,这实际上很简单。

在插入语句之后,只需使用 get_Field 调用:

axRecord.Insert(); recID = (long)axRecord.get_Field("RECID");

您在 CUSTINVOICELINE 表(使用 PARENTRECID)中插入行项目,然后在过帐时将项目插入到链接到相应发票编号的 CUSTINVOICETRANS 表中。

我希望这可以使某人不必自己解决这个问题。

史蒂夫

于 2010-08-12T08:42:51.893 回答