如何在服务单据行中操纵预扣税责任财产

2020-08-15 01:09发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

有人知道如何在应收发票服务单据的单据行中操纵预扣税责任属性吗? 在我的发票中,有几行服务项目,但只有一行要缴纳维特税。 因此,其他行的wt应当为No。

Document_Lines对象中的属性" WTLiable"不是读取属性,因为我使用的是已预扣税款的客户。 重量代码是XX50。

所以我想通过DI API为此字段设置一个值。

我正在使用以下代码,但失败了:

对于每个HeaderDetail作为DtHeader.Rows中的DataRow

 点心发票= TryCast(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices),SAPbobsCOM.Documents)
 invoice.CardCode =" C20000"
 invoice.DocDate = DateTime.Now
 invoice.NumAtCard = HeaderDetail.Item(" Reference")
 invoice.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service
 invoice.WithholdingTaxData.WTCode =" JS01"

 'foreach详细信息行

 sSQL ="选择"" ENTRYID"","" ROW"",""组"","" TYPE"","" DOC1"","" DOC2"","和_
 """ DOC3"",""详细信息",""金额"",
 "" UNIT""来自"" SCHEMA""。"" TABLE_SOURCE""其中"" ENTRYID"" ='"&HEADERDETAIL.ITEM("" ENTRYID"")&"'"&_
 "按"" ENTRYID"","" ROW"" asc排序
  dtDetail1 = GetHANA(sHANA,sConn)
  如果dtDetail1.Rows.Count <= 0那么
  DOCStart = False
  DETErrMsg =" $$$ Inf $$$"
 万一
 对于每个RowDetail1作为dtDetail1.Rows中的DataRow
 invoice.Lines.AccountCode =" 550000"
 invoice.Lines.UserFields.Fields.Item(" U_UDF1")。Value = RowDetail1.Item(" TYPE")
 invoice.Lines.UserFields.Fields.Item(" U_UDF2")。Value = RowDetail1.Item(" DOC1")
 invoice.UserFields.Fields.Item(" U_UDF3")。Value = RowDetail1.Item(" DOC3")
 invoice.NumAtCard = RowDetail1.Item(" DOC2")
 invoice.Lines.ItemDescription = RowDetail.Item(" GROUP")

 '对于不适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tNO
 '对于适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tYES
 invoice.Lines.Add()
 下一个

 invoice.WithholdingTaxData.Add()
 lRetCode = oAP.Add()
 

我不确定以下语法是否正确:

'对于不适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tNO
 '对于适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tYES 

请咨询。 非常感谢您的回答。 谢谢

Rgds

史蒂夫

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

有人知道如何在应收发票服务单据的单据行中操纵预扣税责任属性吗? 在我的发票中,有几行服务项目,但只有一行要缴纳维特税。 因此,其他行的wt应当为No。

Document_Lines对象中的属性" WTLiable"不是读取属性,因为我使用的是已预扣税款的客户。 重量代码是XX50。

所以我想通过DI API为此字段设置一个值。

我正在使用以下代码,但失败了:

对于每个HeaderDetail作为DtHeader.Rows中的DataRow

 点心发票= TryCast(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices),SAPbobsCOM.Documents)
 invoice.CardCode =" C20000"
 invoice.DocDate = DateTime.Now
 invoice.NumAtCard = HeaderDetail.Item(" Reference")
 invoice.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service
 invoice.WithholdingTaxData.WTCode =" JS01"

 'foreach详细信息行

 sSQL ="选择"" ENTRYID"","" ROW"",""组"","" TYPE"","" DOC1"","" DOC2"","和_
 """ DOC3"",""详细信息",""金额"",
 "" UNIT""来自"" SCHEMA""。"" TABLE_SOURCE""其中"" ENTRYID"" ='"&HEADERDETAIL.ITEM("" ENTRYID"")&"'"&_
 "按"" ENTRYID"","" ROW"" asc排序
  dtDetail1 = GetHANA(sHANA,sConn)
  如果dtDetail1.Rows.Count <= 0那么
  DOCStart = False
  DETErrMsg =" $$$ Inf $$$"
 万一
 对于每个RowDetail1作为dtDetail1.Rows中的DataRow
 invoice.Lines.AccountCode =" 550000"
 invoice.Lines.UserFields.Fields.Item(" U_UDF1")。Value = RowDetail1.Item(" TYPE")
 invoice.Lines.UserFields.Fields.Item(" U_UDF2")。Value = RowDetail1.Item(" DOC1")
 invoice.UserFields.Fields.Item(" U_UDF3")。Value = RowDetail1.Item(" DOC3")
 invoice.NumAtCard = RowDetail1.Item(" DOC2")
 invoice.Lines.ItemDescription = RowDetail.Item(" GROUP")

 '对于不适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tNO
 '对于适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tYES
 invoice.Lines.Add()
 下一个

 invoice.WithholdingTaxData.Add()
 lRetCode = oAP.Add()
 

我不确定以下语法是否正确:

'对于不适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tNO
 '对于适用的wt项目
 invoice.Lines.WTLiable = SAPbobsCOM.BoYesNoEnum.tYES 

请咨询。 非常感谢您的回答。 谢谢

Rgds

史蒂夫

付费偷看设置
发送
2条回答
代楠1984
1楼-- · 2020-08-15 01:50

有专家的帮助吗? 我问是因为SDK示例中没有此问题。 如果可用,我将不会在该社区寻求帮助。

SAP应该关注并且应该改进SDK示例。

Rgds

Steve

ZJXianG
2楼-- · 2020-08-15 01:34

您好 steve andre

< p>您是否可以使用SAP Business One客户端手动创建此类文档?

如果可以,请分享一些有关创建文档过程的屏幕截图,以便我看看。

< p> 亲切问候,

ANKIT CHAUHAN

SAP Business One支持

一周热门 更多>