Compartilhar via


O valor do campo está incorreto em TaxTrans

Se um valor de campo em TaxTrans estiver incorreto, use as informações deste artigo para tentar resolver o problema.

Visão geral de valores

A lista a seguir mostra como TaxTrans, TaxUncommitted e TmpTaxWorkTrans são conjuntos de dados semelhantes, mas trabalham de forma diferente.

  • TaxTrans é o resultado da transação de imposto lançado final persistente no banco de dados.
  • TaxUncommitted é o resultado do imposto calculado intermediário persistente no banco de dados (se aplicável), que será usado posteriormente no lançamento.
  • TmpTaxWorkTrans é o resultado do imposto calculado temporário da tabela na memória (Tipo de Tabela = InMemory).

Se você encontrar a causa raiz de uma coluna TaxTrans incorreta, também encontrou a causa raiz de uma coluna TaxUncommitted ou TmpTaxWorkTrans incorreta, pois as três colunas são copiadas umas das outras.

Normalmente, durante o cálculo de impostos, TmpTaxWorkTrans é gerado e, em seguida, se aplicável, TaxUncommitted é gerado. Durante o lançamento de impostos, TaxTrans é gerado.

Adicionar pontos de interrupção

Para adicionar pontos de interrupção, conclua as seguintes etapas:

  1. Adicione extensões e pontos de interrupção nas insert() extensões, update() conforme mostrado abaixo.

    • TaxTrans

      [ExtensionOf(tableStr(TaxTrans))]
      public final class TaxTrans_Extension
      {
          public void insert()
          {
              next insert();
          }
      
          public void update()
          {
              next update();
          }
      
      }
      
    • TaxUncommitted

      [ExtensionOf(tableStr(TaxUncommitted))]
      public final class TaxUncommitted_Extension
      {
          public void insert()
          {
              next insert();
          }
      
          public void update()
          {
              next update();
          }
      
      }
      
    • TmpTaxWorkTrans

      [ExtensionOf(tableStr(TmpTaxWorkTrans))]
      public final class TmpTaxWorkTrans_Extension
      {
          public void insert(boolean _ignoreCalculatedSalesTax)
          {
              next insert(_ignoreCalculatedSalesTax);
          }
      
          public void update(boolean _ignoreCalculatedSalesTax)
          {
              next update(_ignoreCalculatedSalesTax);
          }
      
      }
      
  2. Como alternativa, você pode adicionar pontos de interrupção diretamente quando TaxUncommitted não estiver incluído.

    • TaxTrans.insert(), TaxTrans.update()
    • TmpTaxWorkTrans.insert(), TmpTaxWorkTrans.update()

Reproduzir e depurar

Depois que os pontos de interrupção são definidos, todas as alterações de persistência de dados ficam visíveis durante a depuração. Para encontrar a causa raiz de uma coluna incorreta de TaxTrans, TaxUncommitted ou TmpTaxWorkTrans, revise e anote os seguintes itens:

  • O último ponto de interrupção no qual a coluna está correta.
  • O primeiro ponto de interrupção no qual a coluna está incorreta.
  • O que acontece entre esses dois pontos.

Determinar se há personalização

Se você concluiu as etapas nas seções anteriores, mas não conseguiu resolver o problema, determine se a personalização existe. Se não houver personalização, contate o Suporte da Microsoft para obter ajuda.