2010-08-12 67 views
2

天兒真好,插入發票交易與動態AX/Axapta的業務接口

好了,我現在已經改寫了這個問題完全:

我試圖通過使用業務連接器將數據導入動態(理想情況下,我會直接通過SQL導入它,但我明白這不是一個好主意 - 但我接受其他建議)。這是將生產系統的發票導入Dynamics/Axapta(v5)。

我可以編碼插入數據到CUSTINVOICETABLE表,它工作正常並生成RECID。但是,剛插入的新發票存在沒有發票ID(直到他們張貼我明白)。但是,我需要將行項目作爲上述條目的子項插入到CUSTINVOICETRANS表中。爲此,您需要設置INVOICEID字段以將上述內容作爲父項的鏈接。但是,這在發票發佈之前不可能出現。或者我可能會偏離軌道?

有沒有人有任何想法或可以爲我擺脫任何光?這將非常感激。

問候, 史蒂夫

+1

您確定您必須在表格中插入'CustInvoiceLine'而不是'CustInvoiceTrans'嗎? 「CustInvoiceLine」表僅用於「自由文本發票」。 – 2010-08-12 08:41:46

+0

嗨Jan B,對我來說這是試錯。我檢查了這一點,並且想知道如何將其與CUSTINVOICETABLE鏈接 - 因爲這似乎使用INVOICEID作爲父鍵,但是在那一點上,我沒有發票號碼的值。有任何想法嗎?謝謝! – MrCraze 2010-08-12 08:44:11

+0

「CustInvoiceJour」和「CustInvoiceTrans」表用於發票,該發票已通過發佈。由於您似乎沒有發票號碼,情況並非如此。你能否在更高的層面上描述你想要做的事情?這是銷售訂單嗎?它是否被張貼或沒有?描述你的領域。這些線是否有物品編號?這些行是否具有分類帳帳戶信息? – 2010-08-12 14:03:25

回答

1

要發佈一個「普通發票」簡單地調用custPostInvoiceJob.run()方法。 您必須首先創建對象,然後使用新創建的CustInvoiceTable記錄調用方法。

在X ++:

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

你必須翻譯成業務連接器在您的首選語言調用。

+0

嗨,1月, 只是想知道'updateQueryBuild'部分是什麼 - 這是我有點遺漏。 – MrCraze 2010-08-16 23:20:39

+0

查看代碼! 它更新其查詢以僅選擇您的'custInvoiceTable'。 – 2010-08-17 15:58:25

0

好吧,它實際上容易,因爲它應該是。

插入語句後,只需使用get_Field電話:

axRecord.Insert(); recID =(long)axRecord.get_Field(「RECID」);

您在CUSTINVOICELINE表(使用PARENTRECID)中插入行項目,然後在發佈後將項目插入鏈接到相應發票編號的CUSTINVOICETRANS表中。

我希望這可以節省一些人不必自行解決這個問題。

史蒂夫