Message d’erreur lorsque vous imprimez l’état de l’ordre de paiement salaires dans la version suisse de Microsoft Dynamics NAV 2009 SP1 : « paiement sur banc 1 du personnel 'ABC' est xxx - inférieur à 0. »

S’applique à : Dynamics NAV 2009

Symptômes


Lorsque vous imprimez l’état de l’ordre de paiement salaires (3010606) dans la version suisse de Microsoft Dynamics NAV 2009 Service Pack 1, vous recevez le message d’erreur suivant :

Paiement à la banque 1 du personnel 'ABC' est xxx - inférieure à 0. Vérifier les allocations salaire sur banc 1 et 2, puis réexécutez la paie si nécessaire.

Cause


Ce problème se produit si vous avez un salaire brut négatif, par exemple en raison d’une correction, mais un salaire net positif.

Résolution


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, procédez comme suit :

1. Modifiez le code de la OnAfterGetRecord de 2 DataItem dans l’état de l’ordre de paiement salaires (3010606) comme suit :

Code existant
 …
DirectPay1 : = DirectPay1 + montant
AUTRE
DirectPay2 : = DirectPay2 + montant ;
IF différente de DirectPay2 0 puis commencer
  NetPayment1 := DirectPay1;
  NetPayment2 := DirectPay2;

Code de remplacement

DirectPay1 : = DirectPay1 + montant
AUTRE
DirectPay2 : = DirectPay2 + montant ;
RecordCount : = RecordCount + 1 ;
IF RecordCount <> « Écriture de salaire ». NOMBRE PUIS
  CurrReport.SKIP;
IF différente de DirectPay2 0 puis commencer
  NetPayment1 := DirectPay1;
  NetPayment2 := DirectPay2;

Existing code 
… 
BenAdr : = personnel. » Bénéficiaire adresse 2" ;
    BenCity := '';
FIN ;
RecordCount : = RecordCount + 1 ;
IF RecordCount <> « Écriture de salaire ». NOMBRE PUIS
    CurrReport.SKIP;
FIN ;

Code de remplacement

BenAdr : = personnel. » Bénéficiaire adresse 2" ;
    BenCity := '';
FIN ;
FIN ;

Informations du Support interne Microsoft


Procédure à suivre.

1. Ouvrez une base de données de CH NAV 2009 SP1
2. Accédez à la liste de paie -> personnel et la fiche de personnel ouvert ML
3. bouton, salaire ; Ajoutez la ligne suivante :
Type de salaire = 1000
Texte = Monatslohn Korrektur (ce qui signifie « salaire correction »)
Valide à partir de = 01.11.2011
Valide à = 30.11.2011
Quantité = -1
Base = 15500
4. Accédez à la liste de paie -> Décompter salaires
Personnel non = ML
Décompte de = 01.11.2011
tous les autres champs doivent remplir automatiquement
-> OK
5. Accédez à la liste de paie -> mensuelle Rapports -> paiement -> paiement commande -> Aperçu
Vous obtenez le message d’erreur :

<<<
Paiement à la banque 1 du personnel ML est -500 inférieure à 0. Vérifier les allocations salaire sur banc 1 et 2, puis réexécutez la paie si nécessaire.
>>>

 
Numéro de bogue de produit : Vedbaek SE : 56428
ID (alias de messagerie) de l’auteur : dirkree
ID du rédacteur (alias de messagerie) : dirkree, spriess
ID du réviseur technique (alias de messagerie) : spriess
Confirmer l’Article a été révisé de Tech : Oui
Confirmer que l’Article publié pour la publication : Oui