0

以下代码有助于将销售行导入发票:

        Dim LineItems(dtItem.Rows.Count) As taSopLineIvcInsert_ItemsTaSopLineIvcInsert
        Dim salesLine As New taSopLineIvcInsert_ItemsTaSopLineIvcInsert

        'Create Invoice Sales lines
        For Each dr In dtItem.Rows

            With salesLine
                .CUSTNMBR = dr.Item("acctno")
                .SOPNUMBE = invoiceNumber
                .SOPTYPE = 3
                .DOCID = "STD INV"
                .QUANTITY = dr.Item("Qty")
                .ITEMNMBR = dr.Item("Item")
                .ITEMDESC = dr.Item("Memo")
                .UNITPRCE = dr.Item("SalesPrice")
                .XTNDPRCE = dr.Item("Credit")
                .TAXAMNT = 0
                .UOFM = "Each" 
                .SALSTERR = "GENERAL"
                .ReqShipDate = dtHdr.Rows(0).Item("InvoiceDate").ToString()
                .FUFILDAT = dr.Item("Date1").ToString()
                .ACTLSHIP = dr.Item("Date1").ToString()
                '.NONINVEN = 0
                .DOCDATE = dtHdr.Rows(0).Item("InvoiceDate").ToString()
                .SLPRSNID = "C1" 
            End With

            LineItems(rowCtr) = salesLine
            rowCtr = rowCtr + 1
        Next

SLPRSNID 和 SALSTERR 的字段将被忽略。正在使用所有行项目创建发票本身。感谢任何有使用此 API 经验的人提出的任何想法!

4

1 回答 1

0

由于我们没有整合 SOP 佣金数据,因此不支持使用上述代码在订单项上导入 SLPRSNID 和 SALSTERR。但是,eConnect 确实公开了前置和后置存储过程以自定义业务逻辑。在 taSopHdrIvcInsertPost 中添加了以下内容以实现导入:

/ **自定义业务逻辑* /

if ((@I_vSLPRSNID <> '') and (@I_vSALSTERR <> '')) 开始更新 SOP10200 设置 SLPRSNID = @I_vSLPRSNID, SALSTERR = @I_vSALSTERR 其中 SOPNUMBE = @I_vSOPNUMBE 和 SOPTYPE = @I_vSOPTYPE 结束

/ **自定义业务逻辑* /

注意:使用此实现,必须将特定的 SLPRSNID 和 SALSTER 提供给行项目,它不会自动从标题数据或 GP 中的任何客户设置数据过帐 - 您的集成必须传递值。

于 2013-01-09T23:09:19.440 回答