cT48H ; Klant / Leveranciersscherm via module H ; [ 05/12/2003 11:16 AM ] ; ; SWLST = 1 : wordt opgeroepen vanuit de lijst van de historieken (cT483) ; ; ; Uitgang : ^HULP(boot,$j+.01,vnr ; Node 0 ; 1. Factuurdatum ; 2. Journaalcode ; 3. F/C ; 4. Factuurnr ; 5. Debet (munt BH) ; 6. Credit (munt BH) ; 7. Referentie ; 8. Munt document ; 9. Initialen opmaak ; 10. Debet (munt doc) ; 11. Credit (munt doc) ; 12. $H opmaak ; 13. Munt BJ ; 14. Omschrijving ; 15. Nummer klant/lev ; 16. Naam klant/lev ; 17. Boekingsmaand ; 18. Extra compt. boekingsperiode (BPE) ; 19. Gecontroleerde levering ; 20. Project(en) ; ; Node 1 ; sleutel van de node 0 : ; voor KL,LE,AR en ARA : UI1 ; voor analytisch : UI1 AR_D_UI1 ARA_D_UI1 IAS ; of ; UI1 ARA_D_UI1 AR_D_UI1_IAS ; Node 2 ; I2 van historiek_D_historiekstring ; ; T0 ; Klant / Leveranciersscherm via module H ; ; T0F ; Historique client/fournisseur par module H; ; T0E ; Customer / Supplier screen via module H ; ; 1 K ^HULP(boot,$J+.01) D:'$G(SWLST) EG^cAFA1 N BPO,VNR,UI1,UREF,PARDAT,VAN,TOT,VANC,TOTC,MND,I2,KEY,KEYSORT,LM,SWGLO,I2A,HIS,TEL,BP,BJ,MNT1,SWIAS,SWANA,PROJSW S $ZT="TRAP^cAN000" S PROJSW=$$PROJ(Q) 11 S BPO="",VNR=1,UI1=KLI1,UREF=^DMC(KLUQC,KLUSC,"DATA","REF"),PARDAT=$P(@("^"_Q_"BA(""%T"",2)"),D,12) 13 S VAN=$P(B(1),D),TOT=$P(B(1),D,2),VANC=$$DC^cAFD1(VAN),TOTC=$$DC^cAFD1(TOT) 15 S MND=$E(VANC,1,6),LM=$E(TOTC,1,6),KEY=UI1,KEYSORT=1 I KLUSC="ARA" S KEYSORT=9 S I2="1"_MND S SWGLO=0 G 17 16 I SWGLO S I2=I2A_" " G 17 161 S I2=$P(I2A,".")+1 S:$E(I2,6,7)=13 I2=I2+88 G 3:($E(I2,2,7)>$E(TOTC,1,6)) 17 S I2A=I2,I2=$O(@UREF@(I2)) I I2="" S SWGLO=0 G 161 I SWGLO=0,($E(I2,1,7)'=$E(I2A,1,7)) S SWGLO=1 G 16 I SWGLO=1,($E(I2,1,7)'=$E(I2A,1,7)) S SWGLO=0 G 161 G 3:I2="" G 3:($E(I2,2,7)>$E(TOTC,1,6)),17:($E(I2,2,7)<$E(VANC,1,6)) S HIS=^(I2) S TEL=1,BP=$E(I2,2,5)_"."_$E(I2,6,7) 19 I BP'=BPO S BPO=BP S BJ=$$BJ^cAFE1(Q,BP),MNT1=$P($$MNTC^cAFE1(Q,BJ),D) ; 2 D BUILD G 17 ; ; oproepen DMH 3 D:'$G(SWLST) C^cA612,BS^cAN210("BH.HIS",0,0,0,"") ; YZ Q ; ANA(UQC1,USC1,UQC2,USC2,KEY1,KEY2,VAN,TOT,SWIAS,SWLST) ; analytisch ; UQC1 = UQC van hoofdbestand (0) ; USC1 = USC van hoofbestand (AR) ; UQC2 = UQC van 2de bestand (0) ; USC2 = USC van 2de bestand (ARA) ; KEY1 = UI1 van USC1 ; KEY2 = UI1 van USC2 ; VAN = dd.mm.jj : vanaf welke datum ; TOT = dd.mm.jj : tot welke datum ; SWIAS = 1 : per IAS kode opsplitsen ; SWLST = 1 : vanuit lijst ; ; Uitgang : zie begin programma ; K ^HULP(boot,$J+.01) D:'$G(SWLST) EG^cAFA1 N KLUQC,KLUSC,UI1,UREF,BPO,VNR,PARDAT,VANC,TOTC,MND,I2,KEY,KEYSORT,LM,HMND,HIS,TEL,BP,BJ,MNT1,BI2,SWANA,PROJSW S $ZT="TRAP^cAN000" S PROJSW=$$PROJ(Q) ANAA S BPO="",VNR=1,UI1=KEY1,KLUQC=UQC1,KLUSC=USC1,UREF=^DMC(KLUQC,KLUSC,"DATA","REF"),PARDAT=$P(@("^"_Q_"BA(""%T"",2)"),D,12) I '$P($G(@("^"_Q_"BA(300)")),D,8) S SWIAS=0 ; indien geen IAS-segmentrapportering S VANC=$$DC^cAFD1(VAN),TOTC=$$DC^cAFD1(TOT) S MND=$E(VANC,1,6),LM=$E(TOTC,1,6) S BI2=$E("2"_KEY2_$J("",7-$L(KEY2)),1,8) ; GM 26.05.05 - BI2 moet steeds 8 lang zijn S I2=BI2_MND,KEY=KEY1_"#"_KEY2,KEYSORT="1#9" I USC1="ARA" S KEYSORT="9#1" ANAD S I2=$O(@UREF@(I2)) I $E(I2,1,8)'=BI2 G ANAZ S HMND=$E(I2,9,$L(I2)) G ANAZ:($E(HMND,1,6)>$E(TOTC,1,6)),ANAD:($E(HMND,1,6)<$E(VANC,1,6)) S HIS=^(I2) S TEL=1,BP=$E(HMND,1,4)_"."_$E(HMND,5,6) I BP'=BPO S BPO=BP S BJ=$$BJ^cAFE1(Q,BP),MNT1=$P($$MNTC^cAFE1(Q,BJ),D) ; ANAY S SWANA=1 D BUILD G ANAD ; ANAZ Q ; ; opbouw ^HULP BUILD N STUK,EEN,TWEE,FNR,GL,INH,JRN,JRNNR,FC,FDT,DEBBF,DEBMNT,CREBF,CREMNT,FDTC,MNT,INIT,DOLH,REF,OMS,VTBEDR,REF,NUMMER,I,BPE,I3,PROJ ; GM 21.06.05 S $ZT="TRAP^cAN000" S STUK=$P(HIS,D,TEL) I STUK="" G BUILDZ S EEN=$E(STUK),TWEE=$P(STUK,"#",2) S VNR=VNR+1 ; ; Aankoopdagboek BUILDA I EEN="A" S FNR=$P(STUK,EEN,2),GL="AA" D G BUILDY . S INH=@("^"_Q_GL_"(BP,FNR)"),JRN="",JRNNR=$P(INH,D,21) I JRNNR S JRNNR=$E("000",1,3-$L(JRNNR))_JRNNR,JRN=$$JRN^cAFO2(EEN,JRNNR) . S FC=$P(INH,D),FDT=$P(INH,D,2),DEBBF="",DEBMNT="",CREBF=$P($P(INH,D,6),"#"),CREMNT=$P(INH,D,25),FDTC=$$DC^cAFD1(FDT) I '$G(SWLST) Q:FDTCTOTC) . I FC="C" S CREBF="",CREMNT="",DEBBF=$P($P(INH,D,6),"#"),DEBMNT=$P(INH,D,25) . S MNT=$P(INH,D,24),INIT=$P(INH,D,33),DOLH=$P(INH,D,32) . S REF=$P(INH,D,18),OMS=$P(INH,D,19),BPE=$P(INH,D,20) . S VTBEDR(UI1)=DEBBF_D_CREBF_D_DEBMNT_D_CREMNT . I (KLUSC="AR")!(KLUSC="ARA") D .. I '$G(SWLST) S REF=$$KL^cAFO1("LE",$P(INH,D,4)) .. D VENT(GL,BP,FNR,KEY,KEYSORT,$G(SWIAS),MNT1,PROJSW) . I $L($P(INH,D,4)) S NUMMER=$$SG^cAFA1("LE",$P(INH,D,4),101),NAAM=$P(^(0),D,2) . S I="" F S I=$O(VTBEDR(I)) Q:I="" D .. S DEBBF=$P(VTBEDR(I),D),CREBF=$P(VTBEDR(I),D,2),DEBMNT=$P(VTBEDR(I),D,3),CREMNT=$P(VTBEDR(I),D,4),PROJ=$P(VTBEDR(I),D,5) ; GM 21.05.06 .. S I3=I_"#"_(1E7+VNR) .. S ^HULP(boot,$J+.01,I3,0)=FDT_D_JRN_D_FC_D_FNR_D_DEBBF_D_CREBF_D_REF_D_MNT_D_INIT_D_DEBMNT_D_CREMNT_D_DOLH_D_MNT1_D_OMS_D_$G(NUMMER)_D_$G(NAAM)_D_BP_D_BPE_D_$P(INH,D,30)_D_PROJ ; GM 21.05.06 .. S ^(1)=$TR(I,"#",D),^(2)=EEN_D_I2_D_STUK .. S VNR=VNR+1 ; ; Verkoopdagboek BUILDV I EEN="V" S FNR=$P(STUK,EEN,2),GL="VE" D G BUILDY . S INH=@("^"_Q_GL_"(BP,FNR)"),JRN="",JRNNR=$P(INH,D,21) I JRNNR S JRNNR=$E("000",1,3-$L(JRNNR))_JRNNR,JRN=$$JRN^cAFO2(EEN,JRNNR) . S FC=$P(INH,D),FDT=$P(INH,D,2),CREBF="",CREMNT="",DEBBF=$P(INH,D,6),DEBMNT=$P(INH,D,25),FDTC=$$DC^cAFD1(FDT) I '$G(SWLST) Q:FDTCTOTC) . I FC="C" S DEBBF="",DEBMNT="",CREBF=$P(INH,D,6),CREMNT=$P(INH,D,25) . S MNT=$P(INH,D,24),INIT=$P(INH,D,29),DOLH=$P(INH,D,28) . S REF=$P(INH,D,14),OMS=$P(INH,D,19),BPE=$P(INH,D,20) . S VTBEDR(UI1)=DEBBF_D_CREBF_D_DEBMNT_D_CREMNT . I (KLUSC="AR")!(KLUSC="ARA") D .. I '$G(SWLST) S REF=$$KL^cAFO1("KL",$P(INH,D,4)) .. D VENT(GL,BP,FNR,KEY,KEYSORT,$G(SWIAS),MNT1,PROJSW) . S US=$P(INH,D,31) D:'$L(US) ZOEKUS . I $L(US) D FAREF ; ref. en omschrijving uit FA . I $L($P(INH,D,4)) S NUMMER=$$SG^cAFA1("KL",$P(INH,D,4),101),NAAM=$P(^(0),D,2) . S I="" F S I=$O(VTBEDR(I)) Q:I="" D .. S DEBBF=$P(VTBEDR(I),D),CREBF=$P(VTBEDR(I),D,2),DEBMNT=$P(VTBEDR(I),D,3),CREMNT=$P(VTBEDR(I),D,4),PROJ=$P(VTBEDR(I),D,5) ; GM 21.05.06 .. S I3=I_"#"_(1E7+VNR) .. S ^HULP(boot,$J+.01,I3,0)=FDT_D_JRN_D_FC_D_FNR_D_DEBBF_D_CREBF_D_REF_D_MNT_D_INIT_D_DEBMNT_D_CREMNT_D_$S('PARDAT:DOLH,1:"")_D_MNT1_D_OMS_D_$G(NUMMER)_D_$G(NAAM)_D_BP_D_BPE_D_D_PROJ ; GM 21.05.06 .. S ^(1)=$TR(I,"#",D),^(2)=EEN_D_I2_D_STUK .. S VNR=VNR+1 ; ; extra comptable verrichtingen BUILDE I EEN="E" S GL="FIE" G BUILDFIA ; IAS BUILDI I EEN="I" S GL="FII" G BUILDFIA ; BUILDFI I EEN'="B" G BUILDM ; diverse, financieel, wissel S GL="FI" BUILDFIA S REK=$E($P(STUK,"#"),2,99) S INH=@("^"_Q_GL_"(BP,REK,TWEE)") S FDT=$P(INH,D,2),FNR=$P(INH,D,3),FC="",JRN=$P(INH,D,4),ZIJDE=$P(INH,D,6),MNT=$P(INH,D,23),FDTC=$$DC^cAFD1(FDT) I '$G(SWLST) G BUILDY:FDTCTOTC) S DEBBF=$P(INH,D,5),DEBMNT=+$P(INH,D,11),CREBF="",CREMNT="" I ZIJDE="C" S DEBBF="",DEBMNT="",CREBF=$P(INH,D,5),CREMNT=+$P(INH,D,11) S REF=$P(INH,D,9),INIT=$P(INH,D,29),DOLH=$P(INH,D,28),OMS=$P(INH,D,15),BPE=$P(INH,D,10) S PROJ=$S('PROJSW:"",'$L($P(INH,D,27)):"",1:$$SIG^cAFA1("PROJ",$P(INH,D,27),101)) ; GM 21.06.05 S I3=KEY_"#"_(1E7+VNR) S ^HULP(boot,$J+.01,I3,0)=FDT_D_JRN_D_FC_D_FNR_D_DEBBF_D_CREBF_D_REF_D_MNT_D_INIT_D_DEBMNT_D_CREMNT_D_DOLH_D_MNT1_D_OMS_D_D_D_BP_D_BPE_D_D_PROJ ; GM 21.06.05 S ^(1)=$TR(KEY,"#",D)_$S($G(SWIAS):D_$P(INH,D,31+((GL="FI")*9)),1:""),^(2)=$E(STUK,1,2)_D_I2_D_STUK G BUILDY ; ; rekening met maandhistoriek BUILDM S STUK=HIS,LET=$E(I2,$G(SWANA)*7+8),BPE="" S FDT=$P(STUK,D,2),FNR=$P(STUK,D),(INIT,FC)="",TWEE=$P(I2,LET,2),DOLH=$$DH^cAFD1(FDT) S JRNNR="",FDTC=$$DC^cAFD1(FDT) I '$G(SWLST) Q:FDTCTOTC) I LET="V"!(LET="A") S JRNNR=$P(I2,LET,2) I LET="B",$E(TWEE)="D" S JRNNR=$P(I2,"BD",2),LET="D" S JRNNR=$E("000",1,3-$L(JRNNR))_JRNNR,JRN=$$JRN^cAFO2(LET,JRNNR) I LET="B",$E(TWEE)'="D" S JRN=$$SIG^cAFA1(KLUSC,TWEE_" ",110) ;JV "AR" -> KLUSC 09.05.03 S (MNT1,MNT)=$P($$MNTC^cAFE1(Q,BJ),D),(DEBMNT,DEBBF)=$P(STUK,D,3),(CREMNT,CREBF)=$P(STUK,D,4) S (REF,OMS)="Cum. "_$$MAAND^cAFO2(+$E(I2,6,7),QT,0)_" "_$E(I2,4,5) I $G(SWLST) S OMS="" S NUMMER="",NAAM="",PROJ="" I $G(SWLST) D . I LET="V" S NUMMER=$P($G(@("^"_Q_"VE(BP,FNR)")),D,4),BPE=$P($G(^(FNR)),D,20) I $L(NUMMER) S NAAM=$$SG^cAFA1("KL",NUMMER,102) . I LET="A" S NUMMER=$P($G(@("^"_Q_"AA(BP,FNR)")),D,4),BPE=$P($G(^(FNR)),D,20) I $L(NUMMER) S NAAM=$$SG^cAFA1("LE",NUMMER,102) S I3=KEY_"#"_(1E7+VNR) S ^HULP(boot,$J+.01,I3,0)=FDT_D_JRN_D_FC_D_FNR_D_DEBBF_D_CREBF_D_REF_D_MNT_D_INIT_D_DEBMNT_D_CREMNT_D_$S('PARDAT:DOLH,1:"")_D_MNT1_D_OMS_D_$G(NUMMER)_D_$G(NAAM)_D_BP_D_BPE_D_D_PROJ s ^(1)=$TR(KEY,"#",D),^(2)=$E(I2,$G(SWANA)*7+8)_$S("VA"'[$E(I2,$G(SWANA)*7+8):$E(TWEE),1:"")_D_I2_D_STUK G BUILDZ ; ; BUILDY S TEL=TEL+1 G BUILD ; volgende stuk in historiekstring BUILDZ Q ; PROJ(Q) ; licentie voor projecten ? N R,UQC,USC D DMS^cAN000("UQC","USC","PROJ",1) S R=1 I '$L(UQC)!'$L(USC) S R=0 PROJZ Q R ; ; bepalen van - datum VAN(ATL) S MND=DJ_"."_DM S ATL=ATL+1 VANA S M=1 F Q:M=ATL S MND=MND-.01 S M=M+1 I '$P(MND,".",2) S MND=MND-.88 VANB S:$L(MND)<7 MND=MND_"0" S K="01."_$P(MND,".",2)_"."_$E(MND,3,4) VANZ Q K ; VENT(GL,BP,FNR,KEY,KEYSORT,SWIAS,MNT1,PROJSW) ; bepalen ventilaties via factuur : uitgang : VTBEDR ; GL = "VE" of "AA" ; BP = JJJJ.MM ; FNR ; KEY = indien ingevuld wordt enkel maar VTBEDR opgebouwd voor deze éne key ; KEYSORT = key voor het samentellen en sorteren : 1 of 9 of 1#9 of 9#1 ; SWIAS = 1 : opslitsen per IAS-kode ; MNT1 = Munt geldig in BJ waarin BP viel ; PROJSW = project(en) ophalen ? ; ; Uitgang : VTBEDR(key)= debet munt BH_D_credit munt BH_D_debet munt doc_D_credit munt doc_D_project(en) ; N IV,IVT,STUKVT,VTREK,VENTIL,DEBBF,CREBF,DEBMNT,CREMNT,I,IAS,FC,MNT,PROJ ; GM 21.06.05 S $ZT="TRAP^cAN000" S FC=$P(@("^"_Q_GL_"(BP,FNR)"),D),MNT=$P(^(FNR),D,24) S IV=FNR K VTBEDR VENTA F S IV=$O(@("^"_Q_GL_"(BP,IV)")) Q:IV'["." D . S INHIV=^(IV) VENTB . F IVT=1:1 S STUKVT=$P(INHIV,D,IVT) Q:STUKVT="" D VENTC .. S VTREK="" F I=1:1:$L(KEYSORT,"#") S VTREK=VTREK_$S(I>1:"#",1:"")_$P(STUKVT,"#",$P(KEYSORT,"#",I)) .. I $L(KEY),VTREK'=KEY Q .. I $G(SWIAS) S IAS=$P(STUKVT,"#",10) S VTREK=VTREK_"#"_IAS .. S VTBEDR(VTREK)=$G(VTBEDR(VTREK))+$P(STUKVT,"#",4) .. I '$G(PROJSW) Q .. ; project ophalen .. S PROJ=$$SIG^cAFA1("PROJ",$P(STUKVT,"#",2),101) .. I " "_$G(PROJ(VTREK))_" "'[(" "_PROJ_" ") S PROJ(VTREK)=$G(PROJ(VTREK))_$S($L($G(PROJ(VTREK))):" ",1:"")_PROJ ; GM 21.06.05 S IV="" F S IV=$O(VTBEDR(IV)) Q:IV="" D . I GL="AA" D .. S DEBBF=VTBEDR(IV),(CREBF,CREMNT)="",DEBMNT=$$OMREK^cAFE1(Q,DEBBF,MNT1,MNT,"A","") .. I FC="C" S CREBF=DEBBF,CREMNT=DEBMNT,(DEBBF,DEBMNT)="" . I GL="VE" D .. S CREBF=VTBEDR(IV),(DEBBF,DEBMNT)="",CREMNT=$$OMREK^cAFE1(Q,CREBF,MNT1,MNT,"V","") .. I FC="C" S DEBBF=CREBF,DEBMNT=CREMNT,(CREBF,CREMNT)="" . S VTBEDR(IV)=DEBBF_D_CREBF_D_DEBMNT_D_CREMNT . I $G(PROJSW) S $P(VTBEDR(IV),D,5)=$G(PROJ(IV)) ; GM 21.06.05 VENTZ Q ; ; ophalen referte en omschrijving uit FA FAREF N EEN G YZ:'$D(@("^"_Q_"FA(US,FNR)")) S UR=$O(@("^"_Q_"FA(US,FNR,""U"")")) G FAREFZ:$E(UR)'="U" S EEN=^(UR,1) ; I '$G(SWLST),'$L(REF),$L($P(EEN,D,3)) S (REF,OMS)=$P(EEN,D,3) ; I $G(SWLST),'$L(OMS),$L($P(EEN,D,3)) S OMS=$P(EEN,D,3) ; KU : 29.06.05 in samenspraak met AM ; KO - 16.08.06 ; I '$L(REF),$L($P(EEN,D,3)) S (REF,OMS)=$P(EEN,D,3) ; I '$L(OMS),$L($P(EEN,D,3)) S OMS=$P(EEN,D,3) I '$L(REF),$L($P(EEN,D,3)) S (REF)=$P(EEN,D,3) FAREFZ Q ; ; zoektocht naar US-waarde betrokken factuur ZOEKUS S USS="" F S USS=$O(@("^"_Q_"FA(USS)")) Q:USS="" Q:$D(@("^"_Q_"FA(USS,FNR)")) I $L(USS) S US=USS ZOEKUSZ Q ; Z X ^cZ Q ZZ ; 19.03.07 - 15 u 31 * V8.08