Share via


Il valore del campo non è corretto in TaxTrans

Se il valore di un campo in TaxTrans non è corretto, usare le informazioni contenute in questo articolo per tentare di risolvere il problema.

Panoramica dei valori

L'elenco seguente mostra come TaxTrans, TaxUncommitted e TmpTaxWorkTrans siano set di dati simili, ma funzionano in modo diverso.

  • TaxTrans è il risultato finale della transazione fiscale registrata persistente nel database.
  • TaxUncommitted è il risultato fiscale calcolato intermedio persistente nel database (se applicabile), che verrà usato più avanti nella registrazione.
  • TmpTaxWorkTrans è il risultato fiscale calcolato temporaneo nella tabella in memoria (Tipo di tabella = InMemory).

Se si trova la causa radice di una colonna TaxTrans non corretta, è stata trovata anche la causa radice di una colonna TaxUncommitted o TmpTaxWorkTrans non corretta perché le tre colonne vengono copiate l'una dall'altra.

In genere, durante il calcolo delle imposte, viene generato TmpTaxWorkTrans e quindi, se applicabile, viene generato TaxUncommitted . Durante la registrazione delle imposte, viene generato TaxTrans .

Aggiungere punti di interruzione

Per aggiungere punti di interruzione, seguire questa procedura:

  1. Aggiungere estensioni e punti di interruzione in insert() e update() nelle estensioni come illustrato di seguito.

    • 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. In alternativa, è possibile aggiungere i punti di interruzione direttamente quando TaxUncommitted non è incluso.

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

Riprodurre ed eseguire il debug

Dopo aver impostato i punti di interruzione, ogni modifica alla persistenza dei dati è visibile durante il debug. Per trovare la causa radice di una colonna non corretta di TaxTrans, TaxUncommitted o TmpTaxWorkTrans, esaminare e prendere nota degli elementi seguenti:

  • Ultimo punto di interruzione in cui la colonna è corretta.
  • Primo punto di interruzione in cui la colonna non è corretta.
  • Cosa succede tra questi due punti.

Determinare se esiste la personalizzazione

Se sono stati completati i passaggi nelle sezioni precedenti ma non è stato possibile risolvere il problema, determinare se esiste la personalizzazione. Se non esiste alcuna personalizzazione, contattare supporto tecnico Microsoft per assistenza.