O trabalho em lote "Sugerir fornecedor Pagamentos" arredonda inesperadamente a quantidade da linha de pagamento sugerida no diário de pagamento na versão húngara do Microsoft Dynamics NAV 2009 R2

Aplica-se a
Microsoft Dynamics NAV 2009 R2

Este artigo se aplica ao Microsoft Dynamics NAV para a localidade de idioma húngaro (hu).

Sintomas

Considere o seguinte cenário na versão húngara do Microsoft Dynamics NAV 2009 R2:

  • Você aplica o hotfix 2664500.
  • A precisão de arredondamento de quantidade na caixa de diálogo Configuração Geral do Razão é definida como uma.
  • Você posta uma fatura de compra em uma moeda estrangeira. As entradas de razão do fornecedor são criadas.
  • Você executa o trabalho em lote "Sugerir fornecedor Pagamentos" em um diário de pagamento para criar uma linha de pagamento sugerida para a fatura com base no processamento de entradas de razão do fornecedor.
  • Você revisa a linha de pagamento sugerida no diário de pagamento.

Nesse cenário, o sistema arredonda inesperadamente o valor da linha de pagamento sugerida.

  Para obter mais informações sobre o hotfix 2664500, clique no número do artigo a seguir para exibir o artigo na Base de Dados de Conhecimento da Microsoft:

2664500 Taxa de câmbio incorreta é usada quando você posta um diário de razão geral que tem várias linhas que usam a moeda de relatório adicional na versão húngara do Microsoft Dynamics NAV 2009 R2

Resolução

Informações sobre o hotfix

Um hotfix com suporte agora está disponível na Microsoft. No entanto, ele destina-se apenas a corrigir o problema descrito neste artigo. Aplique-o somente a sistemas que estão enfrentando esse problema específico. Esse hotfix pode receber testes adicionais. Portanto, se você não for severamente afetado por esse problema, é recomendável aguardar o próximo pacote de serviços do Microsoft Dynamics NAV 2009 ou a próxima versão do Microsoft Dynamics NAV que contém esse hotfix.

Observação Em casos especiais, os encargos que normalmente são incorridos para chamadas de suporte podem ser cancelados se um profissional de suporte técnico do Microsoft Dynamics e produtos relacionados determinar que uma atualização específica resolve seu 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 de instalação

A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não se limita a, as garantias implícitas de comercialização ou adequação a uma finalidade específica. Este artigo pressupõe 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 ajudá-lo, fornecendo a explicação da funcionalidade de determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidade adicional nem criarão procedimentos específicos para atender às suas necessidades específicas.

Observação Antes de instalar esse hotfix, verifique se todos os usuários cliente do Microsoft Navision estão conectados ao sistema. Isso inclui usuários cliente do NAS (Microsoft Navision Application Services). Você deve ser o único usuário cliente que está conectado ao implementar esse hotfix.

Para implementar esse hotfix, você deve ter uma licença de desenvolvedor.

Recomendamos que a conta de usuário na janela Logons do Windows ou na janela Logons de Banco de Dados seja atribuída à ID da função "SUPER". Se a conta de usuário não puder ser atribuída à ID da 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 você estará alterando.
  • A permissão Executar para o objeto System Object ID 5210 e para o objeto System Object ID 9015.

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

Alterações de código

Observação Sempre teste correções de código em um ambiente controlado antes de aplicar as correções aos computadores de produção.
Para resolver este problema, execute as seguintes etapas:

  1. Altere o código na seção Campos na "Gen. Tabela linha de diário (81) da seguinte maneira:
    Código existente

    ...
    "VAT Prod. Posting Group" := '';
    
    // Delete the following line.
    IF (Vend."Pay-to Vendor No." <> '') AND (Vend."Pay-to Vendor No." <> "Account No.") THEN BEGIN
    
    OK := CONFIRM(Text014,FALSE,Vend.TABLECAPTION,Vend."No.",Vend.FIELDCAPTION("Pay-to Vendor No."),
    ...
    

    Código de substituição

    ...
    "VAT Prod. Posting Group" := '';
    
    // Add the following lines.
    IF (Vend."Pay-to Vendor No." <> '') AND (Vend."Pay-to Vendor No." <> "Account No.") AND
    NOT HideValidationDialog
    THEN BEGIN
    // End of the lines.
    
    OK := CONFIRM(Text014,FALSE,Vend.TABLECAPTION,Vend."No.",Vend.FIELDCAPTION("Pay-to Vendor No."),
    ...
    
  2. Altere o código na seção Variáveis Globais na "Gen. Tabela linha de diário (81) da seguinte maneira:
    Código existente

    ...
    WarningMessageShown@1064 : Boolean;
    ...
    

    Código de substituição

    ...
    WarningMessageShown@1064 : Boolean;
    
    // Add the following line.
    HideValidationDialog@1074 : Boolean;
    ...
    
  3. Adicione a nova função SetHideValidation na "Gen. Tabela linha de diário (81) da seguinte maneira:

    PROCEDURE SetHideValidation@52(NewHideValidationDialog@1000 : Boolean);
    BEGIN
    HideValidationDialog := NewHideValidationDialog;
    END;
    
  4. Altere o código na função SaveAmount no relatório Sugerir fornecedor Pagamentos (393) da seguinte maneira:
    Código 1 existente

    ...
    "VAT Prod. Posting Group" := '';
    VALIDATE("Payment Terms Code");
    ...
    

    Código de substituição 1

    ...
    "VAT Prod. Posting Group" := '';
    
    // Add the following line.
    VALIDATE("Currency Code",VendLedgEntry."Currency Code");
    
    VALIDATE("Payment Terms Code");
    ...
    

    Código 2 existente

    ...
    Amount := -VendLedgEntry."Remaining Amount";
    
    // Delete the following line.
    VALIDATE("Account No.",Vend2."No.");
    
    VALIDATE(Amount);
    ...
    

    Código de substituição 2

    ...
    Amount := -VendLedgEntry."Remaining Amount";
    VALIDATE(Amount);
    ...
    
  5. Altere o código na função MakeGenJnlLines no relatório Sugerir fornecedor Pagamentos (393) da seguinte maneira:
    Código 1 existente

    ...
    GLSetup@1005 : Record 98;
    DimBufMgt@1003 : Codeunit 411;
    ...
    

    Código de substituição 1

    ...
    GLSetup@1005 : Record 98;
    
    // Add the following line.
    Vendor@1007 : Record 23;
    
    DimBufMgt@1003 : Codeunit 411;
    ...
    

    Código 2 existente

    ...
    "Account Type" := "Account Type"::Vendor;
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    ...
    

    Código de substituição 2

    ...
    "Account Type" := "Account Type"::Vendor;
    
    // Add the following line.
    SetHideValidation(TRUE);
    
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    ...
    

    Código 3 existente

    ...
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    "Bal. Account Type" := BalAccType;
    ...
    

    Código de substituição 3

    ...
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    
    // Add the following lines.
    Vendor.GET(TempPaymentBuffer."Vendor No.");
    IF (Vendor."Pay-to Vendor No." <> '') THEN
    Vendor.TESTFIELD("Pay-to Vendor No.","Account No.");
    // End of the lines.
    
    "Bal. Account Type" := BalAccType;
    ...
    

          

Pré-requisitos

Você deve ter a versão húngara do Microsoft Dynamics NAV 2009 R2 instalada para aplicar esse hotfix.

Informações sobre remoção

Você não pode remover esse hotfix.

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Observação Este é um artigo "FAST PUBLISH" criado diretamente na organização de suporte da Microsoft. As informações contidas aqui são fornecidas como resposta aos problemas possíveis. Como resultado da prontidão de disponibilizá-lo, os materiais pode conter erros tipográficos e podem ser revisados a qualquer momento são aviso prévio. Consulte Termos de Uso para obter outras considerações.