Partager via


La valeur du champ est incorrecte dans TaxTrans

Si une valeur de champ est incorrecte dans TaxTrans, utilisez les informations de cet article pour essayer de résoudre le problème.

Aperçu des valeurs

La liste suivante montre que TaxTrans, TaxUncommitted et TmpTaxWorkTrans sont des ensembles de données similaires, mais fonctionnent différemment.

  • TaxTrans est le résultat final de la transaction fiscale affiché et conservé dans la base de données.
  • TaxUncommitted est le résultat de taxe calculé intermédiaire conservé dans la base de données (le cas échéant), qui sera utilisé plus tard lors de la comptabilisation.
  • TmpTaxWorkTrans est le résultat de taxe calculé temporaire dans la table en mémoire (Type de table = InMemory).

Si vous trouvez la cause racine d’une colonne TaxTrans incorrecte, vous avez également trouvé la cause racine d’une colonne TaxUncommitted ou TmpTaxWorkTrans incorrecte, car les trois colonnes sont copiées les unes des autres.

En règle générale, lors du calcul de la taxe, TmpTaxWorkTrans est généré, puis, le cas échéant, TaxUncommitted est généré. Lors de la validation de la taxe, TaxTrans est généré.

Ajouter des points d’arrêt

Procédez comme suit pour ajouter des points d’arrêt :

  1. Ajoutez des extensions et des points d’arrêt dans insert() et update() dans les extensions, comme indiqué ci-dessous.

    • 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. Vous pouvez également ajouter des points d’arrêt directement lorsque TaxUncommitted n’est pas inclus.

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

Reproduire et déboguer

Une fois les points d’arrêt définis, chaque modification de la persistance des données est visible pendant le débogage. Pour trouver la cause première d’une colonne incorrecte de TaxTrans, TaxUncommitted ou TmpTaxWorkTrans, passez en revue et notez les éléments suivants :

  • Le dernier point d’arrêt où la colonne est correcte.
  • Le premier point d’arrêt où la colonne est incorrecte.
  • Ce qu’il se passe entre ces deux points.

Déterminer si la personnalisation existe

Si vous avez effectué les étapes décrites dans les sections précédentes, mais que vous n’avez pas pu résoudre le problème, déterminez si la personnalisation existe. Si aucune personnalisation n’existe, contactez le support Microsoft pour obtenir de l’aide.