cTN9201 ; Verkoop : Conversie oude structuur dagboek naar nieuwe structuur ; cTN9201 ; YZ Q ; ; Eénmalige conversie\setup voor verkoop CONV(Q,BM) ; Input: Q: Vennootschap (als ref. doorgeven : .Q) ; BM: Maand vanaf de aankoopdocumenten worden geconverteerd ; S $ZT="TRAP^cAN000" ; invullen BTW-nummer vennootschap I '$L($$SIG^cAFA1("Q",Q,207)) D W^cAN220("Q","",Q,207,$P($G(@("^"_Q_"BTW(0,0)")),D,7)) ; W !,!,"*** Journalen opzetten ***" D JRN^cTN999(.Q,"V") ; W !,!,"*** Documentnummers opzetten ***" D FNR^cTN901(.Q,"V","") ; W !,!,"*** BTW-codes opzetten ***" D BTW2N^cAN2279 ; W !,!,"*** Aankoopdagboek converteren ***" D DBVE(.Q,BM) ; CONVZ Q ; DBVE(Q,VBM,TBM) ; Eénmalige conversie van het aankoopdagboek ; Input: Q: Vennootschap (als ref. doorgeven : .Q) ; VBM: Van boekingsmaand van de conversie ; TBM: Tot boekingsmaand (indien ""= tot het einde) N I1,I2,OK,ERR,CERR S $ZT="TRAP^cAN000" ; ; Controle parameters DBVE1 I '$L($G(VBM)) S VBM=$$DEFBM^cTN9301(Q) I '$L(VBM) G DBVEZ ; ; Documenten begin BH opzetten DBVE11 S OK=$$CONV^cTN9202(Q,VBM) I 'OK W !,$P(OK,D,2) G DBVEZ ; ; Doorlopen aankoopdagboek DBVE2 D ^cT489 W !,!,"------- "_Q_" -------",! S I1=VBM-.01,I2="",S="#",CERR=0 I '$L($G(TBM)) S TBM=J3 DBVE3 S I1=$E($J(I1+.01,0,2)_0,1,7) S:I1#1>.12 I1=I1+.88 I I1>TBM G DBVEY W I1_" " DBVE4 S I2=$O(@("^"_Q_"VE(I1,I2)")) G DBVE3:I2="" G:(I2#1) DBVE4 S OK=$$VE2DBH^cTN9201(Q,I1,I2,1) S:'OK ERR(I1,I2)=$P(OK,D,2) S:'OK CERR=CERR+1 G DBVE4 ; DBVEY W !,"-------------------" I CERR W !,"OPGELET: ",CERR," fouten:",! ZW ERR W "-------------------" DBVEZ Q ; VEH(BP,FNR) ; Opzetten mtemp99 voor hoofding ; Input: BP: Boekingsmaand ; FNR: Factuurnummer N @$$INITVAR^cAFVBA01("BP,FNR") S $ZT="TRAP^cAN000" ; ; Opzetten algemene variabelen VEH0 S D="\",D2="#",LND=$$SIG^cAFA1("Q",Q,206) ; ; Ophalen gegevens verkoopdagboek VEH1 S VE=@("^"_Q_"VE(BP,FNR)") S S1=1 S:$P(VE,D)="C" S1=-1 ; ; Ophalen openstaande factuur VEH2 S OFKL=$$OFKL($P(VE,D,4),FNR) ; ; Gridid bepalen VEH3 S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID) S (NODE0,NODE1,NODE2)="" ; ; Munt bepalen (ivm munt vóór EUR) VEH31 S BJ=$$BJ^cAFE1(Q,BP),HBJ=$$BJ^cAFE1(Q,DJ_"."_DM) S MNT=$$MNTC^cAFE1(Q,BJ),HMNT=$$MNTC^cAFE1(Q,HBJ) S DEC=$P(MNT,D,2),HDEC=$P(HMNT,D,2) S MNT=$P(MNT,D),HMNT=$P(HMNT,D) S MSW=0 I MNT'=HMNT S MSW=1,PARE=$$PARE^cTN001(MNT) ; ; Node 0 VEH4 S $P(NODE0,D)="V" ; 1. Registratietype S JRN=$P(VE,D,21) S:'$L(JRN) JRN=0 S JRN=$$UI1OP^cAFA1("JRN","M9","",$$Q^cAFA10,"V",JRN) S $P(NODE0,D,2)=JRN ; 2. Journaalnummer S $P(NODE0,D,3)=FNR ; 3. Documentnummer S $P(NODE0,D,5)=BP ; 5. Boekingsmaand S $P(NODE0,D,6)=$P(VE,D,20) ; 6. Boekingsperiode - Leveringsmaand S $P(NODE0,D,7)=$P(VE,D,2) ; 7. Factuurdatum S $P(NODE0,D,8)=$P(VE,D,3) ; 8. Vervaldatum S $P(NODE0,D,9)=$P(OFKL,D) ; 9. Klant S $P(NODE0,D,10)="" ; 10. Leverancier S $P(NODE0,D,11)="" ; 11. Financiële rekening S $P(NODE0,D,12)=$$REF(Q,FNR,$P(VE,D,14),$P(VE,D,31)) ; 12. Referte S $P(NODE0,D,13)=$P(VE,D,19) ; 13. Omschrijving S $P(NODE0,D,14)=$S(MSW:MNT,1:$P(VE,D,24)) ; 14. Muntcode document I '$L($P(VE,D,26)) S $P(VE,D,26)=1 S $P(NODE0,D,15)=$S(MSW:PARE,1:(1/$P(VE,D,26))) ; 15. Pariteit I +$P(NODE0,D,15)'=1 S $P(NODE0,D,15)=$J($P(NODE0,D,15),0,6) S $P(NODE0,D,16+(MSW*3))=$P($P(VE,D,6),D2)*S1 ; 16. Totaal factuur in munt vennootschap S $P(NODE0,D,17+(MSW*3))=$P(VE,D,10)*S1*-1 ; 17. Bedrag korting contant in munt vennootschap ;I $P(OFKL,D,3) D ;. S $P(NODE0,D,18+(MSW*3))=$P(OFKL,D,4)*S1 ; 18. Bedrag openstaand in munt vennootschap ;. S $P(NODE0,D,22)=1 ; 22. Openstaand ;. S $P(NODE0,D,18+(MSW*3))=$P(NODE0,D,16+(MSW*3)) ; 18. Bedrag openstaand in munt vennootschap S $P(NODE0,D,22)=1 ; 22. Openstaand ;. S $P(NODE0,D,22)=+$P(NODE0,D,22) ; 22. Openstaand (0 of 1) S $P(NODE0,D,23)=$P(VE,D) ; 23. Factuurcode (F/C) ; ;S $P(NODE0,D,24)=0 ; 24. Aard (normaal doc. / doc. begin boekjaar) S $P(NODE0,D,25)=$P(VE,D,36) ; 25. BTW-nr facturerende vennootschap I '$L($P(VE,D,36)) S $P(NODE0,D,25)=$$SIG^cAFA1("Q",Q,207) S $P(NODE0,D,26)=+$P(VE,D,34) ; 26. Van toepassing voor Intrastat ; ... S $P(NODE0,D,28)=$P(VE,D,28) ; 28. Datum laatste wijziging I '$L($P(NODE0,D,28)) S $P(NODE0,D,28)=$$DH^cAFD1($P(NODE0,D,7)) S $P(NODE0,D,29)=$P(VE,D,29) ; 29. Initialen laatste wijziging S $P(NODE0,D,30)=0 ; 30. Operationeel S $P(NODE0,D,31)=$T(+0) ; 31. Naam programma ; ... S $P(NODE0,D,49)=Q(49) ; 49. Vennootschap ; ; Node 1 of 2 (bedragen) VEH5 S $P(NODE1,D)=$P($P(VE,D,7),D2)*S1 ; 1. Netto goederen F i=2:2:$L($P(VE,D,11),D2) S $P(NODE1,D,5)=$P(NODE1,D,5)+($P($P(VE,D,11),D2,i)*S1) ; 5. Tot. maatstaf S $P(NODE1,D,10)=$P(VE,D,8)*S1 ; 10. Totaal Bedrag BTW ; ; BTW-uitsplitsing VEH6 S T=0 F i=1:2:($L($P(VE,D,11),D2)-1) D . S $P(NODE1,D,71+T)=$$BTWC(LND,$P($P(VE,D,11),D2,i)) ; bepalen UI1 van BTW-code . I '$L($P(NODE1,D,71+T)) X "STOP" . S $P(NODE1,D,72+T)=$P($P(VE,D,11),D2,i+1)*S1 ; Maatstaf BTW . S T=T+2 ; ; Indien switch munt: bedragen doorgeven als munt document I MSW S NODE2=NODE1,NODE1="" ; ; Node 1 (overige velden) VEH7 S $P(NODE1,D,14)=$P(OFKL,D,5) ; 14. Aantal rappels ; ... S $P(NODE1,D,31)=$P(VE,D,31) ; 31. US ; ; ; ^mtemp99 opzetten VEH8 S ^mtemp99(GRIDID,"DB",0,0)=NODE0,^(1)=NODE1,^(2)=NODE2 ; VEHZ Q GRIDID_D_$G(MSW) ; VEV(GRIDID,MSW) ; Opzetten mtemp99 voor detaillijnen ; Input: GRIDID: Gridid van mtemp99 met hoofdinggegevens ; MSW: Munt switch ; 0: Bedragen als munt BH doorgeven ; 1: Bedragen als munt document doorgeven N @$$INITVAR^cAFVBA01("GRIDID,MSW") S $ZT="TRAP^cAN000" ; ; Opzetten algemene variabelen VEV0 S D="\",D2="#" S VNR=1000 S DB0=$G(^mtemp99(GRIDID,"DB",0,0)),DB1=^(1) S BP=$P(DB0,D,5),FNR=$P(DB0,D,3) ; Boekingsmaand en factuurnummer S MPAR=$P(DB0,D,15) ; Pariteit S S1=1 I $P(DB0,D,23)="C" S S1=-1 ; ; ophalen gegevens kostenrekeningen voor ^DBH(Q,"REG",UI1, S I3=FNR VEV2 S I3=$O(@("^"_Q_"VE(BP,I3)")) I $P(I3,".")'=FNR G VEVY S N=^(I3),T=0 VEV3 S T=T+1 S VEN=$P(N,D,T) I '$L(VEN) G VEV2 K N0 S BVN=$P(VEN,D2,4)*S1 I 'BVN G VEV3 ; Geen bedrag -> geen boeking S $P(N0,D,7)="G" ; Soort grootboekrekening S $P(N0,D,8)=$$SIG^cAFA1("AR",$P(VEN,D2),148) ; Grootboekrekening S $P(N0,D,9)=$$SIG^cAFA1("ARA",$P(VEN,D2,9),148) ; Analytische rekening F i=3:1:5 S $P(N0,D,i)="" ; Extra compt. rekeningen S $P(N0,D,13)="" ; Klant S $P(N0,D,16-(BVN<0)+(MSW*2))=$FN(BVN,"-") ; Bedrag in munt BH S $P(N0,D,19)=$P(VEN,D2,8) ; Omschrijving S $P(N0,D,28)=$P(DB0,D,28) ; Datum laatste wijziging S $P(N0,D,29)=$P(DB0,D,29) ; Initialen laatste wijziging S $P(N0,D,30)=0 S $P(N0,D,32)=1 ; Manuele registraties ; ; IAS --------------------------------- I '$$IAS^cTN001(Q) G VEV4 S $P(N0,D,24)=$$SIG^cAFA1("ARA",$P(VEN,D2,10),148) ; IAS-code S $P(N0,D,51)=$P(VEN,D2,11) ; Interne CGU S $P(N0,D,52)=$P(VEN,D2,12) ; Externe CGU S $P(N0,D,53)=$P(VEN,D2,13) ; Segment ; ------------------------------------- ; VEV4 S ^mtemp99(GRIDID,"REG",VNR,0)=N0,VNR=VNR+1 G VEV3 ; VEVY ; VEVZ Q ; VE2DBH(Q,BP,FNR,SWC) ; Conversie verkoopdagboek naar nieuwe structuur (^DBH) ; Input: Q: Gewoon doorgeven, niet als referentie! ; BP: Boekingsmaand ; FNR: Factuurnummer ; SWC: Switch conversie ; "",0: online gelijkhouden ; 1: éénmalige conversie N GRIDID,RZR,OK,MSW S $ZT="TRAP^cAN000" ; ; Onthouden last reference VE2DBH1 D S1^cAFA1 ; ; Opzetten Q49 VE2DBH2 S Q(49)=$$Q49^cAFVBA03(Q,"DB") ; ; Opzetten mtemp99 voor hoofding VE2DBH3 S GRIDID=$$VEH(BP,FNR) S MSW=$P(GRIDID,D,2),GRIDID=$P(GRIDID,D) ; ; Opzetten mtemp99 voor detaillijnen VE2DBH4 D VEV(GRIDID,MSW) ; ; Mtemp99 verwerken VE2DBH5 S OK=$$DB^cTN101(GRIDID,,('MSW)_D_1_D_$G(SWC)) ; I OK D LOG($P(OK,D,3),"") ; ; Opkuis VE2DBH6 K ^mtemp99(GRIDID,"DB"),^mtemp99(GRIDID,"REG") ; ; Terugzetten last reference VE2DBH7 D S2^cAFA1 ; VE2DBHZ Q OK ; LOG(BEGUI1,ENDUI1) ; goedzetten logging N UI1,B,A,I1,I2,INH S $ZT="TRAP^cAN000" I '$L(ENDUI1) S ENDUI1=BEGUI1 S I1=$O(^DLOG("EA","DB",BEGUI1),-1) LOGA S I1=$O(^DLOG("EA","DB",I1)) G LOGZ:I1]ENDUI1!'$L(I1) S B=$P(^DBH("EA","DB",I1,0),D,28,29) S A=$$HD^cAFD1($P(B,D))_D_$$HT^cAFD1($P(B,D)) S UI1=$$DC^cAFD1($P(A,D))_".0001",INH="O\1\\\"_$P(A,D)_"\"_$P(A,D,2)_"\"_$P(B,D,2)_"\Opening~Création~Kreation~Creation\\\"_boot_"\"_$ZU(5)_"\"_$P(B,D) LOGB K ^DLOG("EA","DB",I1) S ^(BEGUI1,UI1)=INH S I2="" LOGC S I2=$O(^INDBH("EA","REG","M1",Q,$P(I1," "),$P($$DI^cAN000(I1,"")," "),I2)) G LOGA:I2="" K ^DLOG("EA","REG",I2) S ^(I2,UI1)=INH G LOGC LOGZ Q ; OFKL(KC,FNR) ; Ophalen van gegevens uit ^Q_LE ; Input: KC: Leverancier (UI1 van Q_LE) ; FNR: Factuurnummer ; Output: Leveranciersgegevens + openstaande factuur gegevens N RET S $ZT="TRAP^cAN000" ; ; Klant (^DKL) ophalen OFKL1 I '$L(KC) S RET="" G OFKLZ S $P(RET,D)=$$SG^cAFA1("KL",KC,148) I '$L(RET) G OFKLZ ; 1. Leverancier : intern nummer in ^DLE ; ; Openstaande factuur? OFKL2 S RETOPFAC=$G(^(FNR)) I '$L(RETOPFAC) S $P(RET,D,3)="0" G OFKLZ ; 3. Openstaand: neen S $P(RET,D,3)=1 ; 3. Openstaand: ja S $P(RET,D,4)=$P(RETOPFAC,D,10) ; 4. Openstaand bedrag in munt vennootschap S $P(RET,D,5)=+$P(RETOPFAC,D,8) ; 5. Aantal herinneringen ; OFKLZ Q RET ; REF(Q,FNR,REF,US) N UR I '$L($G(US)) D ZOEKUS^cT48H I '$L(US) G REFZ D FAREF^cT48H REFZ Q REF ; BTWC(LND,CODE) ; ophalen BTW-ui1 N UI1 S $ZT="TRAP^cAN000" S CODE=$P(@("^"_Q_"BA(18,CODE)"),D) ; kan nog veranderen S UI1=$$UI1OP^cAFA1("CODE.9011","M1","",LND,CODE) BTWCZ Q UI1 ; ZZ ; 29.08.07 - 10 u 22 * V8.09