Introdution

此更新是二进制组合更新法国零售本地化功能使 Microsoft Dynamics AX 2012 R3 的一部分。与该组合更新 Microsoft Dynamics AX 2012 R3 的零售是每 NF 525 认证要求认证。请参阅 KB 4058329 更新的应用程序部分。

本文提供了包括法国零售点销售 (POS) 用于存储位于法国,以及零售的本地化解决方案的组件概述配置 Microsoft Dynamics AX 2012 R3 所需步骤的概述在零售业 SDK。

有关 Microsoft Dynamics AX 2012 R3,零售本地化法国以及所需的本地化安装步骤的详细信息,请参阅KB 4058329

法国配置 POS

下面各节介绍了配置销售终端 (POS) 法国需要此过程。

配置企业 POS 法国

要启用数字签名以企业 POS 销售交易记录,您需要安装证书并将所需的设置添加到应用程序配置文件 POS.exe.config:

  1. 企业 POS 机上的本地证书存储中安装有效的数字证书。

  1. 将以下代码复制到 POS.exe.config 文件的configSections部分:

<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

<section name="Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

<section name="Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />

</sectionGroup>  

  1. 复制下面的代码为POS.exe.config 文件的applicationSettings节:

<Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>

< 设置名称=""FiscalRegisterAssembly_FRserializeAs="字符串">

<value>DigitalSignatureFiscalRegister.dll</value>

</setting>

< 设置名称=""FiscalRegisterClass_FRserializeAs="字符串">

<value>Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.DigitalSignatureFiscalRegister</value>

</setting>

</Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>

<Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>

< 设置名称=""CertificateStoreNameserializeAs="字符串">

< 值 ></价值 >

</setting>

< 设置名称=""CertificateStoreLocationserializeAs="字符串">

< 值 >LocalMachine</价值 >

</setting>

< 设置名称=""EncodingNameserializeAs="字符串">

<value>UTF-8</value>

</setting>

< 设置名称=""DataHashAlgorithmserializeAs="字符串">

<value>SHA1</value>

</setting>

< 设置名称=""CertificateThumbprintserializeAs="字符串">

<value></value>

</setting>

</Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>

  1. 设置正确的 CertificateStoreName、 CertificateStoreLocation 和 CertificateThumbprint 值的 POS.exe.config 文件的applicationSettings部分中已安装的证书。

法国配置新型 POS

若要启用新型 POS 中的数字签名功能,您需要安装证书并将所需的设置添加到商务运行时配置文件 commerceRuntime.config。

  1. 现代的 POS 机上的本地证书存储中安装有效的数字证书。

  1. 将以下代码添加到位于零售服务器安装文件夹中的 commerceRuntime.config 文件的构成部分:

< 添加来源="程序集"值="Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance、 版本 = 6.3.0.0,区域性程序 = 31bf3856ad364e35,processorArchitecture = MSIL"/ >

< 添加来源="程序集"值="Microsoft.Dynamics.Commerce.Runtime.Services.DigitalSignature、 版本 = 6.3.0.0,区域性程序 = 31bf3856ad364e35,processorArchitecture = MSIL"/ >

  1. 对位于要支持离线模式下的客户端代理安装文件夹中的 commerceRuntime.config 文件进行相同的更改。

  1. 设置正确的 certificateStoreName、 certificateStoreLocation 和 certificateThumbprint 值的 Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance.dll.config 文件中的已安装证书。

SDK 概述

下面各节的法国零售 SDK 中包括提供零售本地化解决方案各组件的概述。您可以修改这些自定义或扩展的本地化功能的组件。

企业 POS

该解决方案包括三个新项目,两个新的接口和三个新的数据库表。此外,若干现有的接口扩展的新方法。

  • DigitalSignatureFiscalRegister项目在零售 SDK\POS Plugins\FiscalRegistrationServices,FiscalRegistrationServices 解决方案的一部分。

  • FranceTriggers项目位于零售 SDK\POS 即插即用-ins\Triggers 文件夹中,并且是触发器解决方案的一部分。

  • IAuditEventTriggerIBatchOperationTrigger的新接口是协定程序集的部分。

  • IApplicationTrigger现有接口扩展的两个新方法:

    • ApplicationSettingChanged称为后如培训模式应用程序设置或更改脱机模式;

    • 清洁频道数据库中的事务后称为PostPurgeChannelData

  • IPrintingTrigger现有接口扩展的两个新方法:

    • GetReceiptFieldInfo前调用此方法打印收据; 上一个字段

    • 打印一份收据后,将调用PostPrintReceiptCopy

  • 新的RetailLogTransactionReference表用于存储之间审核日志事件,例如,打印一份收据的事件和原始的零售交易记录之间的引用相应的零售交易记录的引用。

  • 新的RetailLogFiscalTransaction表用于存储注册信息的审核日志事件。

  • 新的RetailFiscalRegistrationSequence表用于存储几种类型的签名对象,例如零售交易记录的最后一个顺序编号和审核事件。

审核事件触发器

新的AuditEvent触发器添加要启用审核事件创建过程的自定义项。此触发器工作与其他触发器相同的方式,由 MEF 加载。它提供PreLogEventPostLogEvent,分别记录审核事件,前后调用两个的方法。

合同库添加了新的IAuditEventTrigger接口。此接口描述 PreLogEventPostLogEvent方法。

PreLogEvent方法可以中断日志记录过程并显示消息通过标准的PreTriggerResult对象。若要使用AuditEvent触发器,需要创建一个新类。此类应实现IAuditEventTrigger接口。在这种情况下,MEF 应用程序启动时将加载该类。

FranceTriggers

FranceTriggers项目包含已加载如果 POS 的功能配置文件的ISO 代码字段设置为FR的标准 POS 触发器。

  • BatchOperationTrigger实现IBatchOperationTrigger接口,并将重写SaveCloseBatch方法。该方法将记录审核事件的结束班次。

  • FranceApplicationTrigger实现IApplicationTrigger接口,并覆盖了ApplicationStartPostLogon方法。

    • ApplicationStart方法初始化RegistrationManager的注册状态通过调用ActualizeRegistrationState方法;

    • PostLogon方法检查转换状态通过调用CheckShiftClosingShiftClosingChecker类的登录操作是否成功。如果当前班次的持续时间超出预定义的时间,该方法将显示一个警告。

  • FranceAuditEventTrigger实现IAuditEventTrigger接口,并覆盖了PreLogEventPostLogEvent方法。

    • PreLogEvent方法接收IAuditEvent对象并执行审核事件的注册,如果启用了审核。

    • PostLogEvent方法接收IAuditEvent对象和完成审核事件的注册,如果通过保存会计注册信息来启用审核。

  • FranceOperationTrigger实现IOperationTrigger接口,并将重写PreProcessOperation方法。该方法通过调用CheckShiftClosing方法的ShiftClosingChecker类检查转换状态。如果当前班次的持续时间超出预定义的时间,并显示一条警告消息,该方法将阻止操作。

  • FrancePaymentTrigger实现IPaymentTrigger接口,而重写方法,预付款。该方法的行为与PreProcessOperation方法相同的方式,阻止付款,如果当前班次的持续时间超出预定义的时间。

  • FrancePrintingTrigger实现IPrintingTrigger接口,并将重写GetReceiptFieldInfo方法。该方法接收IReceiptFieldIReceiptPrintingContext对象并计算正在打印收据字段的值。

  • FranceTransactionTrigger实现ITransactionTriggerPreEndTransactionSaveTransaction方法重写。

    • PreEndTransaction方法接收IPosTransaction对象并执行注册的零售交易记录。此外,它检查转换状态并阻止事务,如果当前班次的持续时间超出预定义的时间。

    • SaveTransaction方法接收IPosTransaction对象并通过保存的注册会计信息完成注册的零售交易记录。

DigitalSignatureFiscalRegister

DigitalSignatureFiscalRegister项目提供的功能来进行数字签名的零售交易记录和审核事件。

  • CertificateHelper类提供用于从证书存储加载证书的方法。

  • DigitalSignatureFiscalRegister类实现IFiscalRegisterDriver接口,并替代了初始化RegisterFiscalData方法。

    • 初始化方法从配置文件加载证书指纹和位置等的数字签名设置。

    • RegisterFiscalData方法接收的序列化的会计信息,然后计算该数字签名。

  • DigitalSignatureFiscalRegisterResponse类表示数字签名注册响应。

注册过程

审核事件和零售交易记录的登记过程是类似的。有在FranceTriggers项目中实现的每个可注册的对象类型的IRegistrableEvent接口的适配器类:

  • RegistrableEventAuditEventAdapter类来支持审计事件注册

  • RegistrableEventRetailTransactionAdapter支持零售交易记录注册

  • RegistrableEventShiftTransactionEventAdapter支持的结束班次的事件注册

适配器负责提取和序列化用于注册可注册的对象的信息。RegistrableEventFactory类触发器方法,如PreEndTransactionPreLogEventSaveCloseBatch内创建相应类型的适配器。

在 FranceTriggers 项目中的RegistrationManager类执行任何可注册事件对象注册。RegistrationManager使用DefaultFiscalRegistrationService服务实现IFiscalRegister接口,并通过 MEF 加载。

DefaultFiscalRegistrationService创建并设置IFiscalRegisterDriver的实例。它使用FiscalRegisterFactory类创建相应的IFiscalRegisterDriver实例,并生成实例在法国国家下的DigitalSignatureFiscalRegister类 /区域上下文中。

分别以 JSON 格式为零售交易记录和审核事件的RetailTransactionFiscalTransactionRetailLogFiscalTransaction数据库表中存储序列化会计的注册数据。

零售服务器

四个新的零售服务器,增加了请求来支持法国零售本地化:

  • GetFiscalRegistrationSequenceTypeValue以获取指定交易记录类型的会计注册序列类型或审核事件类型。

  • GetLastRegisteredFiscalData请求,以获得最后一个注册为指定交易记录类型或审核事件类型的会计数据。

  • RegisterAuditEvent请求注册审核事件。

  • GetShiftClosingStateInfo请求以获得班次的结束时间和 shift 键的状态。

在零售 SDK\Proxies\RetailProxy\Adapters 的ShiftManagerStoreOperationsManager的零售代理适配器中找到相应的方法。

商务运行时

商务运行时本地化组成两个新项目、 新的要求和处理程序:

  • SDK。DigitalSignature项目是在零售 SDK\Commerce 运行 time\SDK。DigitalSignature 和Sdk.CommerceRuntime解决方案的一部分。

  • SDK。FiscalRegisterServiceFrance项目是在零售 SDK\Commerce 运行 time\SDK。DigitalSignature 和Sdk.CommerceRuntime解决方案的一部分。

SDK.DigitalSignature

该项目是与企业 POS 的DigitalSignatureFiscalRegister项目类似。它提供的功能来进行数字签名的零售交易记录和审核事件。

  • CertificateHelper类提供用于从证书存储加载证书的方法。

  • DataSignatureRequestHandler类实现IRequestHandler接口,并处理DigitalSignatureServiceRequest请求。

DigitalSignatureServiceRequest用于签名的证书中指定的数据。

SDK.FiscalRegisterServiceFrance

SDK。FiscalRegisterServiceFrance项目包含FiscalRegistrationService处理新请求数:

  • GetFiscalRegistrationSequenceTypeServiceRequest是一个新的请求来确定从销售交易记录类型的会计序列类型或审核事件类型。

  • GetLastRegisteredFiscalDataServiceRequest是一个新的请求来检索指定会计序列类型的最后一次保存会计数据。

  • GetFiscalRegistrationSequenceServiceRequest是一个新的请求,以检索特定商店,当前序列号终端和序列类型。

  • GetSalesOrderFiscalRegistrationInfoRequest是一个新的请求来检索销售订单中的财务数据。

  • ParseFiscalRegisterDataRequest是一个新的请求来分析序列化对象的 JSON 格式注册响应。

  • SaveSalesTransactionDataRequest是重写的请求,执行销售交易记录的登记,然后调用以保存交易记录的原始请求处理程序。

  • RegisterAuditEventServiceRequest是一个新的请求来注册审核事件。

  • RegisterShiftCloseAuditEventRequest是结束的一个新的请求来注册事件的班次。

现代的 POS

现代的 POS 的本地化包括多个视图和视图模型位于零售 POS Clients\Framework SDK\ 中的更改。

预先操作处理程序

引入了新的IPreOperationHandler接口。它描述了以下方法:

executeHandler(operationId: Commerce.Operations.operationTypeEnum): IAsyncResult < ICancelableResult >;

该方法的目的是实现进行现代 POS 操作前进行额外的检查。ExecuteHandler方法接收当前操作的类型,并可以通过异步返回相应的ICancelableResult阻止操作。

IPreOperationHandler接口的实例是通过调用registerPreOperationHandler方法的OperationsManager注册。

转移状态检查

Shift 键状态检查是由ShiftClosingManagerFrance实现IShiftClosingManager接口进行管理。ShiftClosingManagerFactory负责创建相应的实例的IShiftClosingManager ,并在法国国家/地区环境下创建ShiftClosingManagerFrance

ShiftClosingManagerFrance还实现IPreOperationHandler接口,用于阻止多个操作,如果按住 shift 持续时间长于指定的时间。它为法国国家/地区环境下的OperationsManager类预操作处理程序注册。

ShiftClosingManagerFrance请求移动每个付款和销售使用GetShiftClosingStateInfo零售服务器请求的操作之前的状态。

注册过程

销售交易记录和审核事件的注册管理实现IFiscalRegistrationManager接口的FiscalRegistrationManagerFrance类。FiscalRegistrationManagerFactory类负责创建的相应实现的IFiscalRegistrationManager ,在法国国家/地区创建FiscalRegistrationManagerFrance上下文。

CartViewModel类中的checkOutCart方法中开始销售交易记录的登记。CartViewModel使用FiscalRegistrationManagerFrance来执行注册逻辑之前和之后签出。

预签出逻辑提取注册信息 (注册响应),对于最后一次注册销售交易记录从本地存储区 (如果存在) 或请求使用的GetLastRegisteredFiscalData请求的零售服务器中。最后一次注册响应作为车对象的扩展属性传递给签出。扩展属性存储最后一次注册响应然后提取处理SaveSalesTransactionDataRequest商务运行时中时,用于生成当前交易记录的数字签名。

当前注册响应本地存储区来进行开机自检签出逻辑保存在以后使用的请求。

审核事件的注册由FiscalRegistrationManagerFrance类的registerAuditEvent方法,从不同的时间点开始:

  • 登录审核事件注册成功的操作员登录后从LoginViewModel开始。

  • LogoffOperationHandler.启动的注销审核事件注册

  • 清除审核事件注册的BlindCloseShiftOperationHandlerCloseShiftOperationHandler类从开始。

  • ChainedRequestFactory类开始注册这些事件的开始和结束的脱机模式。

  • ReceiptViewModel.启动打印一份收据的事件注册

现代的 POS 通过向零售服务器发送RegisterAuditEvent请求注册审核事件。该请求然后传递给FiscalRegistrationService的商务运行时服务中。

修补程序信息

如何获取 AX 更新文件

此更新程序可用于手动下载和安装从 Microsoft 下载中心获取。

系统必备组件

您必须具有要应用此修补程序的安装以下产品之一:

  • Microsoft Dynamics AX 2012 R3

重启要求

应用此修复程序后,必须重新启动应用程序对象服务器 (AOS) 服务。

如果您遇到问题下载安装此修复程序,或有其他技术支持问题,请与您的合作伙伴或直接与 Microsoft 支持计划中的注册,如果您可以联系技术支持获取 Microsoft Dynamics 并创建新的支持请求。为此,请访问下面的 Microsoft 网站:

https://mbs.microsoft.com/support/newstart.aspx

您可以为 Microsoft Dynamics 按国家/地区特定的电话号码中使用这些链接的电话联系技术支持。为此,请访问下面的 Microsoft 网站之一:

合作伙伴

https://mbs.microsoft.com/partnersource/resources/support/supportinformation/Global+Support+Contacts

客户

https://mbs.microsoft.com/customersource/northamerica/help/help/contactus

在特殊情况下,可免收的支持电话,可免收如果技术支持专业人员对 Microsoft Dynamics 和相关的产品的费用确定某个特定的更新能够解决您的问题。通常的支持费用将应用于任何其他支持问题和事项,不需要进行专门更新。

请注意这是直接从创建 Microsoft 支持部门内的"快速发布"的文章。在此处包含的信息作为提供-是为了响应新出现的问题。由于以使其可用的速度,而材料可能包含印刷错误,恕不另行通知,随时可能进行修订。其他考虑因素,请参阅使用条款

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×