Se aplica a
Dynamics AX 2012 R3

Introducción

Esta actualización es una parte binaria de la actualización combinada que permite a Microsoft Dynamics AX 2012 R3 para la funcionalidad de localización comercial para Francia. Con esta actualización combinada, R3 de 2012 de Microsoft Dynamics AX for Retail es certificada por los requisitos de certificación NF 525. Vea 4058329 KB para la parte de la aplicación de la actualización.

Este artículo proporciona incluye una visión general de los pasos necesarios para configurar Microsoft Dynamics AX 2012 R3 para Retail puntos de ventas (POS) para ser utilizado en almacenes ubicados en Francia, así como una visión general de los componentes de la solución de localización comercial para Francia en el sector minorista SDK.

Vea KB 4058329 para obtener más información acerca de la R3 de Microsoft Dynamics AX 2012 para la localización de minorista en Francia y los pasos de configuración necesarios de localización.

Configuración POS para Francia

El debajo de las secciones se describen los procedimientos necesarios para configurar el punto de venta (POS) para Francia.

Configurar empresa POS para Francia

Para habilitar la firma digital de transacciones de venta en POS de la empresa, debe instalar un certificado y agregue la configuración necesaria para el archivo de configuración de aplicación POS.exe.config:

  1. Instalar un certificado digital válido para el almacenamiento de certificados local en el equipo en POS de la empresa.

  1. Copie el código siguiente a la sección configSections del archivo POS.exe.config:

<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. Copie el código siguiente a la sección applicationSettings del archivo POS.exe.config:

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

< configuración nombre = "FiscalRegisterAssembly_FR" serializeAs = "Cadena" >

<value>DigitalSignatureFiscalRegister.dll</value>

</setting>

< configuración nombre = "FiscalRegisterClass_FR" serializeAs = "Cadena" >

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

</setting>

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

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

< configuración nombre = "NombreAlmacenamientoCertificados" serializeAs = "Cadena" >

< valor > Mi < valor / >

</setting>

< configuración nombre = "CertificateStoreLocation" serializeAs = "Cadena" >

< valor > LocalMachine < valor / >

</setting>

< configuración nombre = "EncodingName" serializeAs = "Cadena" >

<value>UTF-8</value>

</setting>

< configuración nombre = "DataHashAlgorithm" serializeAs = "Cadena" >

<value>SHA1</value>

</setting>

< configuración nombre = "CertificateThumbprint" serializeAs = "Cadena" >

<value></value>

</setting>

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

  1. Configurar los valores de NombreAlmacenamientoCertificados, CertificateStoreLocation y CertificateThumbprint correctos del certificado instalado en la sección applicationSettings del archivo POS.exe.config.

Configurar POS modernos para Francia

Para habilitar la característica de firma digital en POS moderna, debe instalar un certificado y agregue la configuración necesaria para la commerceRuntime.config archivo de configuración de Commerce de tiempo de ejecución.

  1. Instalar un certificado digital válido para el almacenamiento de certificados local en el equipo de POS moderna.

  1. Agregue el código siguiente a la sección composición del archivo commerceRuntime.config ubicado en la carpeta de instalación del servidor de Retail:

< agregar origen = "assembly" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance, Version = 6.3.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >

< agregar origen = "assembly" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.DigitalSignature, Version = 6.3.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >

  1. Realizar los mismos cambios en el archivo commerceRuntime.config ubicado en la carpeta de instalación del agente de cliente para admitir el modo sin conexión.

  1. Configurar los valores de NombreAlmacenamientoCertificados, certificateStoreLocation y certificateThumbprint correctos del certificado instalado en el archivo Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance.dll.config.

Visión general del SDK

El debajo de secciones proporcionan una visión general de los componentes de la solución de localización comercial Francia incluida en el SDK de venta por menor. Puede modificar estos componentes para personalizar o ampliar la funcionalidad de localización.

POS de empresa

La solución consta de tres nuevos proyectos, nuevas interfaces de dos y tres tablas de base de datos nueva. Además, varias interfaces ya existentes se amplían con nuevos métodos.

  • El proyecto DigitalSignatureFiscalRegister en la Plugins\FiscalRegistrationServices de SDK\POS de venta por menor y es parte de la solución FiscalRegistrationServices.

  • El proyecto FranceTriggers se encuentra en la carpeta Plug-ins\Triggers de SDK\POS de venta por menor y es parte de la solución de desencadenadores.

  • Las nuevas interfaces de IAuditEventTrigger y IBatchOperationTrigger son partes del ensamblado de contratos.

  • La interfaz existente de IApplicationTrigger se amplía con dos nuevos métodos:

    • ApplicationSettingChanged se llama después de la configuración de la aplicación, como el modo de formación o se cambia el modo sin conexión;

    • PostPurgeChannelData se llama después de la limpieza de las transacciones de la base de datos del canal.

  • La interfaz existente de IPrintingTrigger se amplía con dos nuevos métodos:

    • Se llama a GetReceiptFieldInfo antes de imprimir un campo en un recibo;

    • PostPrintReceiptCopy se llama después de imprimir una copia de un recibo.

  • La nueva tabla de RetailLogTransactionReference se utiliza para almacenar las referencias entre eventos de registro de auditoría y transacciones comerciales correspondientes como referencia entre el evento de impresión de una copia de un recibo y la transacción comercial original.

  • La nueva tabla de RetailLogFiscalTransaction se utiliza para almacenar la información de registro de sucesos del registro de auditoría.

  • La nueva tabla de RetailFiscalRegistrationSequence se utiliza para almacenar los últimos números secuenciales para varios tipos de objetos firmados como transacciones comerciales y eventos de auditoría.

Desencadenador de eventos de auditoría

Se agrega el nuevo desencadenador AuditEvent para permitir la personalización del proceso de creación de eventos de auditoría. Este desencadenador funciona del mismo modo que otros desencadenadores y cargado por MEF. Proporciona dos métodos de PreLogEvent y PostLogEvent, que se llama antes y después de registrar un evento de auditoría, respectivamente.

La nueva interfaz de IAuditEventTrigger se ha agregado a la biblioteca de contratos . Esta interfaz describe el PreLogEventy métodos de PostLogEvent .

El método PreLogEvent puede interrumpir el proceso de registro y mostrar los mensajes mediante el objeto PreTriggerResult estándar. Para utilizar el desencadenador de AuditEvent , debe crearse una nueva clase. Esta clase debe implementar la interfaz IAuditEventTrigger . En este caso, MEF carga la clase durante el inicio de la aplicación.

FranceTriggers

El proyecto FranceTriggers contiene desencadenadores estándares de POS que se cargan si el campo código ISO del perfil de funcionalidad del POS se establece en FR.

  • La BatchOperationTrigger implementa la interfaz IBatchOperationTrigger y reemplaza el método SaveCloseBatch . El método registra un suceso de auditoría de cerrar un turno.

  • La FranceApplicationTrigger implementa la interfaz IApplicationTrigger y reemplaza los métodos ApplicationStart y PostLogon .

    • El método ApplicationStart inicializa el estado de registro de la RegistrationManager llamando al método ActualizeRegistrationState ;

    • El método PostLogon comprueba el estado de MAYÚS llamando al método CheckShiftClosing de la clase ShiftClosingChecker si una operación de inicio de sesión es correcto. El método muestra una advertencia si el cambio actual dura más que el tiempo predefinido.

  • La FranceAuditEventTrigger implementa la interfaz IAuditEventTrigger y reemplaza los métodos PreLogEvent y PostLogEvent .

    • El método PreLogEvent recibe el objeto IAuditEvent y realiza el registro del evento de auditoría si está habilitada la auditoría.

    • El método PostLogEvent recibe el objeto IAuditEvent y finaliza el registro del evento de auditoría si está habilitada la auditoría guardando la información de registro fiscal.

  • La FranceOperationTrigger implementa la interfaz IOperationTrigger y reemplaza el método PreProcessOperation . El método comprueba el estado de MAYÚS llamando al método CheckShiftClosing de la clase ShiftClosingChecker . El método bloquea la operación si el cambio actual dura más que el tiempo previamente definido y muestra un mensaje de advertencia.

  • La FrancePaymentTrigger implementa la interfaz IPaymentTrigger y reemplaza el método de pago por adelantado . El método comporta igual que el método PreProcessOperation y bloquea el pago si el cambio actual dura más que el tiempo predefinido.

  • La FrancePrintingTrigger implementa la interfaz IPrintingTrigger y reemplaza el método GetReceiptFieldInfo . El método recibe el IReceiptField y los objetos IReceiptPrintingContext y calcula el valor del campo de recepción que se está imprimiendo.

  • La FranceTransactionTrigger implementa la ITransactionTrigger y reemplaza los métodos PreEndTransaction y SaveTransaction .

    • El método PreEndTransaction recibe el objeto IPosTransaction y realiza el registro de la transacción comercial. Además, comprueba el estado de la tecla MAYÚS y la transacción se bloquea si el cambio actual dura más que el tiempo predefinido.

    • El método SaveTransaction recibe el objeto IPosTransaction y finaliza el registro de la transacción comercial guardando la información de registro fiscal.

DigitalSignatureFiscalRegister

El proyecto DigitalSignatureFiscalRegister proporciona la funcionalidad para firmar transacciones comerciales digitalmente y eventos de auditoría.

  • La clase CertificateHelper proporciona métodos para cargar certificados desde el almacén de certificados.

  • La clase DigitalSignatureFiscalRegister implementa la interfaz IFiscalRegisterDriver y reemplaza los métodos Initialize y RegisterFiscalData .

    • El método Initialize carga la configuración de firma digital como la huella digital del certificado y la ubicación del archivo de configuración.

    • El método RegisterFiscalData recibe la información fiscal serializada y calcula la firma digital.

  • La clase DigitalSignatureFiscalRegisterResponse representa la respuesta de registro de la firma digital.

Proceso de registro

Los procesos de registro de sucesos de auditoría y transacciones comerciales son similares. Hay clases de adaptador que implementa la interfaz IRegistrableEvent para cada tipo de objeto de registrarse en el proyecto FranceTriggers :

  • La clase RegistrableEventAuditEventAdapter para admitir el registro de eventos de auditoría

  • El RegistrableEventRetailTransactionAdapter para admitir el registro de transacciones de venta por menor

  • El RegistrableEventShiftTransactionEventAdapter para admitir el registro del evento de cierre de un turno

Los adaptadores son responsables de la extracción y la serialización de la información utilizada para el registro de los objetos se. La clase RegistrableEventFactory crea un adaptador del tipo apropiado dentro de los métodos de desencadenador como PreEndTransaction, PreLogEvent y SaveCloseBatch .

Registro de un objeto de evento se realiza la clase RegistrationManager ubicada en el proyecto FranceTriggers. El RegistrationManager utiliza el servicio DefaultFiscalRegistrationService que implementa la interfaz IFiscalRegister y cargado por MEF.

DefaultFiscalRegistrationService crea y establece una instancia de IFiscalRegisterDriver. Utiliza la clase FiscalRegisterFactory para crear una instancia adecuada de IFiscalRegisterDriver y generar una instancia de de la clase DigitalSignatureFiscalRegister en el país de Francia / contexto de la región.

Datos de registro fiscal serializados se almacenan en el formato JSON en las tablas de base de datos RetailTransactionFiscalTransaction y RetailLogFiscalTransaction para las transacciones comerciales y los eventos de auditoría, respectivamente.

Servidor comercial

Cuatro nuevo servidor comercial, las solicitudes se agregaron para admitir la localización por menor para Francia:

  • GetFiscalRegistrationSequenceTypeValue para obtener un tipo de transacción especificado el tipo de secuencia de registro fiscal o tipo de evento de auditoría.

  • Solicitud de GetLastRegisteredFiscalData para obtener último registrado datos fiscales para un tipo de transacción especificado o un tipo de evento de auditoría.

  • Solicitud de RegisterAuditEvent para registrar sucesos de auditoría.

  • Solicitud de GetShiftClosingStateInfo para obtener el estado de la tecla MAYÚS y la hora de cierre del turno.

Métodos correspondientes se encontró en los adaptadores de proxy comercial de ShiftManager y StoreOperationsManager en SDK\Proxies\RetailProxy\Adapters de venta por menor.

Tiempo de ejecución de Commerce

La localización en tiempo de ejecución de comercio consta de dos proyectos nuevos, una nueva solicitud y controladores:

  • El SDK de . DigitalSignature proyecto se encuentra en ejecución comercial SDK\Commerce-time\SDK. DigitalSignature y forma parte de la solución Sdk.CommerceRuntime .

  • El SDK de . FiscalRegisterServiceFrance proyecto se encuentra en ejecución comercial SDK\Commerce-time\SDK. DigitalSignature y forma parte de la solución Sdk.CommerceRuntime .

SDK.DigitalSignature

El proyecto es similar al proyecto de DigitalSignatureFiscalRegister del POS de la empresa. Proporciona la funcionalidad para firmar transacciones comerciales digitalmente y eventos de auditoría.

  • La clase CertificateHelper proporciona métodos para cargar certificados desde el almacén de certificados.

  • La clase DataSignatureRequestHandler implementa la interfaz IRequestHandler y administra la solicitud DigitalSignatureServiceRequest .

DigitalSignatureServiceRequest se utiliza para firmar los datos especificados con el certificado.

SDK.FiscalRegisterServiceFrance

El SDK de . FiscalRegisterServiceFrance proyecto FiscalRegistrationService que controla un número de nuevas solicitudes de contiene:

  • GetFiscalRegistrationSequenceTypeServiceRequest es una nueva solicitud para determinar el tipo de secuencia fiscal de un tipo de transacción de ventas o tipo de evento de auditoría.

  • GetLastRegisteredFiscalDataServiceRequest es una solicitud nueva para recuperar los últimos datos guardados fiscales para un tipo de secuencia fiscal especificado.

  • GetFiscalRegistrationSequenceServiceRequest es una nueva solicitud para recuperar el número de secuencia actual para un almacén específico, tipo de terminal y secuencia.

  • GetSalesOrderFiscalRegistrationInfoRequest es una solicitud nueva para recuperar los datos fiscales de una orden de venta.

  • ParseFiscalRegisterDataRequest es una nueva solicitud para analizar un número de serie registrar respuesta en el formato JSON a un objeto.

  • SaveSalesTransactionDataRequest es una solicitud reemplazada que realiza el registro de transacciones de ventas y, a continuación, llama al controlador de solicitud original para guardar la transacción.

  • RegisterAuditEventServiceRequest es una nueva solicitud de registro de sucesos de auditoría.

  • RegisterShiftCloseAuditEventRequest es una nueva solicitud para registrar eventos de cierre de turnos.

POS moderno

Localización de POS moderno incluye cambios en varias vistas y ver modelos ubicados en Retail directorio SDK \ POS Clients\Framework.

Controladores antes de la operación

Se introdujo la nueva interfaz de IPreOperationHandler . Describe el método siguiente:

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

El propósito del método es implementar comprobaciones adicionales antes de realizar operaciones de POS moderna. El método executeHandler recibe el tipo de la operación actual y puede bloquear la operación devolviendo una adecuada ICancelableResult de forma asincrónica.

Una instancia de la interfaz de IPreOperationHandler está registrada mediante una llamada al método registerPreOperationHandler de OperationsManagerMonitoring.

Comprobación de estado de turno

Verificación de estado Mayús es administrado por ShiftClosingManagerFrance implementa la interfaz IShiftClosingManager . ShiftClosingManagerFactory es responsable de la creación de la instancia adecuada de IShiftClosingManager y ShiftClosingManagerFrance se crea en el contexto de país o región de Francia.

ShiftClosingManagerFrance también implementa la interfaz IPreOperationHandler y se utiliza para bloquear varias operaciones si el cambio dura más que el tiempo especificado. Se registra como un controlador antes de la operación de la clase OperationsManagerMonitoring en el contexto de país o región de Francia.

Solicitudes de ShiftClosingManagerFrance cambian estado antes de cada pago y las operaciones de ventas mediante la solicitud al servidor comercial GetShiftClosingStateInfo .

Proceso de registro

El registro de transacciones de ventas y los eventos de auditoría se administra mediante la clase FiscalRegistrationManagerFrance implementa la interfaz IFiscalRegistrationManager . La clase FiscalRegistrationManagerFactory es responsable de la creación de la implementación adecuada de IFiscalRegistrationManager y FiscalRegistrationManagerFrance crea en el país o región de Francia contexto.

Inicia el registro de transacciones de venta en la clase CartViewModel en el método checkOutCart . CartViewModel utiliza FiscalRegistrationManagerFrance para ejecutar la lógica de registro antes y después de la extracción.

La lógica de comprobación preliminar extrae la información de registro (registro de respuesta) para la última registrada la transacción de venta desde el almacenamiento local (si existe) o lo solicita desde el servidor de comercial mediante la solicitud de GetLastRegisteredFiscalData . El último registro respuesta pasa como propiedades de extensión del objeto carro a la desprotección. La propiedad de extensión almacenar la última respuesta del registro se extrae a continuación durante la gestión de SaveSalesTransactionDataRequest en tiempo de ejecución de comercio y se utiliza para generar la firma digital de la transacción actual.

El guarda de lógica post desprotección actual registrar respuesta al almacenamiento local utiliza en el futuro las solicitudes.

El registro de eventos de auditoría se realiza mediante el método registerAuditEvent de la clase FiscalRegistrationManagerFrance y se inicia desde varios puntos:

  • El registro de suceso de auditoría de inicio de sesión se inicia desde LoginViewModel después de los inicios de sesión de un operador exitoso.

  • El registro de suceso de auditoría de cierre de sesión se inicia desde LogoffOperationHandler.

  • El registro de suceso de auditoría de purga se inicia desde las clases BlindCloseShiftOperationHandler y CloseShiftOperationHandler .

  • El registro de los eventos de inicio y finalización del modo sin conexión se inicia desde la clase ChainedRequestFactory .

  • Se inicia el registro de los eventos de impresión de una copia de un recibo de ReceiptViewModel.

POS modernos registra sucesos de auditoría mediante el envío de la solicitud de RegisterAuditEvent al servidor comercial. A continuación, pasa la solicitud al servicio de tiempo de ejecución de comercio FiscalRegistrationService.

Información de la revisión

Cómo obtener Microsoft Dynamics AX actualiza archivos

Esta actualización está disponible para descarga manual y la instalación de Microsoft Download Center.

Requisitos previos

Debe tener uno de los siguientes productos instalados para aplicar esta revisión:

  • Microsoft Dynamics AX 2012 R3

Requisito de reinicio

Debe reiniciar el servicio de Application Object Server (AOS) después de aplicar el hotfix.

Si tiene un problema al descargar, instalar esta revisión, o tienen otras técnicas admiten preguntas, comuníquese con su asociado o, si está inscrito en un plan de soporte directamente con Microsoft, puede ponerse en contacto con soporte técnico para Microsoft Dynamics y crear una nueva solicitud de soporte técnico. Para ello, visite el siguiente sitio Web de Microsoft:

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

También puede comunicarse con soporte técnico para Microsoft Dynamics por teléfono mediante estos vínculos para números de teléfono específico del país. Para ello, visite uno de los siguientes sitios Web de Microsoft:

Asociados de negocios

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

Clientes

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

En casos especiales, los costos derivados normalmente de las llamadas pueden cancelarse si un profesional de soporte técnico de Microsoft Dynamics y productos relacionados de soporte determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

Nota Es un artículo "Publicación rápida" creado directamente desde dentro de la organización de soporte técnico de Microsoft. La información aquí contenida en se proporciona como-es en respuesta a nuevos problemas. Como consecuencia de la velocidad en la puesta a disposición, los materiales pueden incluir errores tipográficos y podrán revisarse en cualquier momento sin previo aviso. Para obtener información adicional, consulte Condiciones de uso.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.