cTN0093 ;Controle BH: controle tussen oud en nieuw ;cTN009 ; [ 12/10/01 5:49 PM ] ; T1 ;Aankoopdocument ;Verkoopdocument ;Financieel document ; Divers document ; T2 ;: niet gevonden in ;: gevonden in andere maand ( ;: bedrag wijkt af (; T3 ;Saldo ;Beginsaldo ;verschil: ; T4 ;Document ; niet openstaand in ; staat 2x open in ; openstaand bedrag wijkt af (; T5 ; vergelijken;Documenten;Cumuls;Openstaande posten;Gecombineerde cumuls; T6 ;O->N;N->O; ; T1F ; ; T1E ; ; YZ Q ; ; VGL(VBM,TBM) ; Controle BH: vergelijk oude boekhouding tegenover nieuwe ; Input: VBM: Van boekingsmaand ; TBM: Tot boekingsmaand ; S $ZT="TRAP^cAN000" N @$$INIT^cTN009("VBM,TBM") ; ; Controle parameters VGL1 F i="VBM","TBM" S @i=$G(@i) I '$L(VBM) G VGLZ I $$SIG^cAFA1("Q",Q,201)'=1 G VGLZ ; Bestanden worden niet gelijk gehouden ; ; Definities ophalen VGL2 G:'$L(UREFDB) VGLZ G:'$L(IREFDB) VGLZ G:'$L(UREFREG) VGLZ G:'$L(IREFREG) VGLZ ; ; Documenten VGL3 W !,!,$P($T(@("T5")),U,3),$P($T(@("T5")),U,2),! D DOC(VBM,TBM) ; ; Cumuls VGL4 W !,!,$P($T(@("T5")),U,4),$P($T(@("T5")),U,2) D CUM(VBM,TBM,"AR.A") D CUM(VBM,TBM,"ARA.A") D CUM(VBM,TBM,"KL.A") D CUM(VBM,TBM,"LE.A") ; ; Openstaande documenten VGL5 W !,!,$P($T(@("T5")),U,5),$P($T(@("T5")),U,2) D OPEN("KL.A") D OPEN("LE.A") ; ; Gecombineerde cumul VGL6 W !,!,$P($T(@("T5")),U,6),$P($T(@("T5")),U,2) D COMB(VBM,TBM) ; VGLZ Q ; COMB(VBM,TBM) ; Controle gecombineerde cumuls tussen oud en nieuw ; Input: VBM: Van boekingsmaand ; TBM: Tot boekingsmaand ; S $ZT="TRAP^cAN000" N @$$INIT^cTN009("VBM,TBM") ; ; ; Controle parameters COMB1 F i="VBM","TBM" S @i=$G(@i) I '$L(VBM) G COMBZ I '$L(TBM) S TBM=$$JBM^cTN003(.Q) ; ; Definities COMB2 S OUREF=$P($$REF^cAFA10(.Q,"CUM.AR.ARA"),D) S NUREF=$P($$REF^cAFA10(.Q,"CUM"),D) S NBUREF=$P($$REF^cAFA10(.Q,"BEG"),D) G:'$L(OUREF) COMBZ G:'$L(NUREF) COMBZ G:'$L(NBUREF) COMBZ S CUMGL="^DBH(""EA"",""CNTRL"","""_$$Q^cAFA10()_""",13,""CUM"",MT,$S($L(AR):AR,1:"" ""),$S($L(ARA):ARA,1:"" ""),$S($L(IAS):IAS,1:"" ""),$S($L(BPE):BPE,1:"" ""))" S BEGGL="^DBH(""EA"",""CNTRL"","""_$$Q^cAFA10()_""",13,""BEG"",BJ,$S($L(AR):AR,1:"" ""),$S($L(ARA):ARA,1:"" ""),$S($L(IAS):IAS,1:"" ""))" ; ; Boekjaren/maanden bepalen COMB25 S BJR=$P($G(^DPAR(Q,"PAR","DBH",0)),D) I '$L(BJR) G COMBZ ; Geen startjaar ingesteld I VBM<$$BM^cTN003(.Q,BJR) S VBM=$$BM^cTN003(.Q,BJR) ; Ten vroegste van eerste maand van startjaar S BBJ=$$BJ^cTN003(.Q,VBM) ; Beginboekjaar S EBJ=$$BJ^cTN003(.Q,TBM) ; Eindboekjaar ; ; Defaults COMB26 S SWIAS=$$IAS^cTN001(Q) S DNARA="" ; Default A-code: nieuw S DOARA=$$REK^cTA180("") ; Default A-code: oud S DNIAS="" ; Default IAS-code: nieuw S DOIAS=$$REK^cTA180("",1) ; Default IAS-code: oud S DNBPE="" ; Default boekingsperiode/leveringsmaand: nieuw S DOBPE="0" ; Default boekingsperiode/leveringsmaand: oud ; ; Cumuls: nieuw COMB3 S UI1=$$Q^cAFA10_" "_$TR(VBM,".")_" " COMB33 S UI1=$O(@NUREF) G:'$L(UI1) COMB4 S N=^(UI1,0) I $P(UI1," ")'=$$Q^cAFA10 G COMB4 ; Andere firma I $P(UI1," ",2)>$TR(TBM,".") G COMB4 ; Tot maand I $P(N,D,30) G COMB33 S AR=$P(N,D,3),ARA=$P(N,D,4),IAS=$P(N,D,5),BPE=$P(N,D,6),MT=$P(N,D,2) S @CUMGL=$P(N,D,11)_D_$P(N,D,12)_D_"N" COMB39 G COMB33 ; ; Beginsaldo: nieuw COMB4 S UI1=$$Q^cAFA10_" "_BBJ_" " COMB43 S UI1=$O(@NBUREF) G:'$L(UI1) COMB5 S N=^(UI1,0) I $P(UI1," ")'=$$Q^cAFA10 G COMB5 ; Andere firma I $P(UI1," ",2)>EBJ G COMB5 ; Tot jaar I $P(N,D,30) G COMB43 S AR=$P(N,D,3),ARA=$P(N,D,4),IAS=$P(N,D,5),BJ=$P(N,D) S $P(@BEGGL,D)=$P(N,D,6),$P(@BEGGL,D,2)="N" COMB49 G COMB43 ; ; Cumuls: oud COMB5 S UI1=$TR(VBM,".")_" " COMB53 S UI1=$O(@OUREF) G:'$L(UI1) COMB6 S N=^(UI1,0) I $P(UI1," ")>$TR(TBM,".") G COMB6 ; Tot maand I $P(N,D,30) G COMB53 S MT=$P(N,D,4) I $P(MT,".",2)="00" G COMB53 S AR=$$SIG^cAFA1("AR",$P(N,D),148) S ARA=$P(N,D,2) I ARA=DOARA S ARA=DNARA G COMB55 S ARA=$$SIG^cAFA1("ARA",ARA,148) COMB55 S IAS=$P(N,D,3) I 'SWIAS!(IAS=DOIAS) S IAS=DNIAS G COMB57 S IAS=$$SIG^cAFA1("ARA",IAS,148) COMB57 S BPE=$P(N,D,5) I BPE=DOBPE S BPE=DNBPE S $P(@CUMGL,D)=$P($G(@CUMGL),D)-$P(N,D,6) S $P(@CUMGL,D,2)=$P($G(@CUMGL),D,2)-$P(N,D,7) S $P(@CUMGL,D,3)=$P($G(@CUMGL),D,3)_"O" I +$P(@CUMGL,D)=+$P(@CUMGL,D,2) K @CUMGL COMB59 G COMB53 ; ; Beginsaldo: oud COMB6 S JR=BBJ-1 COMB61 S JR=JR+1 S UI1=JR_"00 " I JR>EBJ G COMBZ COMB63 S UI1=$O(@OUREF) G:'$L(UI1) COMBZ S N=^(UI1,0) I $P(UI1," ")'=(JR_"00") G COMB61 I $P(N,D,30) G COMB63 S AR=$$SIG^cAFA1("AR",$P(N,D),148),BJ=$P($P(N,D,4),".") S ARA=$P(N,D,2) I ARA=DOARA S ARA=DNARA G COMB65 S ARA=$$SIG^cAFA1("ARA",ARA,148) COMB65 S IAS=$P(N,D,3) I 'SWIAS!(IAS=DOIAS) S IAS=DNIAS G COMB67 S IAS=$$SIG^cAFA1("ARA",IAS,148) COMB67 S $P(@BEGGL,D)=$P($G(@BEGGL),D)-$P(N,D,10) S $P(@BEGGL,D,2)=$P($G(@BEGGL),D,2)_"O" I +$P(@BEGGL,D)=0 K @BEGGL COMB69 G COMB63 ; COMBZ Q ; CUM(VBM,TBM,TYPE) ; Controle cumuls tussen oud en nieuw ; Input: VBM: Van boekingsmaand ; TBM: Tot boekingsmaand ; TYPE: Type rekening ; AR.A: Grootboekrekening ; ARA.A: Analytische rekening ; KL.A: Klant ; LE.A: Leverancier ; S $ZT="TRAP^cAN000" N @$$INIT^cTN009("VBM,TBM,TYPE") ; ; ; Controle parameters CUM1 F i="VBM","TBM","TYPE" S @i=$G(@i) I '$L(VBM)!'$L(TYPE) G CUMZ I '$L(TBM) S TBM=$$JBM^cTN003(.Q) W !,TYPE,": " ; ; Definities CUM2 S OUREF=$P($$REF^cAFA10(.Q,$P(TYPE,".")),D) S NUREF=$P($$REF^cAFA10(.Q,TYPE),D) G:'$L(OUREF) CUMZ G:'$L(NUREF) CUMZ ; ; Boekjaren/maanden bepalen CUM25 S BBJ=$$BJ^cTN003(.Q,VBM) S EBJ=$$BJ^cTN003(.Q,TBM) F JR=BBJ:1:EBJ D . S KM1(JR)=$$BM^cTN003(.Q,JR) . S KM2(JR)=$$BM^cTN003(.Q,JR,1) I JR=EBJ S KM2(JR)=TBM ; ; Rekeningen aflopen CUM3 S UI1=0 CUM31 S JR=BBJ-1,UI1=$O(@OUREF) I '$L(UI1) G CUMZ S NUI1=$P(^(UI1,0),D,48) G:'$L(NUI1) CUM31 W $E(UI1) CUM32 S JR=JR+1 I JR>EBJ G CUM31 S DEBS=$G(@OUREF@(JR)),CRES=$G(^(JR+.02)) S PC=1,MT=KM1(JR)-.01 ; Maandcumuls CUM33 S PC=PC+1,MT=$E($J(MT+.01,0,2)_0,1,7) S:MT#1>.12 MT=MT+.88 I MT>KM2(JR) G CUM37 I JR=BBJ,(MT NIEUW * ; ************** W $P($T(@("T6")),U,2) ; ; Aankoopdagboek DOC3 S I1=VBM-.01,I2="",S="#" DOC31 S I1=$E($J(I1+.01,0,2)_0,1,7) S:I1#1>.12 I1=I1+.88 I I1>TBM G DOC4 DOC32 S I2=$O(@("^"_$$Q^cAFA10_"AA(I1,I2)")) G DOC31:I2="" G DOC32:(I2#1) DOC33 S N=^(I2),BEDR=$P(N,D,6) I $P(N,D)="C" S BEDR=-BEDR S R=$$TOTDB(.Q,"A",I1,I2),ERR="" I 'R S ERR=$P($T(@("T1")),U,2)_I1_" - "_I2_$P($T(@("T2")),U,2)_"^DBH" I $P(R,D)=-1 S ERR=$P($T(@("T1")),U,2)_I1_" - "_I2_$P($T(@("T2")),U,3)_$P(R,D,3)_")" I $P(R,D),(+BEDR'=+$P(R,D,2)) W !,$P($T(@("T1")),U,2)_I1_" - "_I2_$P($T(@("T2")),U,4)_+BEDR_" <-> "_+$P(R,D,2)_"): "_(BEDR-$P(R,D,2)) I $L(ERR) D ERR^cTN009("10","O->N","","",ERR) DOC39 G DOC32 ; ; Verkoopdagboek DOC4 S I1=VBM-.01,I2="" DOC41 S I1=$E($J(I1+.01,0,2)_0,1,7) S:I1#1>.12 I1=I1+.88 I I1>TBM G DOC5 DOC42 S I2=$O(@("^"_$$Q^cAFA10_"VE(I1,I2)")) G DOC41:I2="" G DOC42:(I2#1) DOC43 S N=^(I2),BEDR=$P(N,D,6) I $P(N,D)="C" S BEDR=-BEDR S R=$$TOTDB(.Q,"V",I1,I2),ERR="" I 'R S ERR=$P($T(@("T1")),U,3)_I1_" - "_I2_$P($T(@("T2")),U,2)_"^DBH" I $P(R,D)=-1 S ERR=$P($T(@("T1")),U,3)_I1_" - "_I2_$P($T(@("T2")),U,3)_$P(R,D,3)_")" I $P(R,D),(+BEDR'=+$P(R,D,2)) W !,$P($T(@("T1")),U,3)_I1_" - "_I2_$P($T(@("T2")),U,4)_+BEDR_" <-> "_+$P(R,D,2)_"): "_(BEDR-$P(R,D,2)) I $L(ERR) D ERR^cTN009("10","O->N","","",ERR) DOC49 G DOC42 ; ; Financieel/divers (STAP I) DOC5 S I1=VBM-.01,(I2,I3)="" DOC51 S I1=$E($J(I1+.01,0,2)_0,1,7) S:I1#1>.12 I1=I1+.88 I I1>TBM G DOC6 DOC52 S I2=$O(@("^"_$$Q^cAFA10_"FI(I1,I2)")) G DOC51:I2="" DOC53 S I3=$O(@("^"_Q_"FI(I1,I2,I3)")) G DOC52:I3="" DOC54 S N=^(I3),EDOC=$P(N,D,3) S @FITMP@(I1,I2,I3)="" ; Tijdelijke global opzetten DOC59 G DOC53 ; ; ; ************** ; NIEUW -> OUD * ; ************** ; ; Aankoop DOC6 W ", "_$P($T(@("T6")),U,3) S MT=$TR(VBM-.01,".","") I $L(MT)=4 S MT=MT_"00" DOC61 S EDOC="",MT=$O(@IREFDB@("M1",$$Q^cAFA10,"A",MT)) G:'$L(MT) DOC7 I MT>$TR(TBM,".","") G DOC7 DOC63 S EDOC=$O(@IREFDB@("M1",$$Q^cAFA10,"A",MT,EDOC)) I '$L(EDOC) G DOC61 DOC65 S I1=$E(MT,1,4)_"."_$E(MT,5,6) I $D(@("^"_$$Q^cAFA10_"AA(I1,EDOC)")) G DOC63 S IDOC=$O(@IREFDB@("M1",$$Q^cAFA10,"A",MT,EDOC,"")) S ERR=$P($T(@("T1")),U,2)_MT_" - "_EDOC_" ("_IDOC_")"_$P($T(@("T2")),U,2)_$$Q^cAFA10_"AA" D ERR^cTN009("10","N->O","","",ERR) DOC69 G DOC63 ; ; Verkoop DOC7 S MT=$TR(VBM-.01,".","") I $L(MT)=4 S MT=MT_"00" DOC71 S EDOC="",MT=$O(@IREFDB@("M1",$$Q^cAFA10,"V",MT)) G:'$L(MT) DOC8 I MT>$TR(TBM,".","") G DOC8 DOC73 S EDOC=$O(@IREFDB@("M1",$$Q^cAFA10,"V",MT,EDOC)) I '$L(EDOC) G DOC71 DOC75 S I1=$E(MT,1,4)_"."_$E(MT,5,6) I $D(@("^"_$$Q^cAFA10_"VE(I1,EDOC)")) G DOC73 S IDOC=$O(@IREFDB@("M1",$$Q^cAFA10,"V",MT,EDOC,"")) S ERR=$P($T(@("T2")),U,2)_MT_" - "_EDOC_" ("_IDOC_")"_$P($T(@("T2")),U,2)_$$Q^cAFA10_"VE" D ERR^cTN009("10","N->O","","",ERR) DOC79 G DOC73 ; ; Financieel DOC8 S TYPE="" DOC81 S TYPE=$O(@IREFDB@("M1",$$Q^cAFA10,TYPE)) G:'$L(TYPE) DOC9 I (TYPE'="F"),(TYPE'="D") G DOC81 S MT=$TR(VBM-.01,".","") I $L(MT)=4 S MT=MT_"00" DOC83 S EDOC="",MT=$O(@IREFDB@("M1",$$Q^cAFA10,TYPE,MT)) G:'$L(MT) DOC81 I MT>$TR(TBM,".","") G DOC81 S FI1=$E(MT,1,4)_"."_$E(MT,5,6) ; Maand DOC84 S IDOC="",EDOC=$O(@IREFDB@("M1",$$Q^cAFA10,TYPE,MT,EDOC)) I '$L(EDOC) G DOC83 DOC85 S IDOC=$O(@IREFDB@("M1",$$Q^cAFA10,TYPE,MT,EDOC,IDOC)) I '$L(IDOC) G DOC84 S (UI1,DB)=$P(^(IDOC),D) I TYPE="F" G DOC852 ; Divers: journaal DOC851 S (UI1,JRN)=$P(@UREFDB@(0),D,2) S JRNNR=$P($G(@UREFJRN@(0)),D,3) I JRNNR="0" S JRNNR="" S FI2="D"_JRNNR G DOC86 ; Financieel: rekening DOC852 S (UI1,FAR)=$P(@UREFDB@(0),D,11) I '$L(UI1) G DOC85 S FI2=$P($G(@UREFAR@(0)),D) ; DOC86 S DB=$P($$DI^cAN000(DB," ")," "),I7="" ; ; Registraties aflopen DOC87 S I7=$O(@IREFREG@("M1",$$Q^cAFA10,TYPE,DB,I7)) I '$L(I7) G DOC85 S UI1=$P(^(I7),D),FI3=$P(@UREFREG@(0),D,35) I '$L(FI3) G DOC87 I $D(@FITMP@(FI1,FI2,FI3)) K @FITMP@(FI1,FI2,FI3) G DOC87 S ERR=$P($T(@("T1")),U,4+($E(FI2)="D"))_FI1_" - "_FI2_" - "_FI3_" ("_UI1_")"_$P($T(@("T2")),U,2)_$$Q^cAFA10_"FI" D ERR^cTN009("10","N->O","","",ERR) DOC89 G DOC87 ; ; ; ************** ; OUD -> NIEUW * ; ************** ; ; Financieel/divers (STAP II) DOC9 S I1="" DOC91 S I2="",I1=$O(@FITMP@(I1)) I '$L(I1) G DOCZ DOC92 S I3="",I2=$O(@FITMP@(I1,I2)) I '$L(I2) G DOC91 DOC93 S I3=$O(@FITMP@(I1,I2,I3)) I '$L(I3) G DOC92 DOC94 S ERR=$P($T(@("T1")),U,4+($E(I2)="D"))_I1_" - "_I2_" - "_I3_$P($T(@("T2")),U,2)_"^DBH" D ERR^cTN009("10","O->N","","",ERR) DOC99 G DOC93 ; DOCZ Q ; OPEN(TYPE) ; Controle openstaande posten ; Input: TYPE: KL.A = Klanten ; LE.A = Leveranciers ; S $ZT="TRAP^cAN000" N @$$INIT^cTN009("TYPE") ; ; Controle parameters OPEN1 I '$L($G(IREFDB)) G OPENZ I '$L($G(TYPE)) G OPENZ ; ; Definities ophalen OPEN2 S OUREF=$P($$REF^cAFA10(.Q,$P(TYPE,".")),D) I '$L(OUREF) G OPENZ S NUREF=$P($$REF^cAFA10(.Q,TYPE),D) I '$L(NUREF) G OPENZ W !,TYPE_": " ; ; Vergelijking: OUD -> NIEUW OPEN3 S UI1=0 W $P($T(@("T6")),U,2) OPEN31 S FNR=99999,UI1=$O(@OUREF) I '$L(UI1) G OPEN4 ; ?? WAT MET WISSELS ?? S NUI1=$P(@OUREF@(0),D,48) OPEN33 S FNR=$O(@OUREF@(FNR)) I $L(FNR)'=6 G OPEN31 S DC=$P(^(FNR),D),OBEDR=$P(^(FNR),D,10)*$S(DC="C":-1,1:1),(IDOC,TEL)="" OPEN35 S IDOC=$O(@IREFDB@("M"_(2+(TYPE="LE.A")),$$Q^cAFA10,NUI1,"1",FNR,IDOC)) I $L(IDOC) S DB=$P(^(IDOC),D) I '$L(IDOC),'TEL D G OPEN33 . S ERR=$P($T(@("T4")),U,2)_FNR_$P($T(@("T4")),U,3)_"^DBH" . D ERR^cTN009("12","O->N","","",ERR) S TEL=TEL+1 I TEL>1 D G OPEN33 . S ERR=$P($T(@("T4")),U,2)_FNR_$P($T(@("T4")),U,4)_"^DBH" . D ERR^cTN009("12","O->N","","",ERR) S TUI1=UI1,UI1=DB,NBEDR=$P(@UREFDB@(0),D,18),UI1=TUI1 I +OBEDR=+NBEDR G OPEN33 S ERR=$P($T(@("T4")),U,2)_FNR_$P($T(@("T4")),U,5)_OBEDR_"<->"_NBEDR_")" D ERR^cTN009("12","O->N","","",ERR) OPEN39 G OPEN33 ; ; Vergelijking: NIEUW -> OUD OPEN4 S NUI1="" W ", "_$P($T(@("T6")),U,3) OPEN41 S FNR="",NUI1=$O(@IREFDB@("M"_(2+(TYPE="LE.A")),$$Q^cAFA10,NUI1)) I '$L($TR(NUI1," ","")) G OPENZ S UI1=NUI1,UI1=$P(@NUREF@(0),D,50) OPEN43 S FNR=$O(@IREFDB@("M"_(2+(TYPE="LE.A")),$$Q^cAFA10,NUI1,"1",FNR)) I '$L(FNR) G OPEN41 OPEN45 I $D(@OUREF@(FNR)) G OPEN47 ; Openstaand document gevonden S ERR=$P($T(@("T4")),U,2)_FNR_$P($T(@("T4")),U,3)_"^"_$$Q^cAFA10_$P(TYPE,".") D ERR^cTN009("12","N->O","","",ERR) ; OPEN47 S TEL=0 OPEN48 S IDOC=$O(@IREFDB@("M"_(2+(TYPE="LE.A")),$$Q^cAFA10,NUI1,"1",FNR,IDOC)) I '$L(IDOC) G OPEN49 S TEL=TEL+1 I TEL>1 D . S ERR=$P($T(@("T4")),U,2)_FNR_$P($T(@("T4")),U,4)_"^DBH" . D ERR^cTN009("12","N->O","","",ERR) G OPEN47 ; OPEN49 G OPEN43 ; OPENZ Q ; TOTDB(Q,TYPE,BM,EDOC) ; Haalt totaal bedrag van document op ; Input: Q: Vennootschap ; Doorgeven als referentie! ; TYPE: Type dagboek (A,V,...) ; BM: Boekingsmaand ; EDOC: Extern documentnummer ; ; Output: 0: Document NIET gevonden ; 1\Totaal bedrag ; -1\Totaal bedrag\Boekingsmaand: document gevonden in ANDERE maand ; S $ZT="TRAP^cAN000" N @$$INIT^cTN009("TYPE,BM,EDOC,REFS") ; ; Controle parameters TOTDB1 F i="TYPE","BM","EDOC" S @i=$TR($G(@i),".","") S R=0 I '$L(TYPE)!'$L(BM)!'$L(EDOC) G TOTDBZ ; ; Definities TOTDB2 G:'$L(UREFDB) VGLZ G:'$L(IREFDB) VGLZ ; Document opzoeken in doorgegeven maand TOTDB3 S IDOC="",IDOC=$O(@IREFDB@("M1",$$Q^cAFA10,TYPE,BM,EDOC,IDOC),-1) I '$L(IDOC) G TOTDB4 S UI1=$P(^(IDOC),D) S BEDR=$P($G(@UREFDB@(0)),D,16) S R="1\"_BEDR G TOTDBZ ; ; Document opzoeken in over alle maanden heen TOTDB4 S IDOC="",IDOC=$O(@IREFDB@("M4",$$Q^cAFA10,TYPE,EDOC,IDOC),-1) I '$L(IDOC) G TOTDBZ S UI1=$P(^(IDOC),D) S BEDR=$P($G(@UREFDB@(0)),D,16),MT=$P(^(0),D,5) S R="-1\"_BEDR_"\"_MT G TOTDBZ ; TOTDBZ Q R ; ZZ ; 29.08.07 - 10 u 22 * V8.09