0

对于我的生活,我似乎无法让它发挥作用。情况如下:我正在尝试将已经存在的客户自定义字段(已经有定义,但没有值)添加到我当前通过 QBSDK 12 创建的估计中。到目前为止,我可以添加估计,自定义字段到行项目,但不属于估算标题区域中属于客户的自定义字段(为客户信息保留)。

这是我尝试的标题代码(不起作用):

        If Not (DE.sconProof(x) Is Nothing) Or Not (DE.sconProof(x) = "") Then
      Dim DataExtModRq As IDataExtMod
     DataExtModRq = requestMsgSet.AppendDataExtModRq
             ' DataExtModRq.ORListTxn.TxnDataExt.TxnID.SetValue(sEstID)


      DataExtModRq.OwnerID.SetValue("0")
      DataExtModRq.DataExtName.SetValue("Proof Required")
      DataExtModRq.ORListTxn.TxnDataExt.TxnDataExtType.SetValue(ENTxnDataExtType.tdetEstimate)
      DataExtModRq.ORListTxn.ListDataExt.ListObjRef.FullName.SetValue(DE.sconCompany(x))
      DataExtModRq.DataExtValue.SetValue(DE.sconProof(x))
    End If

这是我在估算中的行项目的工作代码(有效):

          If Not DE.sitemDateNeeded(i) = "" Then
         Dim DataExt53 As IDataExt
         DataExt53 = EstimateLineAdder.EstimateLineAdd.DataExtList.Append()
         'Set field value for OwnerID
         DataExt53.OwnerID.SetValue("0")
         DataExt53.DataExtName.SetValue("In Hands By")
         'Set field value for DataExtValue
         DataExt53.DataExtValue.SetValue(DE.sitemDateNeeded(i))
      End If
      If Not DE.sitemSPC(i) = "" Then
         Dim DataExt54 As IDataExt
         DataExt54 = EstimateLineAdder.EstimateLineAdd.DataExtList.Append
         DataExt54.DataExtName.SetValue("SPC")
         DataExt54.DataExtValue.SetValue(DE.sitemSPC(i))
      End If

错误消息说我错过了 TxnID 但我没有修改估计,我正在创建一个新的。我也尝试过“IDataExt”,但这并没有更好的效果。如果我需要保存新创建的估计值,然后返回并添加 TxnID,那会很奇怪,而且我不确定有一种简单的方法可以做到这一点。我应该能够将数据添加到估计标题部分的自定义字段中,而无需经历太多“喧嚣”。如果你知道答案,请帮助我。

4

1 回答 1

0

我想到了...

    If Not (DE.sconProof(x) Is Nothing) Or Not (DE.sconProof(x) = "") Then
      Dim DataExtModRq As IDataExtMod
     DataExtModRq = requestMsgSet.AppendDataExtModRq

      DataExtModRq.DataExtName.SetValue("Proof Required")
      DataExtModRq.DataExtValue.SetValue(DE.sconProof(x))
      DataExtModRq.OwnerID.SetValue("0")
      'DataExtModRq.ORListTxn.TxnDataExt.TxnDataExtType.SetValue(ENTxnDataExtType.tdetEstimate)
      DataExtModRq.ORListTxn.ListDataExt.ListDataExtType.SetValue(ENListDataExtType.ldetCustomer)
      DataExtModRq.ORListTxn.ListDataExt.ListObjRef.FullName.SetValue(DE.sconCompany(x))
      'DataExtModRq.ORListTxn.TxnDataExt.TxnID.SetValue(sTxnID)


    End If
于 2013-08-03T14:22:14.627 回答