Introdution

Esta atualização é uma parte binária da atualização combinada que permite que o Microsoft Dynamics AX 2012 R3 para a funcionalidade de localização de varejo da França. Com essa atualização combinada, Microsoft Dynamics AX 2012 R3 para varejo é certificada pelos requisitos de certificação NF 525. Consulte KB 4058329 para a parte de aplicativo da atualização.

Este artigo fornece uma visão geral das etapas necessárias para configurar o Microsoft Dynamics AX 2012 R3 para pontos-de-vendas de varejo (POS) a ser usado nas lojas localizadas na França, bem como uma visão geral dos componentes da solução de localização de varejo da França incluído no SDK de varejo.

Consulte 4058329 KB para obter mais informações sobre o Microsoft Dynamics AX 2012 R3 para localização de varejo para França e as etapas de configuração de localização necessária.

Configurando o POS para França

O abaixo seções descrevem os procedimentos necessários para configurar o ponto de venda (POS) para a França.

Configurar o Enterprise POS para França

Para habilitar a assinatura digital de transações de vendas no POS de empresa, é necessário instalar um certificado e adicionar as configurações necessárias no arquivo de configuração do aplicativo POS.exe.config:

  1. Instale um certificado digital válido para o armazenamento de certificados local na máquina POS de empresa.

  1. Copie o seguinte código à seção configSections do arquivo 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 o seguinte código à seção applicationSettings do arquivo POS.exe.config:

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

< configuração nome = "FiscalRegisterAssembly_FR" serializeAs = "String" >

<value>DigitalSignatureFiscalRegister.dll</value>

</setting>

< configuração nome = "FiscalRegisterClass_FR" serializeAs = "String" >

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

</setting>

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

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

< configuração nome = "CertificateStoreName" serializeAs = "String" >

< valor > Meu < / valor >

</setting>

< configuração nome = "CertificateStoreLocation" serializeAs = "String" >

< valor > LocalMachine < / valor >

</setting>

< configuração nome = "EncodingName" serializeAs = "String" >

<value>UTF-8</value>

</setting>

< configuração nome = "DataHashAlgorithm" serializeAs = "String" >

<value>SHA1</value>

</setting>

< configuração nome = "CertificateThumbprint" serializeAs = "String" >

<value></value>

</setting>

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

  1. Configure valores CertificateStoreName, CertificateStoreLocation e CertificateThumbprint corretos do certificado instalado na seção applicationSettings do arquivo POS.exe.config.

Configurar o POS moderno para a França

Para habilitar o recurso de assinatura digital no POS moderno, é necessário instalar um certificado e adicionar as configurações necessárias para a commerceRuntime.config de arquivo de configuração do Commerce Runtime.

  1. Instale um certificado digital válido para o armazenamento de certificados local na máquina POS modernos.

  1. Adicione o seguinte código à seção de composição do arquivo commerceRuntime.config, localizado na pasta de instalação do servidor de varejo:

< adicionar código-fonte = "montagem" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance, versão = 6.3.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >

< adicionar código-fonte = "montagem" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.DigitalSignature, versão = 6.3.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >

  1. Fazer as mesmas alterações no arquivo commerceRuntime.config localizado na pasta de instalação do agente do cliente para dar suporte ao modo offline.

  1. Configure valores certificateStoreName, certificateStoreLocation e certificateThumbprint corretos do certificado instalado no arquivo Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance.dll.config.

Visão geral do SDK

O abaixo seções fornecem uma visão geral dos componentes da solução de localização de varejo para França incluído no SDK de varejo. Você pode modificar esses componentes para personalizar ou estender a funcionalidade de localização.

POS de empresa

A solução consiste em três novos projetos, novas interfaces de dois e três novas tabelas de banco de dados. Além disso, várias interfaces existentes são ampliadas com novos métodos.

  • O projeto DigitalSignatureFiscalRegister em Plugins\FiscalRegistrationServices de SDK\POS de varejo e faz parte da solução FiscalRegistrationServices.

  • O projeto FranceTriggers está localizado na pasta SDK\POS de varejo Plug-ins\Triggers e é parte da solução de disparadores.

  • As novas interfaces de IAuditEventTrigger e IBatchOperationTrigger são partes do assembly contratos.

  • A interface do IApplicationTrigger existente é estendida com dois novos métodos:

    • ApplicationSettingChanged é chamado após uma configuração de aplicativo, como o modo de treinamento ou modo offline é alterado;

    • PostPurgeChannelData é chamado após a limpeza de transações do banco de dados do canal.

  • A interface do IPrintingTrigger existente é estendida com dois novos métodos:

    • GetReceiptFieldInfo é chamado antes de imprimir um campo no recebimento;

    • PostPrintReceiptCopy é chamado após a impressão de uma cópia de uma confirmação.

  • A nova tabela de RetailLogTransactionReference é usada para armazenar referências entre os eventos de log de auditoria e transações de varejo correspondentes como referência entre o evento de impressão de uma cópia do recibo e a transação de varejo original.

  • A nova tabela de RetailLogFiscalTransaction é usada para armazenar informações de registro para eventos de log de auditoria.

  • A nova tabela RetailFiscalRegistrationSequence é usada para armazenar o últimos números sequenciais para vários tipos de objetos assinados como transações de varejo e eventos de auditoria.

Disparador de eventos de auditoria

O novo disparador de AuditEvent é adicionado para permitir a personalização do processo de criação de eventos de auditoria. Esse disparador funciona da mesma maneira que outros disparadores e é carregado pelo MEF. Ele fornece dois métodos de PreLogEvent e PostLogEvent, são chamados de antes e depois de registrar um evento de auditoria, respectivamente.

A nova interface IAuditEventTrigger foi adicionada à biblioteca de contratos . Esta interface descreve o PreLogEvente PostLogEvent métodos.

O método PreLogEvent pode interromper o processo de registro e Mostrar mensagens através do objeto PreTriggerResult padrão. Para usar o disparador AuditEvent , uma nova classe precisa ser criado. Essa classe deve implementar a interface IAuditEventTrigger . Nesse caso, o MEF carregará a classe durante a inicialização do aplicativo.

FranceTriggers

O projeto FranceTriggers contém disparadores POS padrão que são carregados se o campo código ISO do perfil de funcionalidade do POS é definido para FR.

  • O BatchOperationTrigger implementa a interface IBatchOperationTrigger e substitui o método SaveCloseBatch . O método registra um evento de auditoria de fechar um turno.

  • O FranceApplicationTrigger implementa a interface IApplicationTrigger e substitui os métodos ApplicationStart e PostLogon .

    • o método ApplicationStart inicializa o estado do registro do RegistrationManager chamando o método ActualizeRegistrationState ;

    • o método PostLogon verifica o estado de shift, chamando o método CheckShiftClosing da classe ShiftClosingChecker se uma operação de logon foi bem-sucedida. O método exibe um aviso se o turno atual durar mais de tempo predefinido.

  • O FranceAuditEventTrigger implementa a interface IAuditEventTrigger e substitui os métodos PreLogEvent e PostLogEvent .

    • o método PreLogEvent recebe o objeto IAuditEvent e executa o registro do evento de auditoria se a auditoria estiver ativada.

    • o método PostLogEvent recebe o objeto IAuditEvent e finaliza o registro do evento de auditoria se a auditoria estiver ativada, salvando informações de registro fiscal.

  • O FranceOperationTrigger implementa a interface IOperationTrigger e substitui o método PreProcessOperation . O método verifica o estado de shift, chamando o método CheckShiftClosing da classe ShiftClosingChecker . O método bloqueia a operação se o turno atual dura mais de tempo predefinido e exibe uma mensagem de aviso.

  • O FrancePaymentTrigger implementa a interface IPaymentTrigger e substitui o método de pagamento antecipado . O método se comporta da mesma maneira que o método PreProcessOperation e bloqueia o pagamento se o turno atual durar mais de tempo predefinido.

  • O FrancePrintingTrigger implementa a interface IPrintingTrigger e substitui o método GetReceiptFieldInfo . O método recebe a IReceiptField e os objetos IReceiptPrintingContext e calcula o valor do campo de confirmação está sendo impresso.

  • O FranceTransactionTrigger implementa a ITransactionTrigger e substitui os métodos PreEndTransaction e SaveTransaction .

    • o método PreEndTransaction recebe o objeto IPosTransaction e executa o registro da transação de varejo. Além disso, ele verifica o estado de shift e bloqueia a transação se o turno atual durar mais de tempo predefinido.

    • o método SaveTransaction recebe o objeto IPosTransaction e finaliza o registro da transação de varejo, salvando as informações de registro fiscal.

DigitalSignatureFiscalRegister

O projeto DigitalSignatureFiscalRegister fornece a funcionalidade para assinar transações de varejo digitalmente e eventos de auditoria.

  • A classe CertificateHelper fornece métodos para carregar os certificados do armazenamento de certificado.

  • A classe DigitalSignatureFiscalRegister implementa a interface IFiscalRegisterDriver e substitui os métodos RegisterFiscalData e inicializar .

    • o método Initialize carrega configurações de assinatura digital, como a impressão digital do certificado e o local do arquivo de configuração.

    • o método RegisterFiscalData recebe as informações fiscais serializadas e calcula a assinatura digital.

  • A classe DigitalSignatureFiscalRegisterResponse representa a resposta de registro da assinatura digital.

Processo de registro

Os processos de registro de eventos de auditoria e transações de varejo são semelhantes. Existem classes de adaptador implementa a interface IRegistrableEvent para cada tipo de objeto registrável no projeto FranceTriggers :

  • A classe RegistrableEventAuditEventAdapter para oferecer suporte ao registro de eventos de auditoria

  • RegistrableEventRetailTransactionAdapter para suporte de registro da transação de varejo

  • RegistrableEventShiftTransactionEventAdapter para oferecer suporte ao registro de evento de fechamento de um turno

Os adaptadores são responsáveis pela extração e serializar as informações usadas para registro de objetos registrável. Um adaptador do tipo apropriado é criado dentro de métodos de disparador, como PreEndTransaction, PreLogEvent e SaveCloseBatch pela classe RegistrableEventFactory .

Registro de qualquer objeto de evento registrável é realizado pela classe RegistrationManager localizada no projeto FranceTriggers. O RegistrationManager usa o serviço de DefaultFiscalRegistrationService , que implementa a interface IFiscalRegister e é carregado pelo MEF.

DefaultFiscalRegistrationService cria e define uma instância de IFiscalRegisterDriver. Ele usa a classe FiscalRegisterFactory para criar uma instância apropriada do IFiscalRegisterDriver e gerar uma instância de da classe DigitalSignatureFiscalRegister em país França / contexto da região.

Dados de registro fiscal serializado são armazenados no formato JSON nas tabelas de banco de dados RetailTransactionFiscalTransaction e RetailLogFiscalTransaction para transações de varejo e eventos de auditoria, respectivamente.

Servidor de varejo

Quatro novo servidor de varejo, solicitações foram adicionadas para oferecer suporte a localização de varejo da França:

  • GetFiscalRegistrationSequenceTypeValue para obter o tipo de sequência de registro fiscal para um tipo de transação especificado ou tipo de evento de auditoria.

  • Solicitação de GetLastRegisteredFiscalData para obter a última registrados dados fiscais para um tipo de transação especificada ou o tipo de evento de auditoria.

  • Solicitação de RegisterAuditEvent para registrar eventos de auditoria.

  • Solicitação de GetShiftClosingStateInfo para obter o estado de shift e o horário do fechamento do turno.

Métodos correspondentes foi encontrados em adaptadores de proxy de varejo ShiftManager e StoreOperationsManager em SDK\Proxies\RetailProxy\Adapters de varejo.

Tempo de execução de comércio

A localização de tempo de execução de comércio consiste em dois novos projetos, uma nova solicitação e manipuladores:

  • O SDK do . DigitalSignature o projeto está em execução-time\SDK de SDK\Commerce de varejo. DigitalSignature e é parte da solução de Sdk.CommerceRuntime .

  • O SDK do . FiscalRegisterServiceFrance o projeto está em execução-time\SDK de SDK\Commerce de varejo. DigitalSignature e é parte da solução de Sdk.CommerceRuntime .

SDK.DigitalSignature

O projeto é semelhante ao projeto de DigitalSignatureFiscalRegister do POS Enterprise. Ele fornece a funcionalidade para assinar transações de varejo digitalmente e eventos de auditoria.

  • A classe CertificateHelper fornece métodos para carregar os certificados do armazenamento de certificado.

  • A classe DataSignatureRequestHandler implementa a interface IRequestHandler e manipula a solicitação DigitalSignatureServiceRequest .

DigitalSignatureServiceRequest é usado para assinar os dados especificados com o certificado.

SDK.FiscalRegisterServiceFrance

O SDK do . FiscalRegisterServiceFranceFiscalRegistrationService que lida com um número de novas solicitações do projeto contém:

  • GetFiscalRegistrationSequenceTypeServiceRequest é uma nova solicitação para determinar o tipo de sequência fiscal de um tipo de transação de venda ou tipo de evento de auditoria.

  • GetLastRegisteredFiscalDataServiceRequest é uma nova solicitação para recuperar os últimos dados fiscais salvos para um tipo de sequência fiscal especificado.

  • GetFiscalRegistrationSequenceServiceRequest é uma nova solicitação para recuperar o número sequencial atual para uma loja específica, tipo de terminal e sequência.

  • GetSalesOrderFiscalRegistrationInfoRequest é uma nova solicitação para recuperar dados fiscais de uma ordem de venda.

  • ParseFiscalRegisterDataRequest é uma nova solicitação para analisar um serializado registrar Resposta no formato JSON para um objeto.

  • SaveSalesTransactionDataRequest é uma solicitação de substituição que executa o registro da transação de venda e, em seguida, chama o manipulador de solicitações original para salvar a transação.

  • RegisterAuditEventServiceRequest é uma nova solicitação para registrar eventos de auditoria.

  • RegisterShiftCloseAuditEventRequest é uma nova solicitação para registrar eventos de fechamento de turnos.

POS moderna

Localização de POS modernos inclui alterações em vários modos de exibição e exibir modelos localizados no varejo SDK\ POS Clients\Framework.

Pré-operação manipuladores

A nova interface IPreOperationHandler foi introduzida. Descreve o método a seguir:

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

O objetivo do método é implementar verificações adicionais antes de executar operações de POS modernos. O método executeHandler recebe o tipo da operação atual e pode bloquear a operação, retornando um apropriado ICancelableResult assincronamente.

Uma instância da interface IPreOperationHandler é registrada chamando o método registerPreOperationHandler do OperationsManager.

Verificação do estado do turno

Verificação de estado Shift é gerenciada pelo ShiftClosingManagerFrance implementa a interface IShiftClosingManager . ShiftClosingManagerFactory é responsável pela criação da instância apropriada do IShiftClosingManager e cria ShiftClosingManagerFrance sob o contexto de país/região França.

ShiftClosingManagerFrance também implementa a interface IPreOperationHandler e é usado para bloquear várias operações se o turno durar mais do que o tempo especificado. Ele é registrado como um manipulador de pré-operação da classe OperationsManager sob o contexto de país/região França.

Solicitações de ShiftClosingManagerFrance deslocar o estado antes de cada pagamento e usando a solicitação de varejo servidor GetShiftClosingStateInfo de operação de venda.

Processo de registro

O registro de transações de vendas e eventos de auditoria é gerenciado pela classe FiscalRegistrationManagerFrance que implementa a interface IFiscalRegistrationManager . A classe FiscalRegistrationManagerFactory é responsável pela criação da implementação adequada do IFiscalRegistrationManager e cria FiscalRegistrationManagerFrance sob o país/região França contexto.

Inicia o registro de transações de vendas na classe CartViewModel no método checkOutCart . CartViewModel usa FiscalRegistrationManagerFrance para executar a lógica de registro antes e após o check-out.

A lógica de pré-verificação de extrai as informações de registro (registro de resposta) para o último registrado a transação de venda do armazenamento local (se existir) ou solicitá-lo do servidor de varejo usando a solicitação de GetLastRegisteredFiscalData . O último registro resposta passada como propriedades de extensão do objeto carrinho para o check-out. A propriedade de extensão armazenando a última resposta de registro é então extraída durante o tratamento SaveSalesTransactionDataRequest em tempo de execução de comércio e é usada para gerar a assinatura digital da transação atual.

O salva de lógica post check-out atual registrar a resposta para o armazenamento local para ser usado em futuras solicitações.

O registro de eventos de auditoria é executado pelo método registerAuditEvent da classe FiscalRegistrationManagerFrance e é iniciado a partir de vários pontos:

  • O registro do evento de auditoria de Logon é iniciado LoginViewModel após um operador bem-sucedida logons.

  • O registro do evento de auditoria de Logoff é iniciado a partir de LogoffOperationHandler.

  • O registro do evento de auditoria de limpeza é iniciado a partir das classes BlindCloseShiftOperationHandler e CloseShiftOperationHandler .

  • O registro de eventos de início e término do modo off-line é iniciado a partir da classe ChainedRequestFactory .

  • O registro de eventos de impressão de uma cópia do recibo é iniciado a partir de ReceiptViewModel.

POS modernos registra eventos de auditoria, enviando a solicitação de RegisterAuditEvent ao servidor de varejo. A solicitação é então passado para o serviço de tempo de execução de comércio FiscalRegistrationService.

Informações sobre o hotfix

Como obter o Microsoft Dynamics AX atualiza arquivos

Esta atualização está disponível para download manual e a instalação do Microsoft Download Center.

Pré-requisitos:

Você deve ter um dos seguintes produtos instalados para aplicar esse hotfix:

  • Microsoft Dynamics AX 2012 R3

Requisitos de reinicialização:

Você deve reiniciar o serviço do Application Object Server (AOS) após aplicar o hotfix.

Se você estiver encontrando um problema fazendo o download, instalar esse hotfix, ou com outras técnicas perguntas de suporte, entre em contato com seu parceiro ou, se inscrito em um plano de suporte diretamente com a Microsoft, você pode entrar em contato com o suporte técnico do Microsoft Dynamics e criar uma nova solicitação de suporte. Para fazer isso, visite o seguinte site da Microsoft:

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

Você também pode contatar o suporte técnico do Microsoft Dynamics por telefone usando esses links para números de telefone específicos do país. Para fazer isso, visite um dos seguintes sites da Microsoft:

Parceiros

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

Clientes

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

Em alguns casos, as taxas cobradas para suporte a chamadas podem ser canceladas se um profissional de suporte técnico do Microsoft Dynamics e produtos relacionados determina que uma atualização específica resolverá o problema. Os custos de suporte normais se aplicarão a quaisquer questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Observação Este é um artigo de "PUBLICAÇÃO RÁPIDA" criado diretamente de dentro da organização de suporte da Microsoft. As informações contidas aqui são fornecidas como-está em resposta aos problemas emergentes. Como um dos resultados da velocidade da publicação, os materiais podem incluir erros tipográficos e podem ser revisados a qualquer momento sem aviso prévio. Consulte os Termos de usopara outras considerações.

Precisa de mais ajuda?

Expanda suas habilidades

Explore o treinamento >

Obtenha novos recursos primeiro

Ingressar no Microsoft Insider >

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×