代码之家  ›  专栏  ›  技术社区  ›  Ash King

获取最新凭证号DynamicsGPClient

  •  0
  • Ash King  · 技术社区  · 8 年前

    是否可以通过DynamicsGPClient获取应付交易的下一个凭证号?

    我可以查找,但此凭单结果有几条记录已过时。

        Dim PayablesInvoiceCriteria As New PayablesInvoiceCriteria() With {.Date = New BetweenRestrictionOfNullableOfdateTime() With {.GreaterThan = Date.now}}
        Dim InvoiceSummaries As PayablesInvoiceSummary() = wsDynamicsGP.GetPayablesInvoiceList(PayablesInvoiceCriteria, context)
        Dim Last = InvoiceSummaries(InvoiceSummaries.Length - 1).Key.Id
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Jacob H    8 年前

    有关GP中事务的密钥生成工作原理的一些信息。这些键保存在PM00400表中,它们是在用户启动事务时创建/生成的。当用户保存记录时,它们在密钥表中成为“永久性的”。因此,您看到的行为可能与该过程有关。

    我不确定如果没有EconConnect是否可以做到这一点。因此,我的建议是,作为一种解决方法,可以使用eConnect名称空间。

    https://msdn.microsoft.com/en-us/library/ff623620.aspx

    Microsoft.Dynamics.GP.eConnect.GetNextDocNumbers
    

    语法

    public virtual string GetPMNextVoucherNumber(
        GetNextDocNumbers.IncrementDecrement incDec,
        string connString
    )
    

    实例

    Dim connString as String = string.Empty
    Dim sqlserver as String = "localhost"
    Dim database as String = "TWO"
    
    connString = "data source=" + sqlserver + ";" + "initial catalog=" + database + ";" + "Integrated Security=SSPI;"
    
    Dim NextDocNumber as New String
    Dim getNextDocNumbers = new Microsoft.Dynamics.GP.eConnect.GetNextDocNumbers()
    NextDocNumber = getNextDocNumbers.GetPMNextVoucherNumber(Microsoft.Dynamics.GP.eConnect.IncrementDecrement.Increment, connString)
    

    可在此处找到其他示例:

    https://carldesouza.com/get-next-document-number-econnect/

    推荐文章