LDPaye Version 7.20 Niveau 37 [SRCDATA] SOC_RSSO=Nom société;PESOCI.RSSO ETAB_RSSO=Nom établissement;PEETAB.RSSO ETAB_ADCA=Adresse établissement Ligne 1;PEETAB.ADCA ETAB_ADVO=Adresse établissement Ligne 2;PEETAB.ADVO ETAB_COPO=Code postal établissement;PEETAB.COPO ETAB_BRDI=Ville établissement;PEETAB.BRDI ETAB_SIRE=SIRET établissement;PEETAB.SIRE ETAB_URS1=URSSAF Ville;PEETAB.URS1 ETAB_URSC=URSSAF Code;PEETAB.URSC ETAB_URSN=URSSAF Numéro;PEETAB.URSN ETAB_SIGN=Nom signataire;PEETAB.SIGN ETAB_SIGQ=Qualité signataire;PEETAB.QSAE:PAYTAB.LDAU NPPE=Matricule;PEPERS.NPPE TITR=Titre;PEPERS.TITR LIB_TITR=TitreEnClair;PEPERS.TITR_L NMAG=Nom;PEPERS.NMAG PREN=Prénom;PEPERS.PREN AUNA=Nom de jeune fille;PEPERS.AUNA NSS=Numéro S.S.;PEPERS.NSS ADCA=Adresse ligne 1;PEPERS.ADCA ADVO=Adresse ligne 2;PEPERS.ADVO ADCO=Adresse ligne 3;PEPERS.ADCO COPO=Code postal;PEPERS.COPO BRDI=Bureau distributeur;PEPERS.BRDI LIBPAYS=Pays de résidence LPNT=Nationalité;PEPERS.CPNT:PEPAYS.LPAY DAEN=Date entrée;PEPACT.DAEN DASO=Date sortie;PEPACT.DASO CMIF=Code départ;PEPACT.CMIF LMIF=Motif départ;PEPACT.CMIF:PEMOTI.LMIN QUAL=Qualification;PEPACT.QUAL CLAS=Classification;PECLAS.CLAS MOISPAYE=Période paye;DERMOIS NETIMB=Net imposable Bulletin COTPATPRV=Cot.patr.Frais de santé NETIMD=Net imposable Déclaré [NETIMB] // CODE COMPILE DYNAMIQUEMENT TotalNet est un réel DébutPériode,FinPériode sont des chaines PremierMoisExercice est une chaine = ZoneConstante::LireConstanteGenerale("*PRMEX") // On calcule la période correspondant à l'exercice 2013, en prévoyant le cas du décalage de paye SI PremierMoisExercice[[5 à 6]]="01" alors DébutPériode="201301" ; FinPériode="201312" SINON DébutPériode="201212" ; FinPériode="201311" FIN // On lit les lignes de bulletin portant le N° 7050 (Net imposable mensuel) RubriqueNet est une chaine="7050" HlitRecherchePremier("CALIBU","KLIBU5",[PEPERS.COSO,PEPERS.NPPE,RubriqueNet,DébutPériode]) TANTQUE pas hEndehors("CALIBU") _ET_ ... CALIBU.COSO=PEPERS.COSO ET CALIBU.NPPE=PEPERS.NPPE ET CALIBU.NORU=RubriqueNet _ET_ ... CALIBU.MPAY <= FinPériode TotalNet+=CALIBU.MONT HlitSuivant("CALIBU","KLIBU5") FIN // On renvoie la valeur sous forme d'une chaine de caractère RENVOYER NumériqueVersChaine(TotalNet, "9,2fS") [COTPATPRV] // CODE COMPILE DYNAMIQUEMENT TotalCotisations est un réel DébutPériode,FinPériode sont des chaines PremierMoisExercice est une chaine = ZoneConstante::LireConstanteGenerale("*PRMEX") ListeCotisations, UneCotisation sont des chaines // On calcule la période correspondant à l'exercice 2013, en prévoyant le cas du décalage de paye SI PremierMoisExercice[[5 à 6]]="01" alors DébutPériode="201301" ; FinPériode="201312" SINON DébutPériode="201212" ; FinPériode="201311" FIN // On utilise le paramètre N4DS S40.G40.00.063.001, qui donne le net imposable déclaré en DADS-U // pour déterminer la liste des cotisations correspondant aux cotisations patronales prévoyance HLitRecherchePremier("DUPARA","KPARA",["S40.G40.00.063.001"],hGenerique) TANTQUE HTrouve("DUPARA") SI DUPARA.TPDU="LB5" alors ListeCotisations+=[";"]+DUPARA.CPDU HLitSuivant("DUPARA","KPARA") FIN // On peut aussi forcer cette liste en la renseignant ci-dessous : il faut indiquer la liste des N° des cotisations, // séparées par un point virgule, comme ci-dessous (en effacant les // à gauche pour que la ligne soit effectivement prise en compte) : // ListeCotisations="6420;6430;6435" // On lit les montants de ces cotisations, sur la période concernée POUR TOUTE CHAINE UneCotisation de ListeCotisations SEPAREE PAR ";" HlitRecherchePremier("CALIBU","KLIBU5",[PEPERS.COSO,PEPERS.NPPE,UneCotisation,DébutPériode]) TANTQUE pas hEndehors("CALIBU") _ET_ ... CALIBU.COSO=PEPERS.COSO ET CALIBU.NPPE=PEPERS.NPPE ET CALIBU.NORU=UneCotisation _ET_ ... CALIBU.MPAY <= FinPériode TotalCotisations-=CALIBU.MTCP HlitSuivant("CALIBU","KLIBU5") FIN FIN // On renvoie la valeur sous forme d'une chaine de caractère RENVOYER NumériqueVersChaine(TotalCotisations, "9,2fS") [NETIMD] // CODE COMPILE DYNAMIQUEMENT TotalNet est un réel DébutPériode,FinPériode sont des chaines PremierMoisExercice est une chaine = ZoneConstante::LireConstanteGenerale("*PRMEX") ListeRubriques, ListeCotisations, UneRubriqueOuCotisation sont des chaines // On calcule la période correspondant à l'exercice 2013, en prévoyant le cas du décalage de paye SI PremierMoisExercice[[5 à 6]]="01" alors DébutPériode="201301" ; FinPériode="201312" SINON DébutPériode="201212" ; FinPériode="201311" FIN // On utilise le paramètre N4DS S40.G40.00.063.001, qui donne le net imposable déclaré en DADS-U // pour déterminer la liste des rubriques ou cotisations correspondant ayant servi à déclarer le net imposable en DADS-U HLitRecherchePremier("DUPARA","KPARA",["S40.G40.00.063.001"],hGenerique) TANTQUE HTrouve("DUPARA") SI DUPARA.TPDU="LB3" alors ListeRubriques+=[";"]+DUPARA.CPDU SINON ListeCotisations+=[";"]+DUPARA.CPDU HLitSuivant("DUPARA","KPARA") FIN // On peut aussi forcer ces 2 listes en les renseignant ci-dessous, // séparées par un point virgule, comme ci-dessous (en effacant les // à gauche pour que les lignes soit effectivement prises en compte) : // ListeRubriques="7050" // ListeCotisations="6420;6430;6435" // On lit les montants de ces cotisations ou rubriques, sur la période concernée POUR TOUTE CHAINE UneRubriqueOuCotisation de (ListeRubriques+[";"]+ListeCotisations) SEPAREE PAR ";" HlitRecherchePremier("CALIBU","KLIBU5",[PEPERS.COSO,PEPERS.NPPE,UneRubriqueOuCotisation,DébutPériode]) TANTQUE pas hEndehors("CALIBU") _ET_ ... CALIBU.COSO=PEPERS.COSO ET CALIBU.NPPE=PEPERS.NPPE ET CALIBU.NORU=UneRubriqueOuCotisation _ET_ ... CALIBU.MPAY <= FinPériode SI Position(ListeRubriques,UneRubriqueOuCotisation) > 0 alors TotalNet+=CALIBU.MONT SINON TotalNet-=CALIBU.MTCP FIN HlitSuivant("CALIBU","KLIBU5") FIN FIN // On renvoie la valeur sous forme d'une chaine de caractère RENVOYER NumériqueVersChaine(ArrondiInférieur(TotalNet,0), "9,2fS") [LIBPAYS] // CODE COMPILE DYNAMIQUEMENT // On renvoie le pays, sauf s'il s'agit de la FRANCE HLitRecherchePremier("PEPAYS","CPAY",PEPERS.CPAY) SI HTROUVE("PEPAYS") et pas PEPAYS.LPAY~="FRANCE" alors Renvoyer PEPERS.LPAY SINON Renvoyer Caract(160) FIN