cT66SE ;Leveranciersbetalingen; cT66SE ; T0 ;Uitvoering betaling T1 ;Er is een ;circulaire cheque;postassignatie; voor leverancier : ; T6 ;BIC code niet ingevuld.; T7 ;Betalingsvoorstel op het document staat op neen.; T8 ;Leverancier is geblokkeerd.; T9 ;Verkeerd teken voor bedrag (factuur = positief, creditnota = negatief).; T10 ;Documenten in ; kunnen niet betaald worden via een financiële rekening in ; T11 ;Factuur mag maar één keer voorkomen in de betaling.; T12 ;Document is reeds volledig opgenomen in een (andere) betaling.; T13 ;Geen IBAN/nationaal nummer ingevuld.; T14 ;Niet Europese overschrijving met munt EUR binnen SEPA-zone.; T15 ;Europese overschrijving met munt verschillend van EUR.; T16 ;Europese overschrijving binnen een niet SEPA-zone.; T33 ;BIC code van de financiële rekening is niet ingevuld.; T38 ;Naam ;Land ;van de BIC code is niet ingevuld.; T39 ;Kostencode niet ingevuld.; T40 ;Enkel financiële rekeningen in munt zijn toegelaten.; T43 ;Er moet een geldig IBAN nummer worden ingevuld bij de financiële rekening. T44 ;Het te betalen bedrag mag niet gelijk zijn aan nul, verwijder het document in dit geval. T45 ;Banknummer ontbreekt bij leverancier ; T46 ;Factuur ; reeds betaald; bedrag te groot; komt meerdere keren voor; T47 ;Er zijn geen lijnen om een betaling uit te voeren ; ; T0F ;Exécution paiement; T1F ;Il y a ;un chèque circulaire;une assignation; pour fournisseur : ; T6F ;Code BIC n'a pas été informé.; T7F ;Paramètre 'Proposition de paiement' du document est mis sur 'non'.; T8F ;Le fournisseur est bloqué.; T9F ;Signe fautif pour montant de paiement (facture = positif, note de crédit = negatif).; T10F ;Documents en ; ne peuvent pas être réglés par un compte financier en ; T11F ;Facture ne peut figurer qu'une seule fois dans l'ordre de paiement.; T12F ;Ce document a déjà été repris dans un (autre) ordre de paiement.; T13F ;IBAN/numéro national n'a pas été informé.; T14F ;Virement non Européen avec monnaie EUR en dedans de la zône SEPA.; T15F ;Virement Européen avec une monnaie différente de EUR.; T16F ;Virement Européen en dedans d'une zone non SEPA.; T33F ;Code BIC du compte financier n'est pas rempli.; T38F ;Nom ;Pays ;du code BIC n'est pas informé.; T39F ;Code des frais n'a pas été informé.; T40F ;Seulement des comptes financiers en sont permis.; T43F ;Numéro IBAN du compte financier n'est pas valable.; T44F ;Le montant à payer ne peut pas être zéro, dans ce cas, il faut radier le document.; T45F ;N° bancair manque pour fournisseur ; T46F ;Facture ; déjà payée; montant supérieur; est reprise plusieurs fois; T47F ;Il n'y a pas de lignes pour exécuter le paiement ; ; T0E ;Uitvoeren betaling; T1E ;Er is een ;circulaire cheque;postassignatie; voor leverancier : ; T6E ;BIC-code is not filled in.; T7E ;Payment proposal on the document is on No.; T8E ;Supplier is blocked.; T9E ;Wrong sing before amount (invoice = positive; credit note = negative); T10E ;Document in ; cannot be paid via a financial account in ; T11E ;Invoice may only occur once in the payment.; T12E ;Document is already included in (another) payment.; T13E ;IBAN/national number is not filled in.; T14E ;Non-European transfer with currency code EUR within SEPA-zone.; T15E ;European transfer with currency code different from EUR.; T16E ;European transfer within a non-SEPA-zone.; T33E ;Bic code of the Financial account is not filled in.; T38E ;Name ;Country ;of the BIC code is not filled in.; T39E ;Cost code is not filled in.; T40E ;Only financial accounts in the currency are allowed. T43E ;No valid IBAN-number had been filled in at the financial account.; T44E ;The amount to be payed cannot be zero, you should delete the document in this case.; T45E ;Banknummer ontbreekt bij leverancier ; T46E ;Factuur ; reeds betaald; bedrag te groot; komt meerdere keren voor; T47E ;Er zijn geen lijnen om een betaling uit te voeren ; ; 1 D P^cA612(7,1,15,80,1,0,0,0," "_$P($T(@("T0"_QT)),U,2)_" ",0,1,1,0,0) 13 K ^HULP(boot,$J) 15 S (SW,SWBB,SWLD,SWVM)=0,BA39=@("^"_Q_"BA(39)") S UI1AR=BR ; ; controle per leverancier ; UREF = BVB.LE 2 S UI1=0 F Q:SW S UI1=$O(@UREF) Q:UI1="" D . S J=^(UI1) I '$P(J,D,2) D DEL^cT66L Q ; geen facturen . I $P(J,D,6)<0 D DEL^cT66L Q ; negatief bedrag . ; S I4=$P(J,D,5),K=$P(^DATA(Q,"BVB.LE.B",BVB,I4),D,10) *** lijn aangepast door GD op 11.08.03 *** . S I4=$P(J,D,5),K=$$SG^cAFA1("LE",$P(^DATA(Q,"BVB.LE.B",BVB,I4),D),201) . I K="" S K=$E($P($T(@("T45"_QT)),U,2)_$TR($P(^DATA(Q,"BVB.LE.B",BVB,I4),D,1,2),D," "),1,64),SW=1 D TXT^cAFA1(250) Q . S K=$TR($E($P(K,"-"),1,2),"0123456789") I K="" S K=$P(BA39,D,3) I K="" S K="BE" . S ^HULP(boot,$J,1,K)="" ; landcode . S ^HULP(boot,$J,4,$P(J,D),K)="" ; ISO-landcode/lev. ; ; controle facturen ; UREF = BVB.DET 3 N UQC,USC,UREF 31 D DMS^cAN000("UQC","USC","BVB.DET") S UREF=^DMC(UQC,USC,"DATA","REF") 33 S UI1=0 F Q:SW S UI1=$O(@UREF) Q:UI1="" D . S J=^(UI1),KC=$P(J,D),I1=$$UI1^cAFA1("LE",101,KC) . S FNR=$P(J,D,2),OF=$G(@("^"_Q_"LE(I1,FNR)")) I OF="" D E5^cT66E Q . S K=$P(OF,D,5)-$P(OF,D,12) . I $P(J,D,3)>K!($P(OF,D,12)<0) S K=$P($T(@("T46"_QT)),U,2)_FNR_$P($T(@("T46"_QT)),U,4),SW=1 D TXT^cAFA1(250) Q . S K=$P(OF,D,9) D VM^cT66E(K) I K="" S K=BF . S ^HULP(boot,$J,2,VM(K))="" ; muntcode . I FNR>989999 Q . I $D(^HULP(boot,$J,3,FNR)) S K=$P($T(@("T46"_QT)),U,2)_FNR_$P($T(@("T46"_QT)),U,5),SW=1 D TXT^cAFA1(250) Q . S OKDET=$$CHKDET(BVB,^DATA(Q,"BVB",BVB,0),KC,OF) . I 'OKDET S K=$P(OKDET,D,2),SW=1 D TXT^cAFA1(250) Q . S ^HULP(boot,$J,3,FNR)="" 38 I '$D(^HULP(boot,$J)) S K=$P($T(@("T47"_QT)),U,2) D TXT^cAFA1(250) G Y 39 I SW G Y ; ; geen fouten gevonden > doorgaan S DV=9 S SWBB=$$SIG^cAFA1("BVB",BVB,107) G 6^cT66E ; Y K ^HULP(boot,$J) YZ Q ; CHKBIC(BICID) ; Test of naam en land zijn ingevuld bij de BIC-code ; Input: ; - BICID : UI1 van de BIC code ; ; Output: ; 1: OK ; 0\Foutboodschap ; CHKBIC1 S $ZT="TRAP^cAN000" N R,N0,i F i="BICID" S @i=$G(@i) S R=1 S N0=$$SIGN^cAFA1("SWIFT",BICID,0) ; CHKBIC2 I $P(N0,D,2)="" S R="0\"_$P($T(@("T38"_QT)),U,2)_$P($T(@("T38"_QT)),U,4) G CHKBICZ ; Naam niet ingevuld I $P(N0,D,5)="" S R="0\"_$P($T(@("T38"_QT)),U,3)_$P($T(@("T38"_QT)),U,4) G CHKBICZ ; Land niet ingevuld ; CHKBICZ Q R ; CHKDET(BVB,BVBNUL,KC,OF) ; input : BVB : intern nummer BVB ; BVBNUL : nulnode ^DATA(Q,"BVB",BVB ; KC : nummer leverancier ; OF : node openstaande factuur vanuit ^_Q_LE ; ; CHKDET(DETID,GRIDID,TAB,EU,FAR,STAT) ; Checks bij opslaan registratie in mtemp99 ; Input: DETID : UI1 van de detaillijn ; GRIDID: GridId van mtemp99 ; TAB : Nodes van de registratie ; EU : Europese overschrijving (0 = neen 1 = ja) ; FAR : UI1 van de grootboekrekening ; STAT : status ; ; Output: 1: Alles OK ; 0\Foutboodschap\Parameter waar fout op slaat\Fout\Parameter\Fout\Parameter\ ... ; S $ZT="TRAP^cAN000" N @$$INITVAR^cAFVBA01("BVB,BVBNUL,KC,OF") ; ; Variabelen opzetten CHKDET1 S i=1 S BET=BVB ; intern nummer betaling S UREFLE=$P($$REF^cAFA10(Q,"LE"),D) S UREFLE=$$REPL^cAFA10(UREFLE,"UI1","UI1LE") S UI1LE=@("^"_Q_"L1(KC)") S IBAN=$P(@UREFLE@(1),D) ; gironummer van de leverancier S BICID=$P(@UREFLE@(2),D,5) ; BIC-nummer van de leverancier S KOSTID=$P(@UREFLE@(2),D,3) ; UI1 kostencode (CODE.9046) S BED=$P(OF,D,5)-$P(OF,D,6)-$P(OF,D,12) ; bedrag betaald in munt document S MED=$P(OF,D,7) ; mededeling S MUNT=$P(OF,D,9) ; Munt document S BEDOPEN=$P(OF,D,10) ; Bedrag openstaand in munt document S DOCTYP=$P(OF,D) ; Document type C:Creditnota - F:Factuur I DOCTYP="C" S BED=-BED,BEDOPEN=-BEDOPEN S SEPA=$$SIG^cAFA1("ISO.LAND",$P(@UREFLE@(0),D,8),109) ; Sepazone S GLIJN="" ; S GLIJN=$L(GNR)&'$L(DB) ; Groeperingslijn S MBANK=$$SIG^cAFA1("AR",$P(BVBNUL,D,2),111) ; Munt bank S MBH=$$PAR^cTN001(Q,202) ; Munt boekhouding S VBET=0 ; Switch volledig betaald (default = neen) ; ; Indien groeperingslijn bepaalde checks overslaan CHKDET2 ; I GLIJN G CHKDET5 ; Check betalingsvoorstel CHKDET31 ; I '$P(GEGDB,D,3) S $P(R,D,i)=$P($T(@("T7"_QT)),U,2)_D_2,i=i+2 ; Check leverancier geblokkeerd CHKDET33 I $P(@UREFLE@(1),D,28) S $P(R,D,i)=$P($T(@("T8"_QT)),U,2)_D_2,i=i+2 ; Controle of document nog niet volledig is opgenomen in een andere betaling ; KU: 13/12/13 : gebeurde niet in het oude, enkel binnen eigen BVB CHKDET35 ; I ($$GETBED(DETID,DB)-BEDOPEN)=0 S $P(R,D,i)=$P($T(@("T12"_QT)),U,2)_D_2,i=i+2,VBET=1 ; Volledig betaald ; Test op munt CHKDET37 I MBANK=MBH G CHKDET5 ; Munt bank = munt BH: alle situaties technisch toegelaten I MBANK=MUNT G CHKDET5 ; Munt bank = munt document: situatie is toegelaten S $P(R,D,i)=$P($T(@("T10"_QT)),U,2)_MUNT_$P($T(@("T10"_QT)),U,3)_MBANK_D_2,i=i+2 ; CHKDET5 ; Creditnota moet opgenomen zijn in groeperingslijn : KU: 13/12/13 : hoefde niet in het oude ; I GNR="",(DOCTYP="C") S $P(R,D,i)=$P($T(@("T30"_QT)),U,2)_D_2,i=i+2 ; CHKDET55 ; Detaillijn betaling moet een positief bedrag hebben I DOCTYP="F" I BED<0 S $P(R,D,i)=$P($T(@("T9"_QT)),U,2)_D_12,i=i+2 G CHKDET6 I DOCTYP="C" I BED>0 S $P(R,D,i)=$P($T(@("T9"_QT)),U,2)_D_12,i=i+2 G CHKDET6 ; I GLIJN G CHKDET6 ; Check of document nog wel open staat voor het bedrag ; S BEDRBET=$$GETBED(GRIDID_"||"_DETID,DB) ; Bedrag opgenomen in andere betalingen of eigen betaling (deelbetalingen) ; I DOCTYP="F" I (BED+BEDRBET)>BEDOPEN S $P(R,D,i)=$P($T(@("T26"_QT)),U,2)_D_12,i=i+2 ; I DOCTYP="C" I (BED+BEDRBET)0),BTEMP23:Y="C"&(B<0) S ZBW=1,I1=0 BTEMP25 S I1=$O(@Q51) G BTEMP2:I1="" S FP=2203,LNM=^(I1),A=LNR ;W @F,$P(LNM,D,2),@F1 BTEMP27 I 'ZBW,$D(^HULP(boot,$J,A)) S A=A+.0001 G BTEMP27 ; niet samenvoegen ; BTEMP3 S B=$P(LNM,D,1,9)_"\\\" S:$D(^HULP(boot,$J,A)) B=^(A) BTEMP31 I $P(B,D,10)="" S NR=$P(LNM,D,10) S:$D(@Q1) K=$P(^(NR),D,3),$P(B,D,10)=K BTEMP33 S A3=0,K=$P(B,D,8) S:$E(K,1,2)=99&('$E(K,4,10)) A3=1 BTEMP35 I '$L($P(B,D,12)),A3 D S7 S $P(B,D,12)=K BTEMP37 S X=1 S:$P(LNM,D,9)="C" X=-1 S $P(B,D,11)=X*$P(LNM,D,17)+$P(B,D,11) S $P(B,D,17)=X*$P(LNM,D,17)+$P(B,D,17) BTEMP38 S X=$P(LNM,D,18) BTEMP39 S:'$L(X) X=$P(LNM,D,13) ; S:'$L(X) X=$P(LNM,D,14) S $P(B,D,13)=X ; B=B_D_X S $P(B,D,14)=$P(LNM,D,14) S $P(B,D,16)=$P(LNM,D,16) S $P(B,D,18)=$P(LNM,D,18) S ^HULP(boot,$J,A)=B G BTEMP25 ; BTEMP4 S GRIDID=$$GRIDID^cAFVBF01() S BETNUL="",BETEEN="" S NULL3=@("^"_Q_"L3(I1L3,I2L3)") S $P(BETNUL,D)=$P(NULL3,D,5) ; Nummer betaling S $P(BETNUL,D,3)=DAT ; datum S $P(BETNUL,D,4)=UI1AR ; intern nummer grootboekrekening (^DAR) S $P(BETNUL,D,5)=$P(NULL3,D,7) ; muntcode S $P(BETNUL,D,6)='SWBB ; Europees <> Internationaal S $P(BETNUL,D,7)=2 ; status vast op 2 (definitief) (TEXT.9055) S $P(BETNUL,D,9)=$P(NULL3,D) ; totaalbedrag in munt betaling S $P(BETNUL,D,11)=DAT ; uitvoeringsdatum S $P(BETNUL,D,49)=Q S $P(BETNUL,D,50)=@("^"_Q_"BA(99,1)") S $P(BETNUL,D,51)=@("^"_Q_"BA(99,2)") S $P(BETNUL,D,52)=$P(@("^"_Q_"BA(99,3)")," ") S $P(BETNUL,D,53)=$P(@("^"_Q_"BA(99,3)")," ",2,99) S $P(BETNUL,D,54)=$P(@("^"_Q_"BA(39)"),D,4) S $P(BETNUL,D,55)=BTW S TEMPFILE=$TR(FILE,D,"/") S $P(BETEEN,D,2)=$P(TEMPFILE,"/",1,$L(TEMPFILE,"/")-1) S $P(BETEEN,D,3)=$P(TEMPFILE,"/",$L(TEMPFILE,"/")) S ^mtemp99(GRIDID,"BET",BVB,0)=BETNUL,^(1)=BETEEN ; ; opbouw BET.DET S I3="",VNR=0 BTEMP5 S I3=$O(^HULP(boot,$J,I3)) G BTEMPZ:I3="" S INH=^(I3) S VNR=VNR+1 S BETDET="" S $P(BETDET,D,2)=VNR ; volgnummer S $P(BETDET,D,3)=$P(INH,D,13) ; factuurnummer leverancier S $P(BETDET,D,4)=$P(INH,D,8) ; IBAN - nummer S KC=$P(INH,D) ; nummer leverancier ^_Q_LE S SWIFT=$$SG^cAFA1("LE",KC,305) S $P(BETDET,D,5)=$$SIG^cAFA1("SWIFT",SWIFT,101) S $P(BETDET,D,6)=SWIFT S $P(BETDET,D,7)=$$SG^cAFA1("LE",KC,303) ; UI1 kostencode S $P(BETDET,D,8)=$P(INH,D,11) ; bedrag betaald in munt document S $P(BETDET,D,9)=$P(INH,D,17) ; bedrag betaald in munt financiële rekening S $P(BETDET,D,10)=$P(INH,D,13) ; mededeling S $P(BETDET,D,11)=+$P(INH,D,18) ; gestructureerde mededeling : 0 = Neen, 1 = Ja (in oud steeds 0) I $L($P(INH,D,18)) S $P(BETDET,D,11)=1 ; wel gestructureerde mededeling S $P(BETDET,D,12)=$G(TABEL(KC)) ; S $P(BETDET,D,12)=$S(ZBW:ZBW,1:"") ; groep : geen S $P(BETDET,D,49)=Q S $P(BETDET,D,50)=@("^"_Q_"L1(KC)") S $P(BETDET,D,51)=$P(INH,D,16) ; muntcode factuur S ^mtemp99(GRIDID,"BET.DET",BVB_" "_VNR,0)=BETDET G BTEMP5 BTEMPZ Q ; S7 D O^cA612(15,1,7,80,1,0,0,0) S7A S X=$E($P(B,D,8),3),K=3 S:X=2!(X>5) K=4 W /CUP(2,2),$P($T(@("T1"_QT)),U,2),$P($T(@("T1"_QT)),U,K),$P($T(@("T1"_QT)),U,5) S7B W /CUP(4,2),$P(B,D)," ",$P(B,D,2) S7C S R="K\22\3\"_$P($T(@("T2"_QT)),U,2)_"\1\\K=1!(K=2)" D R0 S7Z D C^cA612 Q ; R0 S $P(R,D,12)=$T(+0) D ^cAN1000 Q ; v12 23.01.95 ; ZZ ; 06.04.09 - 10 u 50