cTN8872(BM,MAP,DMS) ; Verkoopdagboek ; cTN8872 [ 30/11/09 16:21:41 ] ; T0 ;Verkoopdagboek T1 ;Factuur/ Datum Nummer + naam\Totaal;2\Maatstaf;2\BTW;2\BTW;2\Speciale;2\Korting;2\Verschil;2\I; T2 ;Creditn. van de klant\document;2\van heffing;2\code;2\bedrag;2\taks;2\contant;2\\C; T3 ;Eindtotaal facturen;Eindtotaal creditnota's; T4 ;Algemeen totaal der ;facturen;creditnota's; T5 ;Klanten;BTW;Egalisatie;Speciale taks;Korting contant;Belastbare basis ;Verschillen ; (IC); T6 ;\ Algemeen totaal der facturen;;1\\ Algemeen totaal der creditnota's;;1\; T7 ;\Debet;2\Credit;2\Debet;2\Credit;2; T8 ;Overdracht facturen;Overdracht creditnota's; T9 ;Journaal;Eindoverzicht ;alle journalen; ; T0F ;Journal des ventes ; T1F ;Facture/ Date Numéro + nom\Total;2\Base;2\Code;2\Montant;2\Taxes;2\Escompte;2\Différence;2\I; T2F ;N.de cr. du client\document;2\taxable;2\TVA;2\TVA;2\spéciales;2\comptant;2\\C; T3F ;Total final des factures;Total final des notes de credit; T4F ;Total général des ;factures;notes de crédit; T5F ;Clients;TVA;Egalisation;Taxes spéciales;Escompte comptant;Base taxable ;Différences; (IC); T6F ;\ Total général des factures;;1\\ Total général des notes de crédit;;1\; T7F ;\Débit;2\Crédit;2\Débit;2\Crédit;2; T8F ;Transfert factures;Transfert notes de crédit; T9F ;Journal;Aperçu final ;tous les journaux; ; T0E ;Sales journal ; T1E ;Invoice/ Date Number + name\Total;2\VAT;2\VAT;2\VAT;2\Special;2\In cash;2\Difference;2\I; T2E ;Credit n of customer\document;2\basis;2\code;2\amount;2\tax;2\discount;2\\C; T3E ;Final total invoices;Final total credit notes; T4E ;General total ;invoices;credit notes; T5E ;Customers;VAT;Egalisation;Special tax;In cash discount;Taxable basis ;Differences ; (IC); T6E ;\ General total invoices;;1\\ General total credit notes;;1\; T7E ;\Debit;2\Credit;2\Debit;2\Credit;2; T8E ;Transfer invoices;Transfer credit notes; T9E ;Journal;Final summary ;all journals; ; 1 S OVZ=0 S REFDB=$$REF^cAFA10(Q,"DB") S UREFDB=$P(REFDB,D),IREFDB=$P(REFDB,D,3) ; UREF/IREF voor ^DBH(Q,"DB" S UREFDB=$$REPL^cAFA10(UREFDB,"UI1","UI1DB") S REFBTW=$$REF^cAFA10(Q,"DB.BTW") S UREFBTW=$P(REFBTW,D) ; UREF voor ^DBH(Q,"DB.BTW" S UREFBTW=$$REPL^cAFA10(UREFBTW,"UI1","UI1BTW") S REFKLA=$$REF^cAFA10(Q,"KL.A") S UREFKLA=$P(REFKLA,D) ; UREF voor ^DKL(,"KL.A" S UREFKLA=$$REPL^cAFA10(UREFKLA,"UI1","UI1KLA") S REFJRN=$$REF^cAFA10(Q,"JRN") S UREFJRN=$P(REFJRN,D) ; UREF voor ^DBH(,"JRN" S UREFJRN=$$REPL^cAFA10(UREFJRN,"UI1","UI1JRN") S SRT="A" ; D S1BTW ; opbouwen variable PBTW vanuit CODE.9011 ; S BP=BM ; =$E(BM,1,4)_"."_$E(BM,5,6) S BM=$TR(BM,".") S MNM=$P($T(@("T0"_QT)),U,2)_": "_^cBA(2,$E(QT_"N"),BP#1*100)_" "_(BP\1) S HD(1)=D,HD(2)=D_MNM_";C;F82",HD(3)=D S TIT(1)=$P($T(@("T1"_QT)),U,2,99) S TIT(2)=$P($T(@("T2"_QT)),U,2,99) S TAB="45\60\75\81\96\107\118\129\131",LN=0 S AFS(1,1)=$P($T(@("T8"_QT)),U,2)_"\\9",AFS(2,1)=$P($T(@("T8"_QT)),U,3)_"\\9" S (TEF,TEC)=0 K A,AA,^HULP(boot,$J),^HULP(boot,$J+.01) ; S UI1DB="V" 11 S UI1DB=$O(@IREFDB@("M7",Q,BM,UI1DB)) G 19:UI1DB="" S TYPE=$P(UI1DB," ") I TYPE'="V" G 11 ; alleen Verkopen beschouwen S NULDB=@UREFDB@(0),EENDB=^(1) S FNR=$P(NULDB,D,3) S UI1JRN=$P(NULDB,D,2),JRN=$P(@UREFJRN@(0),D,3) ; journaalnummer S (X,UI1BTW)=UI1DB,BTWVELD="" F S UI1BTW=$O(@UREFBTW) Q:$E(UI1BTW,1,$L(X))'=X S INHBTW=@UREFBTW@(0) D . S BTWUI1=$P(INHBTW,D,2) . S MST=$FN($P(INHBTW,D,3),"-") . S BTWVELD=BTWVELD_BTWUI1_"#"_MST_"#" . S FC=$P(NULDB,D,23) . S UI1KLA=$P(NULDB,D,9) . S KC=$P(@UREFKLA@(0),D),KN=$P(^(0),D,2) . S INH="" . S $P(INH,D)=FC . S $P(INH,D,2)=$P(NULDB,D,7) ; factuurdatum . S $P(INH,D,4)=KC ; klantnummer . S $P(INH,D,5)=KN ; klantnaam . S $P(INH,D,6)=$FN($P(NULDB,D,16),"-") ; totaal factuur in munt boekhouding - CN ook positief . S $P(INH,D,7)=$FN($P(EENDB,D),"-") ; goederenkost in munt boekhouding - CN ook positief . S $P(INH,D,8)=$FN($P(EENDB,D,10),"-") ; BTW bedrag in munt boekhouding - CN ook positief . S $P(INH,D,10)=$FN($P(NULDB,D,17),"-") ; korting kontant in munt boekhouding - CN ook positief . S $P(INH,D,11)=BTWVELD ; btw - uitsplitsing . S $P(INH,D,21)=JRN ; journaalnummer . S $P(INH,D,22)=UI1KLA ; intern nr KL.A . S ^HULP(boot,$J+.01,JRN,FNR)=INH ; G 11 ; ; aflopen ^HULP(boot,$J+.01 voor afdrukken per journaal 19 S JRN="" 191 S JRN=$O(^HULP(boot,$J+.01,JRN)) G 7:JRN="" S I1="",Q6="^HULP(boot,$J+.01,JRN,I1)" ; ; dagboek 2 K HD(4),A,TOP S TIT(1)=$P($T(@("T1"_QT)),U,2,99),TIT(2)=$P($T(@("T2"_QT)),U,2,99) S TAB="45\60\75\81\96\107\118\129\131",LN=0 S JRNCODE="V"_$S('JRN:"",1:$E("000",1,3-$L(JRN)))_$S('JRN:"",1:JRN) S UI1JRN=$$UI1OP^cAFA1("JRN","M6","","EA",JRN) S JRNOMS=$P(@UREFJRN@(0),D,2+((QTU-1)*10)) S HD(3)=D_$P($T(@("T9"_QT)),U,2)_" "_JRN_" : "_JRNOMS_";C;F82" F S I1=$O(@Q6) Q:'$L(I1) I '(I1#1) S Z=^(I1) D . S K=$L($P(Z,D,11),"#")\2+$L($P(Z,D,9)),SMST=0 I $D(LNMAX) S:LNMAX-K1 . ; . ; meerdere BTW-codes 3 . F I=1:1:9 S TXT(I)="" 31 . F I=4:2 Q:'$L($P(MST,"#",I)) S TXT(3)=$P(MST,"#",I)_"\\\\1\"_QD_"\\"_(FC="C"+1),TXT(4)=PBTW($P(MST,"#",I-1))_"\1" D PRINTD 33 . I $P(Z,D,9) S TXT(4)="E\1",TXT(5)=$P(Z,D,9)_"\\\\1\"_QD_"\\"_(FC="C"+1),TXT(3)="",@("TE"_FC)=@("TE"_FC)+$P(Z,D,9) D ^cA334 39 ; G 2 ; ; eindtotaal dagboek 4 S AFS(1,1)=$P($T(@("T3"_QT)),U,2)_"\\9" S AFS(2,1)=$P($T(@("T3"_QT)),U,3)_"\\9" S END=4 D ^cA334 I SRT'="A",OVZ,DEV'=0 C DEV U PRINTER S (BLZ,LN)=0 K DEV,FAX,PRINTER ; ; journaalpost per BTW-nummer 5 S TAB="48\69\90\111\131" ; ,BTWNR="" S $P(HD(4),D,2)=$P($T(@("T9"_QT)),U,3)_";C;F82" S TIT(1)=$P($T(@("T6"_QT)),U,2,99),TIT(2)=$P($T(@("T7"_QT)),U,2,99) ; FB - 20.11.02 - journaalpost per journaal 51 ; S BTWNR=$O(^HULP(boot,$J,BTWNR)) I BTWNR="" S END=4 K AFS D ^cA334 G 191 ; S I=BTWNR I I=0,$O(^(I))="" G 53 ; I I=0 S I=$P($G(@("^"_Q_"BTW")@(0,0)),D,7) ; S TOP(1,1)=$$BTW^cAFO1(I) 53 K AFS(1) S AFS(1,1)=$P($T(@("T8"_QT)),U,2)_"\\11" K AFS(2) S AFS(2,1)=$P($T(@("T8"_QT)),U,3)_"\\11" S END=8 D ^cA334 ; ; klanten 6 S TXT(1)=$P($T(@("T5"_QT)),U,2)_"\\1" S TXT(2)=$G(A(BTWNR,1,2))_"\\\\1\"_QD_"\\1" I 'TXT(2) S TXT(2)="" S TXT(5)=$G(A(BTWNR,2,2))_"\\\\1\"_QD_"\\2" I 'TXT(5) S TXT(5)="" S (TXT(3),TXT(4))="" D ^cA334 ; btw 60 S (TXT(2),TXT(5))="" I $G(A(BTWNR,1,5))!$G(A(BTWNR,2,5)) D . S TXT(1)=$P($T(@("T5"_QT)),U,3) . S TXT(3)=$G(A(BTWNR,1,5)),TXT(4)=$G(A(BTWNR,2,5)) D S1,^cA334 ; egalisatie 61 I TEF!TEC D . S TXT(1)=$P($T(@("T5"_QT)),U,4) . S TXT(3)=TEF,TXT(4)=TEC D S1,^cA334 . S (TEF,TEC)=0 ; slechts 1x printen ; spec.taks 62 I $G(A(BTWNR,1,6))!$G(A(BTWNR,2,6)) D . S TXT(1)=$P($T(@("T5"_QT)),U,5) . S TXT(3)=$G(A(BTWNR,1,6)),TXT(4)=$G(A(BTWNR,2,6)) D S1,^cA334 ; korting contant 63 I $G(A(BTWNR,1,7))!$G(A(BTWNR,2,7)) D . S TXT(1)=$P($T(@("T5"_QT)),U,6) . S TXT(3)=$G(A(BTWNR,1,7)),TXT(4)=$G(A(BTWNR,2,7)) D S1,^cA334 ; per BTW-code 64 S I2="" F S I2=$O(^HULP(boot,$J,BTWNR,I2)) Q:I2="" D S3 ; verschillen 65 I $G(A(BTWNR,1,8))!$G(A(BTWNR,2,8)) D . S TXT(1)=$P($T(@("T5"_QT)),U,8) . S TXT(3)=$G(A(BTWNR,1,8)),TXT(4)=$G(A(BTWNR,2,8)) D S1,^cA334 ; subtotaal 66 S AFS(1,1)=$P($T(@("T3"_QT)),U,2)_"\\11" S AFS(2,1)=$P($T(@("T3"_QT)),U,3)_"\\11" S END=2 D ^cA334 S END=4 K AFS D ^cA334 K ^HULP(boot,$J,BTWNR) G 191 ; ; eindjournaalpost per BTW-nummer 7 G Y:SRT'="A" I OVZ,DEV'=0 C DEV U PRINTER S (BLZ,LN)=0 K DEV,FAX,PRINTER S TAB="48\69\90\111\131",BTWNR="" K HD(4) S HD(3)=D S HD(4)=D_$P($T(@("T9"_QT)),U,3)_$P($T(@("T9"_QT)),U,4)_";C;F82" S TIT(1)=$P($T(@("T6"_QT)),U,2,99),TIT(2)=$P($T(@("T7"_QT)),U,2,99) 71 S BTWNR=$O(^HULP(boot,$J,"EIND",BTWNR)) I BTWNR="" G Y S I=BTWNR I I=0,$O(^(I))="" G 73 I I=0 S I=$$SIG^cAFA1("Q",Q,207) S TOP(1,1)=$$BTW(I) 73 K AFS(1) S AFS(1,1)=$P($T(@("T8"_QT)),U,2)_"\\11" K AFS(2) S AFS(2,1)=$P($T(@("T8"_QT)),U,3)_"\\11" S END=8 D ^cA334 ; ; klanten 8 S TXT(1)=$P($T(@("T5"_QT)),U,2)_"\\1" S TXT(2)=$G(AA(BTWNR,1,2))_"\\\\1\"_QD_"\\1" I 'TXT(2) S TXT(2)="" S TXT(5)=$G(AA(BTWNR,2,2))_"\\\\1\"_QD_"\\2" I 'TXT(5) S TXT(5)="" S (TXT(3),TXT(4))="" D ^cA334 ; btw 80 S (TXT(2),TXT(5))="" I $G(AA(BTWNR,1,5))!$G(AA(BTWNR,2,5)) D . S TXT(1)=$P($T(@("T5"_QT)),U,3) . S TXT(3)=$G(AA(BTWNR,1,5)),TXT(4)=$G(AA(BTWNR,2,5)) D S1,^cA334 ; egalisatie 81 I TEF!TEC D . S TXT(1)=$P($T(@("T5"_QT)),U,4) . S TXT(3)=TEF,TXT(4)=TEC D S1,^cA334 . S (TEF,TEC)=0 ; slechts 1x printen ; spec.taks 82 I $G(AA(BTWNR,1,6))!$G(AA(BTWNR,2,6)) D . S TXT(1)=$P($T(@("T5"_QT)),U,5) . S TXT(3)=$G(AA(BTWNR,1,6)),TXT(4)=$G(AA(BTWNR,2,6)) D S1,^cA334 ; korting contant 83 I $G(AA(BTWNR,1,7))!$G(AA(BTWNR,2,7)) D . S TXT(1)=$P($T(@("T5"_QT)),U,6) . S TXT(3)=$G(AA(BTWNR,1,7)),TXT(4)=$G(AA(BTWNR,2,7)) D S1,^cA334 ; per BTW-code 84 S I2="" F S I2=$O(^HULP(boot,$J,"EIND",BTWNR,I2)) Q:I2="" D S4 ; verschillen 85 I $G(AA(BTWNR,1,8))!$G(AA(BTWNR,2,8)) D . S TXT(1)=$P($T(@("T5"_QT)),U,8) . S TXT(3)=$G(AA(BTWNR,1,8)),TXT(4)=$G(AA(BTWNR,2,8)) D S1,^cA334 ; subtotaal 86 S AFS(1,1)=$P($T(@("T3"_QT)),U,2)_"\\11" S AFS(2,1)=$P($T(@("T3"_QT)),U,3)_"\\11" S END=4 D ^cA334 G 71 ; Y S END=6 D ^cA334 K ^HULP(boot,$J),^HULP(boot,$J+.01) YZ Q ; ; printen detaillijn + totaliseren per BTW-nummer PRINTD D ^cA334 S K=1 F S K=$O(TXT(K)) Q:K="" I $P(TXT(K),D,8) D . S A(BTWNR,$P(TXT(K),D,8),K)=$G(A(BTWNR,$P(TXT(K),D,8),K))+TXT(K) . S AA(BTWNR,$P(TXT(K),D,8),K)=$G(AA(BTWNR,$P(TXT(K),D,8),K))+TXT(K) PRINTDZ Q ; ; correctie TXT ivm printen S1 S $P(TXT(1),D,3)=6 F I=5,8 S $P(TXT(3),D,I)=1 S $P(TXT(4),D,5)=1,$P(TXT(4),D,8)=2 F I=3,4 S $P(TXT(I),D,6)=QD I 'TXT(I) S TXT(I)="" S1Z Q ; ; I2=BTW-code ; I3=aanduiding IC (0=neen <> 1=ja) S3 F I3=0,1 S X=^HULP(boot,$J,BTWNR,I2,I3,"F"),Y=^("C") I X!Y D . S TXT(1)=$P($T(@("T5"_QT)),U,7)_PBTW(I2)_$P($T(@("T5"_QT)),U,10-I3) . S TXT(3)=X,TXT(4)=Y D S1,^cA334 S3Z Q ; I2=BTW-code ; I3=aanduiding IC (0=neen <> 1=ja) ; wordt alleen gebruikt voor eindoverzicht alle journalen S4 F I3=0,1 S X=$G(^HULP(boot,$J,"EIND",BTWNR,I2,I3,"F")),Y=$G(^("C")) I X!Y D . S TXT(1)=$P($T(@("T5"_QT)),U,7)_PBTW(I2)_$P($T(@("T5"_QT)),U,10-I3) . S TXT(3)=X,TXT(4)=Y D S1,^cA334 S4Z Q ; ; ICVE(Q,BP,FNR) S $ZT="TRAP^cAN000" N RZR D S1^cT00A N R,A,BA39,BTW,H,I,KC,V11,K,DAT S R=0 I $G(Q)="" G ICVEZ I $G(BP)="" G ICVEZ I $G(FNR)="" G ICVEZ S H=Z,KC=$P(H,D,4),BTW=$P(H,D,8),V11=$P(H,D,11) I $L($P(H,D,36)) G ICVEZ ; ander BTW-nummer I BTW G ICVEZ ; BTW-bedrag I '$D(PBTW) N PBTW,PTXT D S1BTW S A=0 F I=1:2 S H=$P(V11,"#",I) Q:H="" I $G(PBTW(H))'="Z.B." S A=A+1 I A>1 G ICVEZ ; meerdere BTW-codes S H=$P(V11,"#") I H="" G ICVEZ ; geen BTW-code I $G(PBTW(H))'="0%" G ICVEZ ; andere BTW-code S DAT="01."_$P(BP,".",2)_"."_$E(BP,3,4) S K=$P(@UREFKLA@(0),D,16) S K=$$SG^cAFA1("KL",KC,116) S R=$$IC(K,DAT) ICVEZ D S2^cT00A Q R ; S1BTW K PBTW S UREF9011=$P($$REF^cAFA10(Q,"CODE.9011"),D) S UREF9011=$$REPL^cAFA10(UREF9011,"UI1","UI19011") S UI19011="" F S UI19011=$O(@UREF9011) Q:UI19011="" I '$P(@UREF9011@(0),D,30) S PBTW(UI19011)=$P(@UREF9011@(0),D) S1BTWZ Q ; ; BTW-nummer BTW(K) S $ZT="TRAP^cAN000" N R,RL I $L(K) D . S R=$E(K,1,2),RL=$$SIG^cAFA1("Q",Q,214) . S:RL'?2U RL="BE" S:R'?2U R=RL I R?2U,$D(^BA(5,R,2)) X "S K="_^(2) BTWZ Q K ; IC(BTW,DATUM,SWA,LAND) ; Contole of het om een IC-land gaat ; BTW = BTW-nr ; DATUM : dd.mm.jj ; SWA = 1 : vanuit inschrijven inkomende document : test voor IC BTW of niet N R,R1,R2,ISO,CODEL,UI1L,DATIN,DATUIT S $ZT="TRAP^cAN000" S R=0 I $L($G(LAND)) S R1=LAND S R=1 G ICA ; Controle via ^BA(5 of het om een geldig BTW-nr gaat I '$L(BTW) G ICZ S R1=$E(BTW,1,2),R2=$$SIG^cAFA1("Q",Q,214) I R2'?2U S R2="BE" I R1'?2U S R1=R2 ; R=3 : BTW-code is ingevuld, maar komt niet voor in BA(5 I $G(SWA) S R=3 ; R=1 land uit de BTW-code = land uit ^_Q_BA(39 ; R=2 land uit de BTW-code'= land uit ^_Q_BA(39 (het gaat dus om een IC-land) I R1?2U,$D(^BA(5,R1,2)) X "S U3="_^(2) S R=R1'=R2+$G(SWA) ; Geen verdere testen wanneer wanneer het BTW-nummer niet ; voorkomt in ^BA(5 of wanneer het land uit de BTW-code = land uit ^_Q_BA(39 I R=(0+$G(SWA))!(R=3) G ICZ ; Controle via ^ISO(0,"ISO.LAND" of het om een EG-lidstaat gaat ; Ophalen UI1 ISO.LAND ICA S UI1L=$P($G(^BA(5,R1,0)),D,3) I '$L(UI1L) S R=0 G ICZ ; Controle of veld EG-lidstaat op ja staat I '$$SIG^cAFA1("ISO.LAND",UI1L,105) S R=0 G ICZ I '$L(DATUM) G ICZ ; Controleren Datum toetreding en uittreding S DATIN=$P(^(0),D,6),DATUIT=$P(^(0),D,7) I '$L(DATIN)&'$L(DATUIT) G ICZ S:$L(DATIN) DATIN=$$DC^cAFD1(DATIN) S:$L(DATUIT) DATUIT=$$DC^cAFD1(DATUIT) S DATUM=$$DC^cAFD1(DATUM) I $L(DATIN),DATIN>DATUM S R=0 G ICZ I $L(DATUIT),DATUM'