cTN105 ; Saldi ; cTN105 ; T1 ;Beginsaldo; T2 ;Totaal;Kwartaal; T3 ;Rapporteringsmaand niet gevonden.; T4 ;Select B101, B102, B103, B104, B105, B106, B107, B108, B109, B110, B111, B112 from Prog_Tech.RegSal where +B101 >= 10 and GridId = ; T1F ;Solde initiale; T2F ;Total;Trimestre; T3F ;Période clôturée pas trouvé.; ; T1E ;Initial Balance; T2E ;Total;Quarter; T3E ;Closed fiscal month not found.; ; YZ Q ; BTEMP(GRIDID,DMS,KEUID,TIT,DETAIL) ; Input: GRIDID: GridId van ^mtemp99, indien "" wordt er een nieuw nr bepaald ; DMS: DMS van type historiek (KL.A,LE.A,AR.A,ARA.A) ; KEUID: Gridid van mtemp met ID's ; TIT: Alleen hoofding (titels) opbouwen ; DETAIL: 0 of "": Totaal tonen ; 1: Details tonen ; ; Output: 0\Foutboodschap ; of ; GRIDID S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,DMS,KEUID,TIT,DETAIL") ; ; Ophalen GridId BTEMP1 I '$L($G(GRIDID)) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID_D_$P($T(T4),U,2)_GRIDID K oQ M oQ=Q D Q49^cAFA10(Q,"DB") ; ; Controle parameters BTEMP2 F i="DMS","KEUID","TIT" S @i=$G(@i) F i="TIT","DETAIL" S @i=+$G(@i) I '$L(DMS) G BTEMPZ S OMZ=$S(DMS="KL.A":1,DMS="LE.A":1,1:0) ; Omzet of saldi? ; ; Enkel titels opzetten I TIT G BTEMP4 ; ; Selectie onderzoeken BTEMP3 S NBRIDS=$$SELC^cAFVBA01(KEUID,1) ; Alle rekeningen geselecteerd? I NBRIDS<0 S KEUID=$$KEU^cAFVBA05($$Q^cAFA10(),DMS,1),ALLREK=1 ; ; Tabel met rekeningen samenstellen S TRUREF=$P($$REF^cAFA10(.Q,DMS),D),RUREF=$$REPL^cAFA10(TRUREF,"UI1","UI1R") S UI1R="" F S UI1R=$O(^mtemp99(KEUID,"COMMON",UI1R)) Q:UI1R="" D . S REKTAB(UI1R,UI1R)="" I OMZ Q . ; Onderliggende rekeningnrs zoeken voor tekstrekening . S REKNRPAR=$P($G(@RUREF@(0)),D) . S TREK=$P($G(^(0)),D,13) I TREK'=6 Q . S UI1="" F S UI1=$O(@TRUREF) Q:UI1="" D .. S REKNODE=^(UI1,0),REKNR=$P(REKNODE,D),REKTR=$P(REKNODE,D,13) .. I $E(REKNR,1,$L(REKNRPAR))=REKNRPAR S REKTAB(UI1R,UI1)=REKTR ; ;Boekjaren en maanden ophalen BTEMP4 S BKJUREF=$P($$REF^cAFA10(.Q,"BKJ"),D) I '$L(BKJUREF) G BTEMPY S BKJUREF=$$REPL^cAFA10(BKJUREF,"UI1","BKJUI1") S BKJMNDUREF=$P($$REF^cAFA10(.Q,"BKJ.MND"),D) I '$L(BKJMNDUREF) G BTEMPY S BKJMNDUREF=$$REPL^cAFA10(BKJMNDUREF,"UI1","BKJMNDUI1") ; ; Boekjaren ophalen en in tijdelijke var stoppen S TEL=1,BKJUI1=$$Q^cAFA10(),YEARDIF=0 F S BKJUI1=$O(@BKJUREF) Q:$P(BKJUI1," ")'=$$Q^cAFA10() D . S $P(TAB,D,TEL)=BKJUI1_"#"_$P(^(BKJUI1,0),D) . S TEL=TEL+1 . ; KD - 26.06.07 - nakijken of het boekjaar niet in de toekomst ligt . I $P($P(TAB,D,TEL-1),"#",2)>DJ S YEARDIF=-1 ; ; Variabele met maanden opzetten S I3="" F S I3=$O(^cBA(2,$E(QT_"N"),I3)) Q:I3="" S X=^(I3),X=$$UC^cAFA1($E(X))_$$LC^cAFA1($E(X,2,99)),MNDTAB("MONTH"_I3)=X ; Munt & rapporteringsmaand ophalen S MNT=$$SIG^cAFA1("Q",$$Q^cAFA10(),202),MNDRAP=$P($G(^(1)),D,10) I MNDRAP'?4N1"."2N S OK=0_D_$P($T(T3),U,2) G BTEMPY S MNDRAP=+$P(MNDRAP,".",2) ; ; MAANDCIJFERS S $P(^mtemp99(GRIDID,"COMMON","KJM00",0),D,1)="10\"_MNT ; KALENDERJAAR S $P(^mtemp99(GRIDID,"COMMON","KJK00",0),D,1)="11\"_MNT ; BOEKJAAR S $P(^mtemp99(GRIDID,"COMMON","BJK00",0),D,1)="12\"_MNT ; ; Enkel hoofding (titels) opbouwen? I TIT G BTEMP6 ; ; Saldo voor de maanden ophalen BTEMP5 S UI1R="" F S UI1R=$O(REKTAB(UI1R)) Q:UI1R="" D . S UI1OR="" F S UI1OR=$O(REKTAB(UI1R,UI1OR)) Q:UI1OR="" D .. ; KD - 31.07.07 - voor tekstrek toch volledig loop doorlopen .. ; Voor tekstrekeningen moeten we niets doen .. ;I REKTAB(UI1R,UI1OR)=6 Q .. ; Tijdelijk var omgekeerd aflopen met maximum van 10 .. S TEL=$L(TAB,D),YEARTO=9 I TEL<10 S YEARTO=TEL-1 .. F I=0:1:YEARTO D ... S BKJUI1=$P($P(TAB,D,TEL-I),"#"),BKJ=$P($P(TAB,D,TEL-I),"#",2) ... ; Saldo opvragen per jaar voor alle maanden ... S VAR="SALDO" ... ; Saldo/omzet opvragen per maand ... S SALDO=$$@$S(OMZ:"OMZET",1:"SALDO")^cTN004(.Q,UI1OR,BKJ_".01"_D_BKJ_".12",DMS,4) ... ; Door alle teruggekregen maanden lopen ... F J=1:1:12 D .... S MONTH=$S($L(J)=1:"0"_J,1:J) .... ; Saldo bijhouden per maand .... S $P(MNDSAL(UI1R,BKJ,+MONTH),D)=$G(MNDSAL(UI1R,BKJ,+MONTH))+$P(SALDO,D,J) .... ; Kalenderjaren .... S KKMTAB(BKJ,+MONTH)=BKJ_"."_+MONTH ... ; gevonden boekjaren aflopen en gegevens opzoeken ... S MNDTEL=1,BKJMNDUI1=BKJUI1_" " F S BKJMNDUI1=$O(@BKJMNDUREF) Q:$P(BKJMNDUI1," ",1,2)'=BKJUI1 D .... S BKJMNDNODE=^(BKJMNDUI1,0),MONTH=$P($P(BKJMNDNODE,D,2),".",2),KALYEAR=$P($P(BKJMNDNODE,D,2),".") .... ; Boekjaren samenstellen .... S BKJMTAB(BKJ,MNDTEL)=$P(BKJMNDNODE,D,2),BKMTAB(MNDTEL)=+MONTH .... ; Beginsaldo van de eerste boekmaand opvragen .... I (MNDTEL=1),('OMZ) S $P(MNDSAL(UI1R,KALYEAR,+MONTH),D,2)=$P($G(MNDSAL(UI1R,KALYEAR,+MONTH)),D,2)+$$SALDO^cTN004(.Q,UI1OR,BKJ,DMS,3) .... ; Teller verhogen .... S MNDTEL=MNDTEL+1 ; ; Detail \ Totaal ? I NBRIDS=0 G BTEMPY ; Geen rekeningen geselecteerd I 'DETAIL G BTEMP53 ; Meerdere rekeningen ; ; Layout: 1 rekening ; ------------------ BTEMP51 ; Maandcijfers S MNDTAB("KJM01")=MNDTAB("MONTH1")_D_"1#1" S MNDTAB("KJM02")=MNDTAB("MONTH2")_D_"2#2" S MNDTAB("KJM03")=MNDTAB("MONTH3")_D_"3#3" S MNDTAB("KJM04")=MNDTAB("MONTH4")_D_"4#4" S MNDTAB("KJM05")=MNDTAB("MONTH5")_D_"5#5" S MNDTAB("KJM06")=MNDTAB("MONTH6")_D_"6#6" S MNDTAB("KJM07")=MNDTAB("MONTH7")_D_"7#7" S MNDTAB("KJM08")=MNDTAB("MONTH8")_D_"8#8" S MNDTAB("KJM09")=MNDTAB("MONTH9")_D_"9#9" S MNDTAB("KJM10")=MNDTAB("MONTH10")_D_"10#10" S MNDTAB("KJM11")=MNDTAB("MONTH11")_D_"11#11" S MNDTAB("KJM12")=MNDTAB("MONTH12")_D_"12#12" S MNDTAB("KJM13")="" S MNDTAB("KJM15")=$P($T(@("T2"_QT)),U,2)_D_"1#12" ; Kalenderjaar S MNDTAB("KJK01")=$E(MNDTAB("MONTH"_1),1,3)_" - "_$E(MNDTAB("MONTH"_MNDRAP),1,3)_D_"1#"_MNDRAP S MNDTAB("KJK02")="" S MNDTAB("KJK04")=$E(MNDTAB("MONTH"_1),1,3)_" - "_$E(MNDTAB("MONTH"_3),1,3)_D_"1#3" S MNDTAB("KJK05")=$E(MNDTAB("MONTH"_4),1,3)_" - "_$E(MNDTAB("MONTH"_6),1,3)_D_"4#6" S MNDTAB("KJK06")=$E(MNDTAB("MONTH"_7),1,3)_" - "_$E(MNDTAB("MONTH"_9),1,3)_D_"7#9" S MNDTAB("KJK07")=$E(MNDTAB("MONTH"_10),1,3)_" - "_$E(MNDTAB("MONTH"_12),1,3)_D_"10#12" S MNDTAB("KJK08")="" S MNDTAB("KJK10")=$E(MNDTAB("MONTH"_1),1,3)_" - "_$E(MNDTAB("MONTH"_6),1,3)_D_"1#6" S MNDTAB("KJK11")=$E(MNDTAB("MONTH"_7),1,3)_" - "_$E(MNDTAB("MONTH"_12),1,3)_D_"7#12" S MNDTAB("KJK12")="" S MNDTAB("KJK14")=$E(MNDTAB("MONTH"_1),1,3)_" - "_$E(MNDTAB("MONTH"_9),1,3)_D_"1#9" S MNDTAB("KJK15")="" S MNDTAB("KJK17")=$P($T(@("T2"_QT)),U,2)_D_"1#12" ; Boekjaar I 'OMZ S MNDTAB("BJK01")=$P($T(@("T1"_QT)),U,2)_D_"1B" ; Omzet: geen beginsaldo I 'OMZ S MNDTAB("BJK02")="" ; Omzet: geen beginsaldo S MNDTAB("BJK03")=$E(MNDTAB("MONTH"_BKMTAB(1)),1,3)_" - "_$E(MNDTAB("MONTH"_MNDRAP),1,3)_D_"1#"_MNDRAP S MNDTAB("BJK04")="" S MNDTAB("BJK06")=$E(MNDTAB("MONTH"_BKMTAB(1)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(3)),1,3)_D_"1#3" S MNDTAB("BJK07")=$E(MNDTAB("MONTH"_BKMTAB(4)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(6)),1,3)_D_"4#6" S MNDTAB("BJK08")=$E(MNDTAB("MONTH"_BKMTAB(7)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(9)),1,3)_D_"7#9" S MNDTAB("BJK09")=$E(MNDTAB("MONTH"_BKMTAB(10)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(12)),1,3)_D_"10#12" S MNDTAB("BJK10")="" S MNDTAB("BJK12")=$E(MNDTAB("MONTH"_BKMTAB(1)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(6)),1,3)_D_"1#6" S MNDTAB("BJK13")=$E(MNDTAB("MONTH"_BKMTAB(7)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(12)),1,3)_D_"7#12" S MNDTAB("BJK14")="" S MNDTAB("BJK16")=$E(MNDTAB("MONTH"_BKMTAB(1)),1,3)_" - "_$E(MNDTAB("MONTH"_BKMTAB(9)),1,3)_D_"1#9" S MNDTAB("BJK17")="" S MNDTAB("BJK99")=$P($T(@("T2"_QT)),U,2)_D_"1#12" G BTEMP6 ; ; Layout: meerdere rekeningen ; --------------------------- BTEMP53 ; Maandcijfers S MNDTAB("KJM01")=$P($T(@("T2"_QT)),U,2)_D_"1#12" ; Kalenderjaar S MNDTAB("KJK01")=$P($T(@("T2"_QT)),U,2)_D_"1#12" ; Boekjaar S MNDTAB("BJK99")=$P($T(@("T2"_QT)),U,2)_D_"1+1B#12" ; ; Mtemp opbouwen: cijfers BTEMP6 S TEL=$L(TAB,D),YEARTO=9 I TEL<10 S YEARTO=TEL-1 F I=0:1:YEARTO D . S BKJUI1=$P($P(TAB,D,TEL-I),"#"),BKJ=$P($P(TAB,D,TEL-I),"#",2) . ; ----------------- . ; MAANDCIJFERS . ; ----------------- . S $P(^mtemp99(GRIDID,"COMMON","KJM00",0),D,I+3)=BKJ+YEARDIF . I 'TIT S I1="KJM" F S I1=$O(MNDTAB(I1)) Q:$E(I1,1,3)'="KJM" D .. S NODE=MNDTAB(I1) .. S UI1R="" F S UI1R=$O(REKTAB(UI1R)) Q:UI1R="" D ... S TUI1=UI1R_" "_I1 ... ; Hoofding opzetten ... S ^mtemp99(GRIDID,"COMMON",TUI1,0)="0\"_$P(NODE,D) ... ; Grenzen bepalen ... S TO=$P($P(NODE,D,2),"#",2) ... ; Indien TO leeg moet er een lege lijn toegevoegd worden ... I TO="" S ^mtemp99(GRIDID,"COMMON",TUI1,2)="" Q ... ; Saldo bepalen ... F FROM=$P($P(NODE,D,2),"#"):1:TO S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=$P($G(^mtemp99(GRIDID,"COMMON",TUI1,2)),D,I+1)+$P($G(MNDSAL(UI1R,BKJ+YEARDIF,FROM)),D) ... ; Eénmalig uit te voeren: ... I I'=YEARTO Q ... ; Rekening ... S $P(^mtemp99(GRIDID,"COMMON",TUI1,3),D,$S(DMS="KL.A":2,DMS="LE.A":3,DMS="ARA.A":4,1:1))=UI1R ... ; Lijnen zonder bedragen uit filteren ... I $G(ALLREK),$TR($TR(^mtemp99(GRIDID,"COMMON",TUI1,2),D,""),0,"")="" K ^mtemp99(GRIDID,"COMMON",TUI1) . ; ----------------- . ; KALENDERJAAR . ; ----------------- . S $P(^mtemp99(GRIDID,"COMMON","KJK00",0),D,I+3)=BKJ+YEARDIF . I 'TIT S I1="KJK" F S I1=$O(MNDTAB(I1)) Q:$E(I1,1,3)'="KJK" D .. S NODE=MNDTAB(I1) .. S UI1R="" F S UI1R=$O(REKTAB(UI1R)) Q:UI1R="" D ... S TUI1=UI1R_" "_I1 ... ; Hoofding opzetten ... S ^mtemp99(GRIDID,"COMMON",TUI1,0)="1\"_$P(NODE,D) ... ; Grenzen bepalen ... S TO=$P($P(NODE,D,2),"#",2) ... ; Indien TO leeg moet er een lege lijn toegevoegd worden ... I TO="" S ^mtemp99(GRIDID,"COMMON",TUI1,2)="" Q ... ; Saldo bepalen ... F FROM=$P($P(NODE,D,2),"#"):1:TO S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=$P($G(^mtemp99(GRIDID,"COMMON",TUI1,2)),D,I+1)+$P($G(MNDSAL(UI1R,BKJ+YEARDIF,FROM)),D) ... ; Eénmalig uit te voeren: ... I I'=YEARTO Q ... ; Rekening ... S $P(^mtemp99(GRIDID,"COMMON",TUI1,3),D,$S(DMS="KL.A":2,DMS="LE.A":3,DMS="ARA.A":4,1:1))=UI1R ... ; Lijnen zonder bedragen uit filteren ... I $G(ALLREK),$TR($TR(^mtemp99(GRIDID,"COMMON",TUI1,2),D,""),0,"")="" K ^mtemp99(GRIDID,"COMMON",TUI1) . ; ----------------- . ; BOEKJAAR . ; ----------------- . S $P(^mtemp99(GRIDID,"COMMON","BJK00",0),D,I+3)=BKJ . I 'TIT S I1="BJK" F S I1=$O(MNDTAB(I1)) Q:$E(I1,1,3)'="BJK" D .. S NODE=MNDTAB(I1) .. S UI1R="" F S UI1R=$O(REKTAB(UI1R)) Q:UI1R="" D ... S TUI1=UI1R_" "_I1 ... ; Hoofding opzetten ... S ^mtemp99(GRIDID,"COMMON",TUI1,0)="2\"_$P(NODE,D) ... ; Grenzen bepalen ... S TO=$P($P(NODE,D,2),"#",2),FROM=$P($P(NODE,D,2),"#") ... ; Beginsaldo verwerken indien B gevonden ... I $L(FROM,"B")=2 D Q:DETAIL .... ; Samengestelde waarde? .... S BKJMTABINDEX=$P(FROM,"B") .... I $L(FROM,"+")=2 S BKJMTABINDEX=$P($P(FROM,"+",2),"B") .... ; KD - 24.07.07 - indien alleen tekstrek zonder andere bestaat BKJMTAB niet .... I $G(BKJMTAB(BKJ,BKJMTABINDEX))="" D Q ..... S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=0 ..... S $P(^mtemp99(GRIDID,"COMMON",TUI1,3),D,1)=UI1R ..... S $P(^mtemp99(GRIDID,"COMMON",UI1R_" "_"BJK99",2),D,I+1)=0 .... S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=$P($G(MNDSAL(UI1R,$P(BKJMTAB(BKJ,BKJMTABINDEX),"."),+$P(BKJMTAB(BKJ,BKJMTABINDEX),".",2))),D,2) .... S $P(^mtemp99(GRIDID,"COMMON",TUI1,3),D,1)=UI1R .... S $P(^mtemp99(GRIDID,"COMMON",UI1R_" "_"BJK99",2),D,I+1)=$P($G(MNDSAL(UI1R,$P(BKJMTAB(BKJ,BKJMTABINDEX),"."),+$P(BKJMTAB(BKJ,BKJMTABINDEX),".",2))),D,2) ... ; Indien TO leeg moet er een lege lijn toegevoegd worden ... I TO="" S ^mtemp99(GRIDID,"COMMON",TUI1,2)="" Q ... ; Saldo bepalen ... F FROM=+$P($P(NODE,D,2),"#"):1:+TO D .... ; KD - 24.07.07 - indien alleen tekstrek zonder andere bestaat BKJMTAB niet .... I $G(BKJMTAB(BKJ,FROM))="" D Q ..... S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=0 .... S $P(^mtemp99(GRIDID,"COMMON",TUI1,2),D,I+1)=$P($G(^mtemp99(GRIDID,"COMMON",TUI1,2)),D,I+1)+$P($G(MNDSAL(UI1R,$P(BKJMTAB(BKJ,FROM),"."),+$P(BKJMTAB(BKJ,FROM),".",2))),D) ... ; Eénmalig uit te voeren: ... I I'=YEARTO Q ... ; Rekening ... S $P(^mtemp99(GRIDID,"COMMON",TUI1,3),D,$S(DMS="KL.A":2,DMS="LE.A":3,DMS="ARA.A":4,1:1))=UI1R ... ; Rekening bij totaal-lijn ... S $P(^mtemp99(GRIDID,"COMMON",UI1R_" "_"BJK99",3),D,$S(DMS="KL.A":2,DMS="LE.A":3,DMS="ARA.A":4,1:1))=UI1R ... ; Lijnen zonder bedragen uit filteren ... I $G(ALLREK),$TR($TR(^mtemp99(GRIDID,"COMMON",TUI1,2),D,""),0,"")="" K ^mtemp99(GRIDID,"COMMON",TUI1) ; ; Opkuis BTEMPY I $G(ALLREK),$L(KEUID) K ^mtemp99(KEUID,"COMMON") ; BTEMPZ K Q M Q=oQ Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09