设置付款确认

应用于: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2

本主题说明了如何帮助创建付款确认文件的安全文件夹,为付款确认文件设置出站端口,设置批处理作业以生成付款确认文件,为付款确认文件设置编号规则,将付款确认格式分配给银行帐户,以及为付款确认设置用户安全。

设置付款确认以生成提供给银行的支票电子列表。当支票提交给银行时,银行将支票与支票的列表进行对比。如果支票与列表中银行文件上的信息相匹配,银行将清算支票。如果存在差别,银行对支票有待审查。

备注

已更新本主题,可以包括 Microsoft Dynamics AX 2012 R2 的累积更新版本 6 或者累积更新版本 7 中添加或更改的功能的信息。此信息适用于 CU6、CU7 及更高版本的累积更新。此信息还适用于 AX 2012 R3。

下图显示了如何设置付款确认。这些编号对应于本主题后面部分的过程 。

积极付款设置流程

1创建付款确认文件的安全文件夹

付款确认文件可以包含有关收款人和支票金额的敏感信息。因此,请您务必自文件生成时便使用相应的安全措施,直到它们由银行接收。考虑以下安全威胁及消除方法。

威胁

消除方法

在未获授权的情况下访问文件夹和文件夹中的数据

当文件生成时限制访问保存有付款确认文件的文件夹。我们建议您为每个付款确认格式创建一个文件夹,然后使用访问控制列表 (ACL) 指定可以访问每个文件夹的域用户。有关详细信息,请参阅 http://msdn.microsoft.com/en-us/library/windows/desktop/aa374872.aspx

通过无保护的网络将数据发送到文件夹

使用安全网络。

将数据转移到银行

使用安全系统将付款确认文件转移到银行。有关详细信息,请与您的银行机构联系。

若要设置付款确认文件的文件夹,请执行以下步骤:

  1. 在“Windows”资源管理器中,打开要用来储存付款确认文件的文件夹,例如“D:\AX\PositivePay”或网络位置。

  2. 创建文件夹,例如“D:\AX\PositivePay\Out”。

  3. 在您于第 1 步中开始使用的文件夹中,创建另一个 XSL 转换文件的文件夹,例如“D:\AX\PositivePay\BankXSLT”。

  4. 对“D:\AX\PositivePay”文件夹授予“写入”权限访问“Microsoft Dynamics AX”应用程序对象服务器 (AOS) 服务帐户。不要授予任何其他人“写入”访问权限。

2设置付款确认文件的出站端口

通过使用服务创建付款确认文件。在您可以生成付款确认文件前,必须为付款确认服务设置出站端口。

备注

您不能更改 XSLT 文件位置或现有出站端口的出站文件夹。相反,您必须按照此过程的步骤创建新出站端口。

若要设置付款确认文件的出站端口,请执行以下步骤:

  1. 以系统管理员身份登录到“Microsoft Dynamics AX”。

  2. 单击 系统管理 >设置 >服务和应用集成框架 >付款确认服务 >付款确认的出站端口

  3. 在“支付形式”字段中,提供一个格式名称,例如“PayFormat01”。

  4. 在“XSLT”字段中,选择与您的银行所要求的格式匹配的 XSL 转换文件。您必须创建转换文件。例如,XSLT 文件的位置可以是“D:\AX\PositivePay\BankXSLT\ExampleXSLT.xsl”。

  5. 在“出站文件夹”字段中,选择在文件被转换后您要保存付款确认文件的位置。例如,该位置可以是“D:\AX\PositivePay\Out”。

    请确保生成付款的“Microsoft Dynamics AX”用户对此文件夹有“写入”权限。

  6. 单击创建端口。一条消息指出已成功部署该端口。

Dn269119.collapse_all(zh-cn,AX.60).gif示例:付款确认文件的 XSLT 文件

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl s0 s1 xslthelper" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xslthelper="http://schemas.microsoft.com/BizTalk/2003/xslthelper" xmlns:s0="http://schemas.microsoft.com/dynamics/2008/01/sharedtypes" xmlns:s1="http://schemas.microsoft.com/dynamics/2008/01/documents/BankPositivePay" > <xsl:template match="/"> <xsl:apply-templates select="//s1:BankPositivePay"></xsl:apply-templates> </xsl:template> <xsl:template match="//s1:BankPositivePay"> <Document> <xsl:value-of select="'&#13;&#10;'" /> <xsl:for-each select="s1:BankAccountTable"> <xsl:if test="count(child::s1:BankChequeTable) >0"> <!--Header Begin--> <xsl:value-of select='string("Vendor ID,Vendor Name,Voided,Document Type,Check Date,Check Number,Check Amount,Checkbook ID,Vendor Class ID,Posted Date")'/> <xsl:value-of select="'&#13;&#10;'" /> <!--Header End--> <!--Cheque Detail begin--> <xsl:for-each select="s1:BankChequeTable"> <xsl:value-of select='s1:RecipientAccountNum/text()'/> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='s1:BankNegInstRecipientName/text()'/> <xsl:value-of select="'&#44;'" /> <xsl:choose> <xsl:when test='s1:ChequeStatus/text()=normalize-space("Void") or s1:ChequeStatus/text()=normalize-space("Rejected") or s1:ChequeStatus/text()=normalize-space("Cancelled")'> <xsl:value-of select='string("Yes")'/> </xsl:when> <xsl:when test='s1:ChequeStatus/text()=normalize-space("Payment")'> <xsl:value-of select='string("No")'/> </xsl:when> <xsl:otherwise> <xsl:value-of select='string(" ")'/> </xsl:otherwise> </xsl:choose> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='string("Payment")'/> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='s1:TransDate/text()'/> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='s1:ChequeNum/text()'/> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='s1:AmountCur/text()'/> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='string("BOA-#1812")'/> <xsl:value-of select="'&#44;'" /> <xsl:choose> <xsl:when test='s1:RecipientType/text()=normalize-space("Vend")'> <xsl:for-each select="s1:VendTable"> <xsl:value-of select='s1:VendGroup/text()'/> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:for-each select="s1:CustTable"> <xsl:value-of select='s1:CustGroup/text()'/> </xsl:for-each> </xsl:otherwise> </xsl:choose> <xsl:value-of select="'&#44;'" /> <xsl:value-of select='s1:TransDate/text()'/> <xsl:value-of select="'&#13;&#10;'" /> </xsl:for-each> </xsl:if> </xsl:for-each> </Document> </xsl:template> <msxsl:script language="C#" implements-prefix="xslthelper"> <![CDATA[ public string PadLeft(string value,int length,string paddingchar) { if(paddingchar!=String.Empty) { return value.PadLeft(length,(paddingchar.ToCharArray())[0]); } else { return value.PadLeft(length); } } public string FormatDate(string date) { DateTime dateTime=DateTime.Parse(date); if(dateTime!=null) { return dateTime.ToString("MMddyyyy"); } else { return String.Empty; } } public int ConvertToInt(string s) { Double f=Convert.ToDouble(s); return (int)f; } ]]> </msxsl:script> </xsl:stylesheet>

3设置批处理作业以生成付款确认文件

设置批处理作业可以自动处理由付款确认服务创建的文件。批处理作业还必须运行该文件的转换,使其与您的银行所需要的格式匹配。批处理作业定期运行。有关详细信息,请参阅Create a batch job

  1. 以管理员身份登录到“Microsoft Dynamics AX”。

  2. 切换到用户将生成付款确认文件的法人。

  3. 单击 系统管理 >查询 >批处理作业 >批处理作业

  4. 按 Ctrl+N 创建批处理作业。

  5. 在“作业描述”字段中,输入描述。例如,您可以输入“生成付款确认文件”。

  6. 保存该批处理作业。

  7. 单击查看任务

  8. 创建以下任务:

    任务描述

    公司帐户

    类名称

    1

    选择用户将生成付款确认文件的法人。

    AIFGatewaySendService

    2

    选择用户将生成付款确认文件的法人。

    AIFOutboundProcessingService

  9. 关闭“批处理任务”窗体。

  10. 在“批处理作业”窗体中,选择您在步骤 4 和 5 中创建的批次,然后单击“重复执行”。

  11. 在“重复执行模式”字段组中,选择“分钟”。在“计数”字段中,输入分钟数。例如,您可以输入“1”以每隔一分钟处理一次付款文件。

  12. 单击“确定”以关闭“重复执行”窗体。

  13. 在“批处理作业”窗体中,选择您在步骤 4 和 5 中创建的批次,然后单击“功能 > 更改状态”。

  14. 选择“等待”。

4设置付款确认文件的编号规则

每个付款确认文件必须具有唯一编号。使用“编号规则”窗体创建付款确认文件的编号规则。

若要设置付款确认文件的编号规则,请执行以下步骤:

  1. 打开“Microsoft Dynamics AX”工作区域并切换到要为其设置付款确认文件的法人。

  2. 单击 组织管理 >常用 >编号规则 >编号规则

  3. 创建一个编号规则用于付款确认。有关如何创建编号规则的信息,请参阅 设置编号规则

  4. 单击 现金和银行管理 >设置 >现金和银行管理参数

  5. 单击“编号规则”区域。

  6. 对于“付款确认编号”引用,选择编号规则。

5将付款确认格式分配到银行帐户

对于您想要生成付款确认信息的每个银行帐户,您必须分配在前一过程中指定的付款确认格式。

若要将付款确认格式分配给银行帐户,请执行以下步骤:

  1. 单击 现金和银行管理 >常用 >银行帐户

  2. 双击银行帐户。

  3. 在“操作窗格”上,单击“编辑”。

  4. 在“常规”快速选项卡上的“付款确认格式”字段中,选择以前针对此银行创建的付款确认格式。

  5. 在“付款确认开始日期”字段中,输入第一个日期以生成付款确认文件。此处输入日期十分重要,因为没有该日期,您生成的第一个付款确认文件将包括针对此银行帐户创建的所有支票。

  6. 对于其余的银行帐户重复步骤 2 至步骤 5 以生成付款确认文件。

6设置付款确认的用户安全

付款确认文件可以包含有关收款人和支票金额的敏感信息。重要的是,仅授权用户才有权生成和查看在“Microsoft Dynamics AX”中的的此信息。

若要设置付款确认的用户安全,请执行以下步骤:

  1. 标识执行付款确认文件相关任务的用户以及这些任务所需要的特权。使用以下表格可以帮助您确定:

    任务

    特权

    从“银行帐户”列表页或“银行帐户”窗体中生成付款确认文件

    维护银行付款确认信息 (BankPositivePayProcess)

    银行付款确认服务查找操作 (BankPositivePayServiceFind)

    从“生成付款确认文件”窗体中生成多个法人和银行帐户的付款确认文件

    维护银行付款确认信息 (BankPositivePayProcess)

    银行付款确认服务查找操作 (BankPositivePayServiceFind)

    在“付款确认文件摘要”窗体中查看付款确认文件

    查看多个法人的银行付款确认信息 (BankPositivePayView)

    在“付款确认文件摘要”窗体中确认银行付款确认文件

    确认付款确认文件 (BankPositivePayConfirm)

    在“付款确认文件摘要”窗体中撤回银行付款确认文件

    撤回付款确认文件 (BankPositivePayRecall)

    生成工资银行帐户的付款确认文件

    维护工资付款确认信息(工资付款确认过程)

    在“工资付款确认文件摘要”窗体中查看工资付款确认文件

    查看工资付款确认信息(工资付款确认视图)

    维护工资付款确认信息(工资付款确认过程)

    工资付款确认文件摘要 窗体中确认工资银行付款确认文件

    维护工资付款确认信息(工资付款确认过程)

    工资付款确认文件摘要 窗体中撤回工资付款确认文件

    维护工资付款确认信息(工资付款确认过程)

  2. 将用户分配到包含上一步中指定权限的角色。有关详细信息,请参阅Set up user security。

相关任务

创建和打印供应商支票

Issue worker payments

生成用于多个法人和银行帐户的付款确认文件

为冲销和取消设置审核流程

无效的未过帐支票

系统管理员技术信息

如果您无权访问用于完成此任务的页面,请联系系统管理员,并提供下表中显示的信息。

类别

先决条件

Configuration Key

该任务不需要设置配置键。

安全角色和特权

若要执行此任务,您必须是 - SYSADMIN- 安全角色的成员。

若要将付款确认格式分配给银行帐户,您必须是包括以下职责的安全角色成员:

  • 维护主银行帐户 (BankBankAccountsMaintain)

若要设置付款确认的编号规则,您必须是包括以下特权和职责的安全角色成员:

  • 维护银行参数 (BankParametersMaintain)

  • 查询转换设置和会话 (RTSLTranslationInquire)