Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Quando você usa "n º vender-de/para comprar" como o valor de "-a/venda-para cobrança IVA Calc." na caixa de diálogo de configuração do razão geral (GL) após a instalação do KB2705249, as transações de compra não são manipuladas corretamente. Siga as etapas na seção alterações de código para resolver o problema. Esse problema ocorre nos seguintes produtos:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

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 NAV 2009 ou a próxima versão do Microsoft Dynamics NAV 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 normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Informações sobre a instalação

A Microsoft fornece exemplos de programação somente para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um propósito específico. Este artigo presume que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.

Observação: Antes de instalar esse hotfix, verifique se todos os usuários do cliente do Microsoft Dynamics NAV estiver desconectados do sistema. Isso inclui os serviços do Microsoft Dynamics NAV Application Server (NAS). 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.

É recomendável que a conta de usuário na janela de Logins do Windows ou na janela banco de dados seja atribuída a ID de função "SUPER". Se a conta de usuário não pode ser atribuída a ID de função "SUPER", você deverá verificar se a conta de usuário tem as seguintes permissões:

  • A permissão Modificar para o objeto que será alterado.

  • A permissão de execução para o objeto 5210 de identificação de objeto de sistema e o sistema 9015 de identificação de objeto

    objeto.

Observação: Você não precisa ter direitos para os armazenamentos de dados, a menos que você precise executar o reparo de dados.

Alterações de código

Observação: 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, execute as seguintes etapas:

  1. Altere o código nos campos na tabela de cabeçalho de vendas (36) da seguinte forma:
    1 de código existente

    ..."Bill-to Country/Region Code" := Cust."Country/Region Code";

    // Delete the following line.
    "VAT Country/Region Code" := Cust."Country/Region Code";
    // End of the deleted line.

    IF NOT SkipBillToContact THEN
    ...

    Código de substituição 1

    ... "Bill-to Country/Region Code" := Cust."Country/Region Code";
    IF NOT SkipBillToContact THEN
    ...

    2 de código existente

    ...// Delete the following line.
    "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group";
    // End of the deleted line.

    GLSetup.GET;
    ...

    Código de substituição 2

    ...GLSetup.GET;
    ...

    3 de código existente

    ...GLSetup.GET;

    // Delete the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN
    // End of the deleted line.

    "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    ...

    Código de substituição 3

    ...GLSetup.GET;

    // Add the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN BEGIN
    // End of the added line.

    "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    ...

    4 de código existente

    ..."VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    "Customer Posting Group" := Cust."Customer Posting Group";
    ...

    Código de substituição 4

    ..."VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";

    // Add the following lines.
    "VAT Country/Region Code" := Cust."Country/Region Code";
    "VAT Registration No." := Cust."VAT Registration No.";
    "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group";
    END;
    // End of the added lines.

    "Customer Posting Group" := Cust."Customer Posting Group";
    ...

    5 de código existente

    ...Reserve := Cust.Reserve;

    // Delete the following line.
    "VAT Registration No." := Cust."VAT Registration No.";
    // End of the deleted line.

    IF "Document Type" = "Document Type"::Order THEN
    ...

    Código de substituição 5

    ...Reserve := Cust.Reserve;
    IF "Document Type" = "Document Type"::Order THEN
    ...
  2. Altere o código nos campos na tabela de cabeçalho de compra (38) da seguinte forma:
    1 de código existente

    ..."Pay-to County" := Vend.County;

    // Delete the following lines.
    "Pay-to Country/Region Code" := Vend."Country/Region Code";
    "VAT Country/Region Code" := Vend."Country/Region Code";
    // End of the deleted lines.

    IF NOT SkipPayToContact THEN
    ...

    1 código de substituição

    ..."Pay-to County" := Vend.County;

    IF NOT SkipPayToContact THEN
    ...

    2 de código existente

    ... "Vendor Posting Group" := Vend."Vendor Posting Group";

    // Delete the following line.
    "Gen. Bus. Posting Group" := Vend."Gen. Bus. Posting Group";
    // End of the deleted line.

    GLSetup.GET;
    ...

    Código de substituição 2

    ..."Vendor Posting Group" := Vend."Vendor Posting Group";
    GLSetup.GET;
    ...

    3 de código existente

    ...GLSetup.GET;

    // Delete the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN
    // End of the deleted line.

    "VAT Bus. Posting Group" := Vend."VAT Bus. Posting Group";
    ...

    Código de substituição 3

    ...GLSetup.GET;

    // Add the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN BEGIN
    // End of the added line.

    "VAT Bus. Posting Group" := Vend."VAT Bus. Posting Group";
    ...

    4 de código existente

    ..."VAT Bus. Posting Group" := Vend."VAT Bus. Posting Group";
    "Prices Including VAT" := Vend."Prices Including VAT";
    ...

    Código de substituição 4

    ...   "VAT Bus. Posting Group" := Vend."VAT Bus. Posting Group";

    // Add the following lines.
    "VAT Country/Region Code" := Vend."Country/Region Code";
    "VAT Registration No." := Vend."VAT Registration No.";
    "Gen. Bus. Posting Group" := Vend."Gen. Bus. Posting Group";
    END;
    // End of the added lines.

    "Prices Including VAT" := Vend."Prices Including VAT";
    ...

    5 de código existente

    ...VALIDATE("Currency Code");

    // Delete the following line.
    "VAT Registration No." := Vend."VAT Registration No.";
    // End of the deleted line.

    IF "Document Type" = "Document Type"::Order THEN
    ...

    Código de substituição 5

    ...VALIDATE("Currency Code");
    IF "Document Type" = "Document Type"::Order THEN
    ...
  3. Altere o código nos campos na tabela de cabeçalho de serviço (5900) da seguinte forma:
    1 de código existente

    ... "Bill-to County" := Cust.County;

    // Delete the following line.
    "Bill-to Country/Region Code" := Cust."Country/Region Code";
    // End of the deleted line.

    IF NOT SkipBillToContact THEN
    ...

    1 código de substituição

    ..."Bill-to County" := Cust.County;
    IF NOT SkipBillToContact THEN
    ...

    2 de código existente

    ... 
    // Delete the following line.
    "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group";
    // End of the deleted line.

    GLSetup.GET;
    ...

    Código de substituição 2

    ...
    GLSetup.GET;
    ...

    3 de código existente

    ...GLSetup.GET;

    // Delete the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN
    // End of the deleted line.

    "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    ...

    Código de substituição 3

    ...GLSetup.GET;

    // Add the following line.
    IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN BEGIN
    // End of the added line.

    "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    ...

    4 de código existente

    ..."VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";
    "Customer Posting Group" := Cust."Customer Posting Group";
    ...

    Código de substituição 4

    ... "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group";

    // Add the following lines.
    "VAT Registration No." := Cust."VAT Registration No.";
    "VAT Country/Region Code" := Cust."Country/Region Code";
    "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group";
    END;
    // End of the added lines.

    "Customer Posting Group" := Cust."Customer Posting Group";
    ...

    5 de código existente

    ... Reserve := Cust.Reserve;

    // Delete the following line.
    "VAT Registration No." := Cust."VAT Registration No.";
    // End of the deleted line.

    ValidateServPriceGrOnServItem;
    ...

    Código de substituição 5

    ...Reserve := Cust.Reserve;
    ValidateServPriceGrOnServItem;
    ...
  4. Alterar o código de função InsertVAT em geral Jnl.-lançar linha Codeunit (12) da seguinte maneira:

    Código existente

    ...VATEntry."Bill-to/Pay-to No." := "Bill-to/Pay-to No.";

    // Delete the following lines.
    IF "Bill-to/Pay-to No." <> '' THEN
    CASE VATEntry.Type OF
    VATEntry.Type::Purchase:
    BEGIN
    IF Vend."No." <> "Bill-to/Pay-to No." THEN
    Vend.GET("Bill-to/Pay-to No.");
    VATEntry."Country/Region Code" := Vend."Country/Region Code";
    VATEntry."VAT Registration No." := Vend."VAT Registration No.";
    END;
    VATEntry.Type::Sale:
    BEGIN
    IF Cust."No." <> "Bill-to/Pay-to No." THEN
    Cust.GET("Bill-to/Pay-to No.");
    VATEntry."Country/Region Code" := Cust."Country/Region Code";
    VATEntry."VAT Registration No." := Cust."VAT Registration No.";
    END;
    END;

    // End of the deleted lines.
    ...

    Código de substituição

    ... VATEntry."Bill-to/Pay-to No." := "Bill-to/Pay-to No.";

    // Add the following lines.
    VATEntry."Country/Region Code" := "Country/Region Code";
    VATEntry."VAT Registration No." := "VAT Registration No.";
    // End of the added lines.

    ...
  5. Alterar o código de função CopyFields em geral Jnl.-Post em lotes Codeunit (13) da seguinte maneira:
    1 de código existente

    ... GenJnlLine7."Ship-to/Order Address Code" := GenJnlLine4."Ship-to/Order Address Code";
    GenJnlLine7.MODIFY;
    ...

    1 código de substituição

    ...GenJnlLine7."Ship-to/Order Address Code" := GenJnlLine4."Ship-to/Order Address Code";

    // Add the following lines.
    GenJnlLine7."VAT Registration No." := GenJnlLine4."VAT Registration No.";
    GenJnlLine7."Country/Region Code" := GenJnlLine4."Country/Region Code";
    // End of the added lines.

    GenJnlLine7.MODIFY;
    ...

    2 de código existente

    ... GenJnlLine7."Ship-to/Order Address Code" := GenJnlLine4."Ship-to/Order Address Code";
    GenJnlLine7.MODIFY;
    ...

    Código de substituição 2

    ...GenJnlLine7."Ship-to/Order Address Code" := GenJnlLine4."Ship-to/Order Address Code";

    // Add the following lines.
    GenJnlLine7."VAT Registration No." := GenJnlLine4."VAT Registration No.";
    GenJnlLine7."Country/Region Code" := GenJnlLine4."Country/Region Code";
    // End of the added lines.

    GenJnlLine7.MODIFY;
    ...



Pré-requisitos:

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

Informações sobre remoção

Você não pode remover esse hotfix.

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

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 neste documento são fornecidas desta maneira, em resposta a 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?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×