Introdution
Esta actualização é uma parte binária da actualização combinada que permite R3 de 2012 do Microsoft Dynamics AX para a funcionalidade de localização de retalho para a França. Com esta actualização combinada, certifica-se o Microsoft Dynamics AX 2012 R3 para venda a retalho pelos requisitos de certificação NF 525. Consulte KB 4058329 para a parte da aplicação da actualização.
Este artigo fornece uma descrição geral dos passos necessários para configurar R3 de 2012 do Microsoft Dynamics AX para venda a retalho pontos de venda (POS) a ser utilizado em arquivos localizados em França, bem como uma descrição geral dos componentes da solução de localização de retalho para a França incluídos no comércio retalhista SDK.
Consulte 4058329 da KB para mais informações sobre o Microsoft Dynamics AX 2012 R3 para localização de retalho para a França e os passos de configuração de localização necessária.
Configurar POS para França
O abaixo secções descrevem os procedimentos necessários para configurar pontos de venda (POS) para a França.
Configurar a empresa POS para França
Para activar a assinatura digital de transacções de vendas POS de empresa, necessita de instalar um certificado e adicionar as definições necessárias para o ficheiro de configuração da aplicação POS.exe.config:
-
Instale um certificado digital válido para o armazenamento de certificados local no computador empresa POS.
-
Copie o seguinte código para a secção de configSections do ficheiro 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>
-
Copiar o seguinte código para a secção de applicationSettings do ficheiro POS.exe.config:
<Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>
< definição nome = "FiscalRegisterAssembly_FR" serializeAs = "Cadeia" >
<value>DigitalSignatureFiscalRegister.dll</value>
</setting>
< definição nome = "FiscalRegisterClass_FR" serializeAs = "Cadeia" >
<value>Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.DigitalSignatureFiscalRegister</value>
</setting>
</Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>
<Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>
< definição nome = "CertificateStoreName" serializeAs = "Cadeia" >
< valor > O meu < / valor >
</setting>
< definição nome = "CertificateStoreLocation" serializeAs = "Cadeia" >
< valor > LocalMachine < / valor >
</setting>
< definição nome = "EncodingName" serializeAs = "Cadeia" >
<value>UTF-8</value>
</setting>
< definição nome = "DataHashAlgorithm" serializeAs = "Cadeia" >
<value>SHA1</value>
</setting>
< definição nome = "CertificateThumbprint" serializeAs = "Cadeia" >
<value></value>
</setting>
</Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>
-
O programa de configuração valores correctos de CertificateStoreName, CertificateStoreLocation e CertificateThumbprint do certificado instalado na secção applicationSettings do ficheiro POS.exe.config.
Configurar POS moderna para França
Para activar a funcionalidade de assinatura digital do POS moderna, tem de instalar um certificado e adicionar as definições necessárias para o tempo de execução Commerce configuração ficheiro commerceRuntime.config.
-
Instale um certificado digital válido para o armazenamento de certificados local no computador POS modernas.
-
Adicione o seguinte código à secção do ficheiro commerceRuntime.config localizado na pasta de instalação do servidor de venda a retalho de composição :
< adicionar origem = "conjunto" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance, Version = 6.3.0.0, idioma = neutro, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >
< adicionar origem = "conjunto" valor = "Microsoft.Dynamics.Commerce.Runtime.Services.DigitalSignature, Version = 6.3.0.0, idioma = neutro, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" / >
-
Efectue as mesmas alterações para o ficheiro de commerceRuntime.config, localizado na pasta de instalação do Mediador de cliente para suportar o modo offline.
-
O programa de configuração valores correctos de certificateStoreName, certificateStoreLocation e certificateThumbprint do certificado instalado no ficheiro Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance.dll.config.
Descrição geral do SDK
O abaixo secções fornecem uma descrição geral dos componentes da solução de localização de revenda para França incluído no SDK de revenda. Pode modificar estes componentes para personalizar ou expandir a funcionalidade de localização.
Empresa POS
A solução consiste em três novos projectos, novas interfaces de duas e três novas tabelas de base de dados. Para além disso, as várias interfaces existentes são expandidas com novos métodos.
-
O projecto de DigitalSignatureFiscalRegister está a ser o Plugins\FiscalRegistrationServices de SDK\POS de revenda e faz parte da solução de FiscalRegistrationServices.
-
O projecto de FranceTriggers . exe está localizado na pasta SDK\POS de revenda Plug-ins\Triggers e faz parte da solução de accionadores.
-
As novas interfaces de IAuditEventTrigger e IBatchOperationTrigger são partes da assemblagem contratos.
-
A interface de IApplicationTrigger existente é expandida com dois novos métodos:
-
ApplicationSettingChanged é chamado após uma definição de aplicação, tal como o modo de formação ou alterar o modo offline;
-
PostPurgeChannelData é chamado após a limpeza de transacções da base de dados de canal.
-
-
A interface de IPrintingTrigger existente é expandida com dois novos métodos:
-
GetReceiptFieldInfo é chamado antes de imprimir um campo numa guia de remessa;
-
PostPrintReceiptCopy é chamado após imprimir uma cópia de uma recepção.
-
-
A nova tabela de RetailLogTransactionReference é utilizada para armazenar referências entre eventos de registo de auditoria e transacções no comércio retalhista correspondente referência entre o evento de impressão de uma cópia do recibo e a transacção de venda a retalho original.
-
A nova tabela de RetailLogFiscalTransaction é utilizada para armazenar informações de registo para eventos de registo de auditoria.
-
A nova tabela de RetailFiscalRegistrationSequence é utilizada para armazenar o últimos números sequenciais para vários tipos de objectos assinados como transacções no comércio retalhista e eventos de auditoria.
Accionador de eventos de auditoria
O novo accionador de AuditEvent é adicionado para permitir a personalização do processo de criação do evento de auditoria. Este accionador funciona da mesma maneira que outras accionadores e é carregado por MEF. Fornece dois métodos de PreLogEvent e PostLogEvent, que são chamados antes e depois registar um evento de auditoria, respectivamente.
A nova interface de IAuditEventTrigger foi adicionada à biblioteca de contratos . Esta interface descreve a PreLogEvente os métodos de PostLogEvent .
O método PreLogEvent pode interromper o processo de registo e mostrar mensagens através do objecto de PreTriggerResult padrão. Para utilizar o accionador de AuditEvent , uma nova classe tem de ser criado. Esta classe deve implementar a interface de IAuditEventTrigger . Neste caso, MEF irá carregar a classe durante o arranque da aplicação.
FranceTriggers
O projecto FranceTriggers contém accionadores POS padrão que são carregados, se o campo de código ISO do perfil de funcionalidade de OP estiver definido como FR.
-
O BatchOperationTrigger implementa a interface IBatchOperationTrigger e substitui o método SaveCloseBatch . O método regista um evento de auditoria de um turno de fecho.
-
O FranceApplicationTrigger implementa a interface IApplicationTrigger e substitui os métodos ApplicationStart e PostLogon .
-
o método ApplicationStart inicializa o estado de registo da RegistrationManager ao chamar o método de ActualizeRegistrationState ;
-
o método PostLogon verifica o estado de shift chamando o método de CheckShiftClosing da classe ShiftClosingChecker se a uma operação de início de sessão teve êxito. O método apresenta um aviso se a tecla shift actual durar mais do que o tempo predefinido.
-
-
O FranceAuditEventTrigger implementa a interface IAuditEventTrigger e substitui os métodos PreLogEvent e PostLogEvent .
-
o método PreLogEvent recebe o objecto IAuditEvent e efectua o registo de evento de auditoria, se a auditoria estiver activada.
-
o método PostLogEvent recebe o objecto IAuditEvent e finaliza sido o registo de evento de auditoria, se a auditoria estiver activada, guardando as informações de registo 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 de CheckShiftClosing da classe ShiftClosingChecker . O método bloqueia a operação se a tecla shift actual dura mais do que o tempo predefinido e apresenta uma mensagem de aviso.
-
O FrancePaymentTrigger implementa a interface IPaymentTrigger e substitui o método de pré-pagamento . O método funciona da mesma forma como o método de PreProcessOperation e bloqueia o pagamento se a tecla shift actual durar mais do que o tempo predefinido.
-
O FrancePrintingTrigger implementa a interface IPrintingTrigger e substitui o método GetReceiptFieldInfo . O método recebe o IReceiptField e os objectos de IReceiptPrintingContext e calcula o valor do campo de recepção a ser impresso.
-
O FranceTransactionTrigger implementa o ITransactionTrigger e substitui os métodos PreEndTransaction e SaveTransaction .
-
o método PreEndTransaction recebe o objecto IPosTransaction e efectua o registo da transacção de venda a retalho. Além disso, que verifica o estado de shift e impede que a transacção se a tecla shift actual durar mais do que o tempo predefinido.
-
o método SaveTransaction recebe o objecto IPosTransaction e finaliza sido o registo da transacção de venda a retalho, guardando as informações de registo fiscal.
-
DigitalSignatureFiscalRegister
O projecto de DigitalSignatureFiscalRegister fornece a funcionalidade para transacções de venda a retalho de assinar digitalmente e a criação de eventos de auditoria.
-
A classe CertificateHelper fornece métodos para o carregamento de certificados do arquivo de certificados.
-
A classe DigitalSignatureFiscalRegister implementa a interface IFiscalRegisterDriver e substitui os métodos de inicializar e RegisterFiscalData .
-
o método de inicialização carrega definições de assinatura digital, tais como o thumbprint do certificado e a localização no ficheiro 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 registo de assinatura digital.
Processo de registo
Os processos de registo de eventos de auditoria e transacções no comércio retalhista são semelhantes. Existem classes de placa da interface de IRegistrableEvent para cada tipo de objecto registável de execução do projecto de FranceTriggers :
-
A classe de RegistrableEventAuditEventAdapter para suportar o registo de eventos de auditoria
-
O RegistrableEventRetailTransactionAdapter para suportar o registo de transacções de venda a retalho
-
O RegistrableEventShiftTransactionEventAdapter para suportar o registo do evento de fecho um turno
As placas são responsáveis por extracção e as informações utilizadas para o registo a partir dos objectos registável a serializar. Uma placa do tipo adequado é criada no interior de métodos de accionador, como PreEndTransaction, PreLogEvent e SaveCloseBatch pela classe RegistrableEventFactory .
Registo de qualquer objecto de evento registável é efectuado pela classe RegistrationManager localizada no projecto FranceTriggers. O RegistrationManager utiliza o serviço de DefaultFiscalRegistrationService que implementa a interface IFiscalRegister e é carregado por MEF.
DefaultFiscalRegistrationService cria e define uma instância de IFiscalRegisterDriver. Utiliza a classe de FiscalRegisterFactory para criar uma instância adequada de IFiscalRegisterDriver e produzir uma instância de da classe DigitalSignatureFiscalRegister sob o país de França / contexto de região.
Dados de registo fiscal serializado são armazenados no formato JSON nas tabelas de base de dados de RetailTransactionFiscalTransaction e RetailLogFiscalTransaction para transacções de venda a retalho e eventos de auditoria, respectivamente.
Servidor de revenda
Quatro novo servidor de revenda, pedidos foram adicionados para suportar a localização de retalho para a França:
-
GetFiscalRegistrationSequenceTypeValue para obter o tipo de sequência do registo fiscal de um tipo de transacção especificado ou tipo de evento de auditoria.
-
Pedido de GetLastRegisteredFiscalData para obter a última registada fiscais dados para um tipo de transacção especificado ou o tipo de evento de auditoria.
-
Pedido de RegisterAuditEvent de registo de eventos de auditoria.
-
Pedido de GetShiftClosingStateInfo para obter o estado do shift e as horas de encerramento do turno.
As placas de proxy de venda a retalho de ShiftManager e StoreOperationsManager na SDK\Proxies\RetailProxy\Adapters de revenda poderiam estar métodos correspondentes.
Tempo de execução do Commerce
A localização de tempo de execução Commerce é constituída por dois novos projectos, um novo pedido e rotinas de tratamento:
-
O SDK de . DigitalSignature projecto está em execução-time\SDK de SDK\Commerce de revenda. DigitalSignature e faz parte da solução de Sdk.CommerceRuntime .
-
O SDK de . FiscalRegisterServiceFrance projecto está em execução-time\SDK de SDK\Commerce de revenda. DigitalSignature e faz parte da solução de Sdk.CommerceRuntime .
SDK.DigitalSignature
O projecto é semelhante a um projecto de DigitalSignatureFiscalRegister a posição de empresa. Fornece a funcionalidade para transacções de venda a retalho de assinar digitalmente e a criação de eventos de auditoria.
-
A classe CertificateHelper fornece métodos para o carregamento de certificados do arquivo de certificados.
-
A classe DataSignatureRequestHandler implementa a interface IRequestHandler e processa o pedido de DigitalSignatureServiceRequest .
DigitalSignatureServiceRequest é utilizado para assinar os dados especificados com o certificado.
SDK.FiscalRegisterServiceFrance
O SDK de . FiscalRegisterServiceFrance projecto contém FiscalRegistrationService que processa um número de novos pedidos:
-
GetFiscalRegistrationSequenceTypeServiceRequest é um novo pedido para determinar o tipo de sequência fiscal de um tipo de transacção de vendas ou tipo de evento de auditoria.
-
GetLastRegisteredFiscalDataServiceRequest é um novo pedido para obter os últimos dados guardados de fiscais de um tipo de sequência fiscal especificado.
-
GetFiscalRegistrationSequenceServiceRequest é um novo pedido obter o número sequencial actual para um arquivo específico, escreva terminal e a sequência.
-
GetSalesOrderFiscalRegistrationInfoRequest é um novo pedido para obter dados fiscais de uma encomenda de venda.
-
ParseFiscalRegisterDataRequest é um novo pedido para analisar um serializado registar resposta no formato JSON para um objecto.
-
SaveSalesTransactionDataRequest é um pedido substituído que efectua o registo da transacção de vendas e, em seguida, chama a rotina de tratamento do pedido original para guardar a transacção.
-
RegisterAuditEventServiceRequest é um novo pedido para registar eventos de auditoria.
-
RegisterShiftCloseAuditEventRequest é um novo pedido para registar eventos de encerramento de turnos.
POS Moderno
Localização dos POS moderna inclui alterações em várias vistas e ver os modelos localizados na versão de revenda SDK\ POS Clients\Framework.
Rotinas de tratamento de pré-operação
Foi introduzida a nova interface de IPreOperationHandler . Descreve o método seguinte:
executeHandler(operationId: Commerce.Operations.operationTypeEnum): IAsyncResult < ICancelableResult >;
O método tem por objectivo aplicar verificações adicionais antes de efectuar operações de POS modernas. O método executeHandler recebe o tipo de operação actual e pode bloquear a operação, devolvendo um adequado ICancelableResult de modo assíncrono.
Uma instância da IPreOperationHandler interface é registada pelo chamar o método registerPreOperationHandler de OperationsManager.
Verificação de estado do SHIFT
Verificação do Estado SHIFT é gerida pelo ShiftClosingManagerFrance , implemente o interface IShiftClosingManager . ShiftClosingManagerFactory é responsável pela criação da instância adequada de IShiftClosingManager e cria ShiftClosingManagerFrance no contexto do país/região de França.
ShiftClosingManagerFrance também implementa a interface IPreOperationHandler e é utilizado para bloquear a várias operações, se a tecla shift dure mais tempo do que o tempo especificado. Esta é registada como um processador de pré-operação da classe OperationsManager no contexto do país/região de França.
Pedidos de ShiftClosingManagerFrance ser deslocados estado antes de cada pagamento e a operação de venda utilizando o pedido de servidor de venda a retalho de GetShiftClosingStateInfo .
Processo de registo
Registo de transacções de vendas e de eventos de auditoria é gerido pela classe FiscalRegistrationManagerFrance implemente o interface IFiscalRegistrationManager . A classe FiscalRegistrationManagerFactory é responsável pela criação de uma execução adequada IFiscalRegistrationManager e cria FiscalRegistrationManagerFrance em França país/região contexto.
Inicia o registo de transacções de vendas na classe de CartViewModel no método checkOutCart . CartViewModel utiliza FiscalRegistrationManagerFrance para executar a lógica do registo antes e depois da saída.
A lógica de saída anterior extrai as informações de registo (resposta de registo) para a última registada transacção de vendas de armazenamento local (se existir) ou o solicitar do servidor de revenda utilizando o pedido de GetLastRegisteredFiscalData . O último registar resposta transmitida como propriedades de extensão do carrinho objecto para a saída. A propriedade extension armazenar a última resposta de registo, em seguida, é extraída ao processar SaveSalesTransactionDataRequest no tempo de execução do comércio e é utilizada para produzir a assinatura digital da transacção actual.
Guarda de lógica de saída post actual registar resposta para o armazenamento local para ser utilizado em futuras pedidos.
O registo de eventos de auditoria é efectuado pelo método registerAuditEvent da classe FiscalRegistrationManagerFrance e é iniciado a partir de vários pontos:
-
O registo de eventos de auditoria de início de sessão é iniciado a partir LoginViewModel após um inícios de sessão do operador com êxito.
-
O registo de evento de auditoria a fim de sessão é iniciado a partir de LogoffOperationHandler.
-
É iniciado o registo de evento de auditoria de purga das classes BlindCloseShiftOperationHandler e CloseShiftOperationHandler .
-
O registo de eventos de início e fim do modo offline é iniciado a partir da classe de ChainedRequestFactory .
-
O registo de eventos de impressão de uma cópia de uma guia de remessa é iniciado a partir de ReceiptViewModel.
POS moderna regista eventos de auditoria, enviando o pedido de RegisterAuditEvent para o servidor de revenda. O pedido, em seguida, passado para o serviço de tempo de execução Commerce FiscalRegistrationService.
Informações sobre correção
Como obter o Microsoft Dynamics AX actualiza ficheiros
Esta actualização está disponível para transferência manual e a instalação a partir do Microsoft Download Center.
Pré-requisitos
Tem de ter um dos seguintes produtos instalado para aplicar esta correcção:
-
Microsoft Dynamics AX 2012 R3
Requisito de reinício
Tem de reiniciar o serviço do servidor aos (servidor de Objetos de aplicativo) depois de aplicar a correcção.
Se encontrar um problema a transferir, instalar esta correcção, ou ter outros técnicos perguntas de suporte, contacte o seu parceiro ou, se inscrito num plano de suporte directamente com a Microsoft, pode contactar o suporte técnico para o Microsoft Dynamics e criar um novo pedido de suporte. Para tal, visite o seguinte Web site da Microsoft:
https://mbs.microsoft.com/support/newstart.aspx
Também pode contactar o suporte técnico para o Microsoft Dynamics por telefone utilizar estas hiperligações para números de telefone específicos do país. Para tal, visite um dos seguintes Web 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 casos especiais, os custos normalmente inerentes para suporte chamadas poderão ser anuladas se um técnico de suporte técnico do Microsoft Dynamics e produtos relacionados determina que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicada a quaisquer questões de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.
Nota Este é um artigo "Publicação rápida" criado diretamente a partir da organização de suporte da Microsoft. As informações contidas aqui são fornecidas como-se em resposta a questões emergentes. Como resultado da urgência na sua disponibilização, os materiais podem incluir erros tipográficos e podem ser revistos em qualquer altura sem aviso prévio. Para outras considerações, consulte os Termos de utilização.