验证从暂存中集成到理货中的代金券 table
Verify vouchers integrated into tally from staging table
如果我在 SQL 服务器数据库分段 table 中有 5 张优惠券,并且我使用 tally XML API.
导入了所有 5 张优惠券。
如何仅使用凭证编号验证和交叉检查理货和 SQL 之间的凭证?
我是否必须从理货中读取整个凭证摘要,然后从 XML 数据中提取凭证编号?提取凭证编号后,我可以将其与分期进行比较 table。
如何在理货报告中只导出凭证编号或一个特定字段?
你知道导入Tally后的凭证号吗?根据对此的回答,我会更新我的回答。
案例 1: 如果您知道优惠券编号,您可以使用 Tally XML 请求特定的优惠券编号,如果您得到肯定的答复,那么该凭证存在于理货中。无需阅读优惠券摘要。您只需要在 XML 响应中查找特定元素标签 - 如果该元素存在 = 凭证存在。
案例2:但我假设您不知道在导入过程中创建的凭证号。在这种情况下。这会有点棘手。让我知道,我会用我有的任何解决方案进行更新。
--更新--
经过讨论(见评论),我正在根据案例 1 更新答案。
XML 请求结构 -
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>EXPORT</TALLYREQUEST>
<TYPE>COLLECTION</TYPE>
<ID>FindParticularVoucher</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
<SVCURRENTCOMPANY>FOO COMPANY</SVCURRENTCOMPANY>
<VCHNO>ABC1234</VCHNO>
</STATICVARIABLES>
<TDL>
<TDLMESSAGE>
<COLLECTION NAME="FindParticularVoucher" ISINITIALIZE="YES">
<TYPE>Voucher</TYPE>
<FILTER>GetInvoiceVoucher</FILTER>
</COLLECTION>
<VARIABLE NAME="VCHNO">
<TYPE>String</TYPE>
</VARIABLE>
<SYSTEM TYPE="FORMULAE" NAME="GetInvoiceVoucher">$VoucherNumber = $$String:##VCHNO</SYSTEM>
</TDLMESSAGE>
</TDL>
</DESC>
</BODY>
</ENVELOPE>
记得在 SVCURRENTCOMPANY 和 VCHNO Xml 标签中更改公司名称和凭证编号。
您可能会收到复杂的 XML 响应。您需要做的就是在集合节点 - Envelope/Body/Data/Collection/Voucher 中查找名为 Voucher 的 XML 节点。如果此 VoucherNode 存在 = 您的凭证存在于理货中。在这种情况下,您不需要导出任何数据或凭证编号。
当您在 Tally 中使用 XML 创建代金券时,您会在成功创建时收到 XML 响应。该响应有一个标签,其中包括您提供的优惠券编号和一个 LASTVCHID。这就像理货中的主 ID。然后,只需请求该主 ID 并检查响应就更容易了。如果找不到该主 ID,它会报错(最重要的是,错误只是一行 XML 响应,因此不需要解析)。
查看此 Whosebug link 了解更多详情 -
如果我在 SQL 服务器数据库分段 table 中有 5 张优惠券,并且我使用 tally XML API.
导入了所有 5 张优惠券。如何仅使用凭证编号验证和交叉检查理货和 SQL 之间的凭证?
我是否必须从理货中读取整个凭证摘要,然后从 XML 数据中提取凭证编号?提取凭证编号后,我可以将其与分期进行比较 table。
如何在理货报告中只导出凭证编号或一个特定字段?
你知道导入Tally后的凭证号吗?根据对此的回答,我会更新我的回答。
案例 1: 如果您知道优惠券编号,您可以使用 Tally XML 请求特定的优惠券编号,如果您得到肯定的答复,那么该凭证存在于理货中。无需阅读优惠券摘要。您只需要在 XML 响应中查找特定元素标签 - 如果该元素存在 = 凭证存在。
案例2:但我假设您不知道在导入过程中创建的凭证号。在这种情况下。这会有点棘手。让我知道,我会用我有的任何解决方案进行更新。
--更新--
经过讨论(见评论),我正在根据案例 1 更新答案。 XML 请求结构 -
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>EXPORT</TALLYREQUEST>
<TYPE>COLLECTION</TYPE>
<ID>FindParticularVoucher</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
<SVCURRENTCOMPANY>FOO COMPANY</SVCURRENTCOMPANY>
<VCHNO>ABC1234</VCHNO>
</STATICVARIABLES>
<TDL>
<TDLMESSAGE>
<COLLECTION NAME="FindParticularVoucher" ISINITIALIZE="YES">
<TYPE>Voucher</TYPE>
<FILTER>GetInvoiceVoucher</FILTER>
</COLLECTION>
<VARIABLE NAME="VCHNO">
<TYPE>String</TYPE>
</VARIABLE>
<SYSTEM TYPE="FORMULAE" NAME="GetInvoiceVoucher">$VoucherNumber = $$String:##VCHNO</SYSTEM>
</TDLMESSAGE>
</TDL>
</DESC>
</BODY>
</ENVELOPE>
记得在 SVCURRENTCOMPANY 和 VCHNO Xml 标签中更改公司名称和凭证编号。
您可能会收到复杂的 XML 响应。您需要做的就是在集合节点 - Envelope/Body/Data/Collection/Voucher 中查找名为 Voucher 的 XML 节点。如果此 VoucherNode 存在 = 您的凭证存在于理货中。在这种情况下,您不需要导出任何数据或凭证编号。
当您在 Tally 中使用 XML 创建代金券时,您会在成功创建时收到 XML 响应。该响应有一个标签,其中包括您提供的优惠券编号和一个 LASTVCHID。这就像理货中的主 ID。然后,只需请求该主 ID 并检查响应就更容易了。如果找不到该主 ID,它会报错(最重要的是,错误只是一行 XML 响应,因此不需要解析)。
查看此 Whosebug link 了解更多详情 -