Sign in with Microsoft
Sign in or create an account.

Este artigo se aplica ao Microsoft Dynamics AX para todas as regiões.

Sintomas

Quando você lança uma ordem de compra no Microsoft Dynamics AX 2009, você recebe a seguinte mensagem de erro:

Não é possível criar um registro no cabeçalho da ordem de compra - Atualizar tabela (PurchParmSubTable).

Esse problema ocorre se uma das seguintes condições for verdadeira:

  • Habilitar a configuração "configuração de trilha de auditoria de assinatura eletrônica ciências biomédicas" para todas as tabelas.

  • Criar um registro da tabela comum.

  • Defina a tabela PurchParmTable no log do banco de dados.

Esse problema ocorre quando você lança uma ordem de compra, uma lista de recebimentos, guia de remessa e uma fatura. Esse problema ocorre nos seguintes produtos:

  • Microsoft Dynamics AX 2009 com Service Pack 1

  • Microsoft Dynamics AX 2009

Resolução

Informações sobre o hotfix

Um hotfix suportado está disponível agora na Microsoft. No entanto, apenas destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde o próximo service pack do Microsoft Dynamics AX 2009 ou a próxima versão que contém esse hotfix. Observação 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 em geral aplicam-se a questões e problemas de suporte adicionais que não se enquadrem na atualização específica em questão.

Informações sobre a instalação

Antes de instalar esse hotfix, verifique se os usuários do cliente Microsoft Dynamics AX estão desconectados do sistema. Você deve ser o único usuário do cliente conectado ao implementar esse hotfix. Para implementar esse hotfix, você deve ter uma licença de desenvolvedor.Observação É recomendável que a conta de usuário na janela de Logins do Windows ou na janela banco de dados seja um membro do grupo Administradores de usuário no Microsoft Dynamics AX.

Alterações de código

A Microsoft fornece exemplos de programação apenas por questões ilustrativas, sem garantias expressas ou implícitas. Isso inclui, mas não está limitado a garantias implícitas de comercialização ou adequação a um determinado propósito. Este artigo pressupõe que você conhece a linguagem de programação demonstrada e também as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar você, fornecendo a explicação da funcionalidade de um determinado procedimento. Entretanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou criar procedimentos específicos para atender às suas necessidades específicas. Sempre teste código correções em um ambiente controlado antes de aplicar as correções para os computadores de produção.Para resolver esse problema, siga estas estas etapas:

  1. Substitua o código no método de Inserir na tabela PurchParmSubTable da seguinte forma:

    public void insert(){    PurchParmSubTable tempPurchParmSubTable;    ;    select tempPurchParmSubTable where        tempPurchParmSubTable.ParmId == this.ParmId        && tempPurchParmSubTable.TableRefId == this.TableRefId        && tempPurchParmSubTable.OrigPurchId == this.OrigPurchId;    if(tempPurchParmSubTable.RecId == 0)    {        super();    }}
  2. Substitua o código no método createFromPurchParmTable na tabela PurchParmSubTable da seguinte forma:

    static PurchParmSubTable createFromPurchParmTable(PurchParmTable _purchParmTable, boolean _insert = true){    PurchParmSubTable   purchParmSubTable;    systemSequence systemSequence;    ;    ttsbegin;    purchParmSubTable.clear();    purchParmSubTable.initValue();    purchParmSubTable.initFromPurchParmTable(_purchParmTable);    if (_insert)    {        systemSequence = new systemSequence();        purchParmSubTable.RecId = systemSequence.reserveValues(1, tablenum(PurchParmSubTable));        purchParmSubTable.insert();    }    ttscommit;    return purchParmSubTable;}
  3. Substitua o código no método de Inserir na tabela SalesParmSubTable da seguinte forma:

    public void insert(){    SalesParmSubTable tempSalesParmSubTable;    ;    select tempSalesParmSubTable where        tempSalesParmSubTable.ParmId == this.ParmId        && tempSalesParmSubTable.TableRefId == this.TableRefId        && tempSalesParmSubTable.OrigSalesId == this.OrigSalesId        && tempSalesParmSubTable.subId == this.subId;    if(tempSalesParmSubTable.RecId == 0)    {        super();    }}

Observação Você deve mesclar as personalizações existentes nesses métodos.

Pré-requisitos

Não há pré-requisitos.

Necessidade de reinicialização

Você não precisa reiniciar o computador após aplicar esse hotfix.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

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!

×