Le solde du grand livre est calculé de manière incorrecte lorsque vous créez un rapprochement bancaire sur un compte bancaire en devise étrangère dans la version nord-américaine de Microsoft Dynamics NAV 2009

S’applique à : Dynamics NAV 2009

Cet article s’applique à Microsoft Dynamics NAV pour les pays suivants et les paramètres régionaux de langue.
  • Anglais (Canada) (fr-ca)
  • Anglais (États-Unis) (en-us)
  • Espagnol (Mexique) (es-mx)
  • Français (Canada) (fr-ca)

Symptômes


Supposons que vous validez une feuille règlement qui utilise un compte bancaire en devise étrangère dans la version nord-américaine de Microsoft Dynamics 2009. Vous créez un ajustement de la feuille règlement en exécutant la fonction Ajuster taux de change devise... . Dans ce cas, lorsque vous créez un rapprochement bancaire sur le compte bancaire en devise étrangère, le solde du grand livre dans la ligne proposée est calculé correctement. Le calcul de rapprochement bancaire n’inclut pas les gains ou les pertes de change réalisées du compte bancaire.
Ce problème se produit dans les produits suivants :
  • La version nord-américaine de Microsoft Dynamics NAV 2009 R2
  • La version nord-américaine de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Résolution


Important Le correctif (2548309) a été rétabli le code d’origine et doit être supprimé de la base de données où cette modification a été appliquée. Si vous avez apporté des modifications de code sont décrites dans la section « Modifications de Code », vous pouvez modifier le code pour que votre code correspond à la section « Code existant ». Si le code n’est pas rétabli, vous pouvez avoir une différence dans l’onglet Général de la conciliation bancaire et puis ne peut pas procéder à une publication.
Le problème avec un déséquilibre de grand livre (général) sur le rapprochement de compte bancaire de base de données en Amérique du Nord dans le scénario de recréer d’origine de cet article a été revisitée et examiné. À approfondir l’analyse, la gestion des produits et le développement déterminé que le problème a été signalé avec le déséquilibre n’est pas le résultat d’un code standard incorrect pour le calcul de rapprochement bancaire, mais un problème de données qui est dû à la configuration initiale du compte bancaire. La configuration initiale incorrecte du compte bancaire consistait à rompre le lien entre l’écriture compte bancaire et l’écriture de compte G/L. Les étapes de configuration de compte bancaire de devise incorrect peuvent inclure quelque chose qui ressemble à la procédure suivante :
  1. Valider une feuille de grand livre pour le compte du grand livre du compte bancaire pour le solde initial, par exemple le compte général 11650.

    Remarque Cette opération est généralement incluse dans le cadre de la configuration de la balance de vérification comptable initiale.
  2. Valider une écriture de journal de réception de trésorerie pour le compte bancaire dans lequel le groupe de comptabilisation du compte bancaire a un compte général temporaire, par exemple 11000, affecté, et toutes les transactions non rapprochées ouvertes, tels que les chèques et les encaissements, le compte bancaire. Le compte de contrepartie est également défini sur le même compte, par exemple 11000, pour générer une entrée au cycle de lavage.
  3. La compte de groupe comptabilisation banque est ensuite remplacée dans le compte général temporaire pour le compte général 11650. Par conséquent, l’écriture d’origine qui a été validée pour établir le paramétrage de compte de banque détaillées à l’étape 2 a été vers un autre compte général. Par conséquent, le lien vers les écritures comptables n’est plus établi.
Une installation incorrecte supplémentaire pour un compte bancaire en devise étrangère aurait l’aspect suivant :
  1. Valider une feuille de grand livre pour le compte du grand livre du compte bancaire pour le solde initial, par exemple le compte général 11650.
  2. Puis validez une feuille dans le compte bancaire, le compte de contrepartie définie sur le même compte général comme spécifié dans le groupe comptabilisation banque, comme dans ce cas le compte général 11650.
Là encore, il n’existe aucun lien entre l’écriture comptable validée à l’étape 1 et de l’écriture compte bancaire enregistré à l’étape 2.

Ces étapes sont la manière incorrecte pour traiter le début d’un nouveau compte bancaire étranger. Si vous exécutez ce processus incorrect, vous pouvez rencontrer le problème décrit dans cet article (2548309). Ce correctif (2548309) a été ajouté pour corriger un scénario spécifique qui a été provoqué par le programme d’installation qui ressemble à l’exemple précédent. Toutefois, les scénarios de validation différente a entraîné problèmes avec les déséquilibres continues si vous paramétrez un compte bancaire, mais n’empêchent pas le compte G/L dans le groupe de validation bancaire, ou s’il n’existe aucun lien direct entre les écritures compte bancaire et les écritures comptables.

Recommandation : Le processus recommandé pour la configuration d’une banque devise étrangère serait semblable à la suivante (en supposant un montant en devise locale pour le GL est de 10 000 dollars).

Remarque : le texte suivant est basé sur un taux de change devise de 1:1. Montants du grand livre sont mis à jour dans la devise locale. Par conséquent, les calculs manuels sont nécessaires pour le compte bancaire afin que le GL est mis à jour avec le montant de la devise appropriée.
  1. Lors de la validation des soldes d’ouverture d’évaluation dans le GL, valider le solde du grand livre de la banque à un compte général temporaire, comme le compte général 11000, pour 10 000 $.
  2. Valider une feuille comptabilité pour le compte bancaire, qui a ouvert le compte bancaire groupe comptabilisation configurée sur le compte de général souhaité, dans ce compte général 11650. Ici, vous devez affecter le compte de contrepartie pour le compte général 11000, qui est le compte de caisse temporaire initial qui a été publié dans le cadre de l’installation de la version d’évaluation de solde.

    -Validation de cette entrée de 10 000 $ mettra à jour le compte général et compte bancaire étranger 11650 de 10 000 euros. Il permet également de réduire ce compte général temporaire 11000 $ 0 en raison de la compensation de compte de la transaction de contrepartie. Comptabilisation de cette manière, il existe un lien direct entre l’écriture comptable bancaire et l’écriture de compte G/L. Il s’agit de la manière correcte de traiter et de gérer le paramétrage d’un compte bancaire étranger.

Informations sur le correctif

Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu uniquement pour corriger le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n’êtes pas sérieusement concerné par ce problème, nous vous recommandons d’attendre le prochain service pack Microsoft Dynamics NAV ou la prochaine version de Microsoft Dynamics NAV qui comprendra ce correctif.

Remarque Dans certains cas, les frais généralement encourus pour la prise en charge des appels peuvent être annulés si un technicien du Support technique pour Microsoft Dynamics et les produits associés détermine qu’une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.


Informations sur l’installation

Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Remarque Avant d’installer ce correctif, vérifiez que tous les utilisateurs du client Microsoft Navision sont enregistrés sur le système. Cela inclut les utilisateurs du client Microsoft Navision Application Services (NAS). Vous devez être le seul utilisateur client connecté lors de l’implémentation de ce correctif.

Pour appliquer ce correctif, vous devez posséder une licence développeur.

Il est recommandé que le compte d’utilisateur dans la fenêtre Logins Windows ou dans la fenêtre Logins base de données est affecté à l’ID de rôle « SUPER ». Si le compte d’utilisateur ne peut pas être affecté à l’ID de rôle « SUPER », vous devez vérifier que le compte d’utilisateur dispose des autorisations suivantes :
  • L’autorisation de modification pour l’objet que vous allez modifier.
  • L’autorisation d’exécution pour l’objet ID objet système 5210 et pour l’objet ID objet système 9015 .


Remarque Vous n’êtes pas obligé de disposer des droits pour les banques de données excepté si vous devez réparer des données.

Modifications du code

Remarque Toujours tester le code des correctifs dans un environnement contrôlé, avant d'appliquer les correctifs à vos ordinateurs de production.
Pour résoudre ce problème, modifiez le code dans la fonction CalculateBalance de la table en-tête de rapprochement bancaire (10120) comme suit :
Code existant
...          REPEAT
IF BankAccLedgEntry.GET(GLEntry."Entry No.") THEN BEGIN
IF "Currency Code" <> BankAccLedgEntry."Currency Code" THEN BEGIN
IF BankAccLedgEntry."Currency Code" <> '' THEN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtFCYToFCY("Statement Date",
BankAccLedgEntry."Currency Code",
"Currency Code",
BankAccLedgEntry.Amount),
Currency."Amount Rounding Precision")
ELSE
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
BankAccLedgEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END ELSE BEGIN

// Delete the folloiwng line.
"G/L Balance" += BankAccLedgEntry.Amount;

END;
END ELSE BEGIN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END;
UNTIL GLEntry.NEXT = 0;
...
Code de remplacement
...          REPEAT
IF BankAccLedgEntry.GET(GLEntry."Entry No.") THEN BEGIN
IF "Currency Code" <> BankAccLedgEntry."Currency Code" THEN BEGIN
IF BankAccLedgEntry."Currency Code" <> '' THEN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtFCYToFCY("Statement Date",
BankAccLedgEntry."Currency Code",
"Currency Code",
BankAccLedgEntry.Amount),
Currency."Amount Rounding Precision")
ELSE
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
BankAccLedgEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END ELSE BEGIN

// Add the following lines.
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
// End of the lines.

END;
END ELSE BEGIN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END;
UNTIL GLEntry.NEXT = 0;
...

Conditions préalables

Vous devez disposer d’un des produits suivants est installé pour appliquer ce correctif :
  • La version nord-américaine de Microsoft Dynamics NAV 2009 R2
  • La version nord-américaine de Microsoft Dynamics NAV 2009 Service Pack 1

Informations sur la suppression

Vous ne pouvez pas supprimer ce correctif.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».
Remarque Il s’agit d’un article de « Dernière minute » créé directement à partir de l’organisation de support technique de Microsoft. Les informations contenues dans ce document sont fournies en l'état, en réponse à des problèmes nouveaux. En raison de la rapidité de leur mise à disposition, les documents peuvent contenir des erreurs typographiques et peuvent être révisés à tout moment sans préavis. Consultez les Conditions d’utilisation pour d’autres considérations.