Partilhar via


Recalcular montantes líquidos de linha ao importar ordens de venda e cotações

Isto artigo descreve se e como o sistema recalcula montantes líquidos de linha quando ordens do cliente e cotações são importadas. Também explica como pode controlar o comportamento em diferentes versões da Microsoft Dynamics 365 Supply Chain Management.

Como são calculadas as actualizações dos montantes líquidos das linhas na importação

A versão 10.0.23 do Supply Chain Management introduziu a correção de erros em 604418. Esta correção de erro alterou as condições em que o campo Net amount numa linha pode ser atualizado ou recalculado quando são importadas actualizações de encomendas de vendas e cotações existentes. Na versão 10.0.29, pode substituir esta correção de erro activando a funcionalidade Calcular o montante líquido da linha na importação . Esta funcionalidade tem um efeito semelhante, mas fornece uma definição global que permite regressar ao comportamento antigo, se necessário. Embora o novo comportamento faça com que o sistema funcione de uma forma mais intuitiva, pode produzir resultados inesperados em cenários específicos em que todas as condições seguintes são cumpridas:

  • Os dados que actualizam os registos existentes são importados através da entidade Linhas de ordens de venda V2, Linhas de cotações de vendas V2, ou Linhas de ordens de devolução utilizando o Protocolo de Dados Abertos (OData), incluindo situações em que utiliza a escrita dupla, a importação/exportação através do Excel e algumas integrações de terceiros.
  • Políticas de avaliação de acordos comerciais que estão em vigor estabelecem uma política de alterações que restringe as actualizações ao campo Net amount nas linhas de encomendas de vendas, linhas de cotações de vendas e/ou linhas de ordens de devolução. Note-se que, para as linhas de ordem de devolução, o campo Net amount é sempre calculado e não pode ser definido manualmente.
  • Os dados importados incluem alterações ao campo Net amount nas linhas, ou alterações (tais como preço unitário, quantidade ou desconto) que farão com que o valor do campo Net amount nas linhas seja recalculado para um ou mais registos de linha existentes.

Nestes cenários específicos, o efeito da política de avaliação do acordo comercial é colocar uma restrição às actualizações do campo Net amount na linha. Esta restrição é conhecida como change policy. Devido a esta política, quando se utiliza a interface de utilizador para editar ou recalcular o campo, o sistema pede que se confirme se se pretende efetuar a alteração. No entanto, quando se importa um registo, o sistema tem de fazer a escolha por si. Antes da versão 10.0.23, o sistema deixava sempre inalterado o montante líquido da linha, exceto se o montante líquido da linha de entrada fosse 0 (zero). No entanto, nas versões mais recentes, o sistema actualiza ou recalcula sempre o montante líquido conforme necessário, a menos que seja explicitamente instruído para não o fazer. Embora o novo comportamento seja mais lógico, pode causar problemas se já estiver a executar processos ou integrações que assumem o comportamento anterior. Isto artigo descreve como reverter para o comportamento antigo, se for necessário.

Controlo dos cálculos dos montantes líquidos da linha nas versões 10.0.29 e posteriores

A versão 10.0.29 do Supply Chain Management introduziu uma funcionalidade denominada Calcular o montante líquido da linha na importação. Esta funcionalidade adiciona uma opção denominada Calcular o montante líquido da linha à página Parâmetros de contas a receber . Esta opção permite-lhe selecionar entre os comportamentos novo e antigo para calcular os montantes líquidos da linha na importação.

Ativar ou desativar a função Calcular o montante líquido da linha na importação

Ao atualizar para a versão 10.0.29, a funcionalidade Calcular o montante líquido da linha na importação é activada por predefinição e a nova opção Calcular o montante líquido da linha é inicialmente definida para Sim. A definição Yes corresponde ao novo comportamento padrão. Corresponde ao comportamento do sistema quando a caraterística está desactivada, exceto no caso da funcionalidade do parâmetro CalculateLineAmount, como descrito mais adiante neste artigo. A definição No corresponde ao comportamento do sistema antes da versão 10.0.23 e é fornecida principalmente para suportar cenários de integração antigos.

A partir da versão 10.0.36 do Supply Chain Management, a funcionalidade é obrigatória e não pode ser desativada. Se estiver a executar uma versão anterior à 10.0.36, os administradores podem ativar ou desativar esta funcionalidade procurando a funcionalidade Calcular o montante líquido da linha na importação no espaço de trabalho Gestão de funcionalidades .

Definir a opção Calcular o montante líquido da linha

Quando a funcionalidade Calcular o valor líquido da linha na importação está activada, pode definir a opção Calcular o valor líquido da linha seguindo estes passos.

  1. Aceda a Contas a receber > Configuração > Parâmetros de contas a receber.

  2. No separador Preços , no separador Cálculo do montante líquido da linha através da integração FastTab, defina a opção Calcular o montante líquido da linha para um dos seguintes valores:

    • Sim - O sistema irá sempre recalcular e atualizar os montantes das linhas quando necessário. (Por conseguinte, ignorará a política de avaliação do acordo comercial).
    • No - Se o valor líquido existente ou de entrada para qualquer linha for 0 (zero), o valor para essa linha será recalculado com base em outros valores (como o preço unitário, a quantidade e o desconto). Se o valor líquido existente ou recebido for diferente de 0 (zero) e for definida uma política de modificação no campo Valor líquido na linha, o campo não é recalculado ou atualizado, mesmo quando as modificações recebidas no preço, na quantidade e/ou no desconto da linha implicam que o total da linha deve ser recalculado. Isto comportamento corresponde ao da versão 10.0.22.

Como a caraterística Calcular o valor líquido da linha na importação afecta o parâmetro CalculateLineAmount

Quando a funcionalidade Calcular o valor líquido da linha na importação está activada, o valor do parâmetro CalculateLineAmount para as tabelas SalesLine e SalesQuotationLine não tem efeito. Em vez disso, o comportamento é controlado globalmente pela opção Calcular montante líquido da linha , descrita na secção anterior. Por conseguinte, quando a funcionalidade estiver activada, não deve ficar dependente do valor CalculateLineAmount .

Quando a funcionalidade Calcular o valor líquido da linha na importação está desactivada, o parâmetro CalculateLineAmount para as tabelas SalesLine e SalesQuotationLine funciona como nas versões 10.0.23 a 10.0.28 do Supply Chain Management, conforme descrito na secção seguinte.

Cálculos do montante líquido da linha de controlo nas versões 10.0.28 e anteriores

Quando o bugfix 604418 wintroduzida na versão 10.0.23, tornou-se possível selecionar o comportamento de cada entidade de dados relevante quando o montante líquido de uma linha foi editado ou teve de ser recalculado devido a outras alterações (como um preço de item atualizado). Pode controlar isto comportamento definindo o novo parâmetro CalculateLineAmount para cada linha com um dos seguintes valores no ficheiro importado:

  • CalculateLineAmount = 1 - O campo Net amount na linha é sempre recalculado e atualizado, independentemente de estar definida uma política de alteração para o campo e do valor do montante líquido da linha recebido ou existente.
  • CalculateLineAmount = 0 - Se o valor líquido existente ou de entrada para qualquer linha for 0 (zero), o valor para essa linha é recalculado com base noutros valores (como o preço unitário, a quantidade e o desconto). Se o valor líquido existente ou de entrada for diferente de 0 (zero) e for definida uma política de modificação no campo Valor líquido na linha, o campo não é recalculado ou atualizado.  

O comportamento do sistema depende da sua versão do Supply Chain Management:

  • Na versão 10.0.22 e anteriores, o sistema comporta-se sempre como se CalculateLineAmount estivesse definido para 0, e não há forma de o fazer comportar-se como se CalculateLineAmount estivesse definido para 1.
  • Nas versões 10.0.23 a 10.0.28, o sistema comporta-se como se CalculateLineAmount estivesse definido para 1 para todas as linhas onde não está explicitamente definido para 0 no ficheiro de importação.