cAFVBO01 ; Algemene functies VB -output ;cAFVBO01 ; T1 ;excl.;incl.; T2 ;niet aanrekenen;aanrekenen;(egalisatie); T3 ;Rekening; ; T1F ;HTVA;TVAC; T2F ;ne pas calculer;calculer;(égalisation); T3F ;Compte; ; T1E ;excl.;incl.; T2E ;no charge;charge;(eglisation); T3E ;Account; ; YZ Q ; BANK(Q,R) ;R = banknummer N (Q,R) S D="\",U="\" S:'$L($G(Q)) Q="EA" S R=$P($$DI^cAN000(R,"")," ") BANKZ Q $$BANK^cAFO1(R) ; BET(R,QT) ; betalingstermijn N (R,QT) S D="\",U=";" D QT Q $$BET^cAFO1(R) ; BF(Q) ; ophalen munt firma N (Q) S D="\",U="\" S:'$L($G(Q)) Q="EA" BFZ Q $$BF^cAFA1() ; BG(R,QT) ; buiten gebruik Neen/ja D QT S R=$$JN(''$G(R),$G(QT)) BGZ Q R ; BTW(Q,R) ; K = BTW-nr N (Q,R) S D="\",U="\" S:'$L($G(Q)) Q="EA" S R=$P($$DI^cAN000(R,"")," ") BTWZ Q $$BTW^cAFO1(R) ; BTWA(R,QT) ; aanrekenen BTW N (R,QT) S D="\",U=";" D QT BTWAZ Q $P($T(@("T2"_QT)),U,2+R) ; COMP(QQ,GADR) ; Firma-naam ophalen aan de hand van Q-waarde ; INPUT: QQ: Firma ; GADR: Adresgegevens terugkrijgen ; OUTPUT: Firmanaam S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("QQ,GADR") N Q S Q=QQ ; I '$L($G(Q)) S COMP="" G COMPZ COMPA S COMP=$$SIG^cAFA1("Q",Q,102) I $G(GADR) S COMP=COMP_D_$P($G(^(2)),D,2)_D_$P($G(^(2)),D,3) COMPZ Q COMP ; DATA(REF,Q,USC,UI1,BIN) ; ophalen gegevens uit ^DATA(Q,USC,UI1, ... ; Input : REF = bestand (vb ^DATA), Q, USC= subscript 2, UI1, BIN = B-index ; indien USC niet ingevuld duidt dit op een bestandstype zoals ; ^EAKL ... ; Output : inhoud veld met B-index BIN N (REF,Q,USC,UI1,BIN) S $ZT="^dmERROR" S D="\",U=";",TYPE=0 ; ^DATA .... I '$L($G(USC)) S TYPE=1 S:"\PR\AR\ARA\PRV\"[(D_REF_D) TYPE=2 ; ^EAKL,... of ^EAPR,^EAR I '$L($G(REF)) S REF="DATA" I $E(REF)="^" S REF=$E(REF,2,$L(REF)) I TYPE S REF=Q_REF S:$E(REF)'="^" REF="^"_REF I TYPE=1 S REF1=$E(REF,1,$L(REF)-1)_1 S R="" I '$L($G(UI1))!'$L($G(BIN)) G DATAZ I TYPE=1 G:'$D(@REF1@(UI1)) DATAZ S UI1=^(UI1) S X=BIN\100-1,Y=BIN#100 I 'TYPE S R=$P($G(@REF@(Q,USC,UI1,X)),D,Y) G DATAZ I TYPE S R=$P($G(@REF@(UI1,X)),D,Y) DATAZ Q R ; DATABA(Q,S1,S2,UI1,BIN) ; ophalen gegevens uit ^Q_BA(S1,S2,UI1 ; Input : Q, S1 = subscript1, S2= subscript 2, UI1, BIN = B-index ; Output : inhoud veld met B-index BIN N (Q,S1,S2,UI1,BIN) S $ZT="^dmERROR" S REF="^"_Q_"BA" S:$L($G(S1)) REF=REF_"(S1" S:$L($G(S2)) REF=REF_",S2" S:"^"_Q_"BA"'=REF REF=REF_")" S D="\",U=";",R="" I '$L($G(UI1))!'$L($G(BIN)) G DATABAZ S Y=BIN#100 S R=$P($G(@REF@(UI1)),D,Y) DATABAZ Q R ; JN(R,QT) ; 0 of ""= neen, 1 = ja n (R,QT) S U=";",D="\" D QT S R=$$JN^cAFO1(R) S R=$$UC^cAFA1($E(R))_$E(R,2,$L(R)) JNZ Q R ; HDKL() ; header klantenscherm ; opgelet : er moet een instance zijn van de klant !! N OUT S OUT="\\Klant\ ;"_..Nummer_" "_ ..Naam_" "_..Adres_" "_..Postcode_" "_..Woonplaats_"; \" HDKLZ Q OUT ; HDPR() ; header prospectenscherm ; opgelet : er moet een instance zijn van de prospect !! N OUT S OUT="\20\\Prospect;"_..Naam_" "_ ..Nummer_"; \\\\ ;"_..Adres_"; \Tel;"_..Telefoon_"; \" ;I ..Telefoon2'="" S OUT=OUT_"Tel;"_..Telefoon2_"; " S OUT=OUT_"Tel;"_..Telefoon2_"; " S OUT=OUT_"\\ ;"_..PostCode_" "_..Woonplaats_"; \Fax;"_..Fax_"; \E-mail;"_..Email_"; " HDPRZ Q OUT ; HDLE() ; header leveranciersscherm ; opgelet : er moet een instance zijn van de leverancier !! N OUT S OUT="\\Leveracier\ ;"_..Nummer_" "_ ..Naam_" "_..Adres_" "_..Postcode_" "_..Woonplaats_"; \" ; "\20\\Leverancier;" _ ..Naam _ " " _ ..Nummer _ "\\\\ ;" _ ..Adres _ " " _ ..Postcode _ " " _ ..Stad _ "; ;" HDLEZ Q OUT ; HDCP() ; header contactpersoonenscherm ; opgelet : er moet een instance zijn van de contactpersoon !! N OUT S OUT="\\Contactpersoon\ ;"_..Nummer_" "_ ..Naam_" "_..Voornaam_" "_..Adres_" "_..Postcode_" "_..Woonplaats_"; \" HDCPZ Q OUT ; KORT(Q,R,SRT,QT) ; ophalen omschrijving condities volgens/gebaseerd op ; R = nr : bv 1, 2, ... ; SRT = 0 = condities volgens, 1 = gebaseerd op N (Q,R,SRT,QT) S $ZT="^dmERROR" S SRT=$G(SRT)+1*10 S R=$G(R),D="\" D QT S K=$G(^DPAR(Q,"SETUP","KORT",R+SRT)) S R=$P(K,D,QTU*10-8) I '$L(R) S R=$P(K,D,2) KORTZ Q R ; LOGDATA(Q,DMS,UI1,METH) ; METH = 1 : wordt opgeroepen vanuit methode S $ZT="^dmERROR" ; I '$L($G(DMS)) G LOGDATAZ I '$L($G(UI1)) G LOGDATAZ ; LOGDATAA N @$$INITVAR^cAFVBA01("DMS,UI1,METH") ; S LOGPAR=$$GETPAR^cAFVBA01(Q,DMS,UI1,"") I '$L(LOGPAR) G LOGDATAZ S DLOG=$P(LOGPAR,D,20),UI1=$P(LOGPAR,D,23) I '$L(DLOG) G LOGDATAZ I '$L(UI1) G LOGDATAZ ; LOGDATAB S I="" S I=$O(@DLOG@(UI1,I)) I '$L(I) G LOGDATAZ S N=^(I) I $P(N,D)'="O" G LOGDATAC S $P(LOG,D)=$$DH^cAFD1($P(N,D,5)) ; Datum creatie ($H) S $P(LOG,D,2)=$S('$G(METH):$P(N,D,7),1:$$UI1^cAFA1("USR",101,$P(N,D,7))) ; UI1 Initialen creatie ; LOGDATAC S I="@@@zzz" S I=$O(@DLOG@(UI1,I),-1) I '$L(I) G LOGDATAZ S N=^(I) ; I $P(N,D)="O" G LOGDATAZ S $P(LOG,D,3)=$$DH^cAFD1($P(N,D,5)) ; Datum laatste wijziging ($H) S $P(LOG,D,4)=$S('$G(METH):$P(N,D,7),1:$$UI1^cAFA1("USR",101,$P(N,D,7))) ; UI1 Initialen laatste wijziging ; LOGDATAZ Q $G(LOG) ; OGM(R) ; gestructureerde mededeling I $L(R)=12 S R=$E(R,1,3)_"/"_$E(R,4,7)_"/"_$E(R,8,12) OGMZ Q R ; OMREK(Q,BE,MI,MO,SP,AD) ; omrekenen via driehoeksmethode ; input: 1. Q : Q-waarde ; 2. BE: bedrag uit cumulnode/dagboek ; 3. MI: muntcode input ; 4. MO: muntcode output ; 5. SP: soort par. (A=aankoop/V=verkoop/F=fin.) ; 6. AD: aantal dec. (""=decimalen muntcode output) ; output: omgerekend bedrag, afgerond op AD N (Q,BE,MI,MO,SP,AD) S QD=+$G(@("^"_Q_"BA(34)")),D="\",U=";" S:'$L($G(SP)) SP="V" S:'$L($G(MO)) MO="EUR" OMREKZ Q $$OMREK^cAFE1(Q,$G(BE),$G(MI),$G(MO),$G(SP),$G(AD)) ; OPENBEDR(Q,USC,UI1,SRT) ; berekenen openstaande bedragen klant+lev. scherm ; Q = Q-waarde ; USC = USC : bv KL.A ; UI1 = key (intern nummer uit DKL) ; SRT = soort bedrag : zie hieronder ; N (REF,Q,USC,UI1,SRT) N @$$INITVAR^cAFVBA01("USC,UI1,SRT") S $ZT="^dmERROR" S D="\",U=";",QD=+$G(@("^"_Q_"BA(34)")),R="" I '$L($G(Q)) G OPENBEDRZ I '$L($G(USC)) G OPENBEDRZ I '$L($G(UI1)) G OPENBEDRZ S Q=$$SIG^cAFA1(USC,UI1,149) ; ophalen juiste Q-waarde S J1=$P($G(^(0)),D,50) ; ophalen oude UI1 I '$L($G(Q)) G OPENBEDRZ S R1=$P(USC,".") I SRT=1 D S1^cAT26 G OPENBEDRY ; aantal openstaande facturen (KL+LE) I SRT=2 D ^cAT26 G OPENBEDRY ; bedrag openstaande facturen (KL+LE) I SRT=3 D 2^cAT26 G OPENBEDRY ; bedrag vervallen facturen (KL+LE) I "\4\5\"[(D_SRT_D) S SWINCL=$$OPENBEDRIE(Q,0,$G(QT),USC) I SRT=4 D @("S"_(SWINCL+1)_"^cAT270") G OPENBEDRY ; bedrag openstaande lev. (incl/excl) (KL) I SRT=5 D @("S"_(SWINCL+3)_"^cAT270") G OPENBEDRY ; bedrag openstaande orders (incl/excl) (KL) I SRT=6 D S9^cAT270 G OPENBEDRY ; bedrag openstaande gecontroleerde leveringen (LE) I SRT=7 D S8^cAT270 G OPENBEDRY ; bedrag openstaande leveringen excl. (LE) I SRT=8 D S7^cAT270 G OPENBEDRY ; bedrag openstaande bestellingen excl. (LE) I SRT=9 D @("S"_$S($P(USC,".")="KL":6,1:13)_"^cAT270") S RU3=U3,R1=$P(USC,".") D ^cAT26 S RU3=RU3+U3,U3=RU3 G OPENBEDRY ; totaal openstaand (KL+LE) I SRT=10 S RSWVV=1 D S1^cAT26 G OPENBEDRY ; aantal vervallen facturen (KL+LE) OPENBEDRY S R=U3 OPENBEDRZ Q R ; OPENBEDRIE(Q,TYPE,QT,DMS) ; openstaande bedragen bij klant incl. of excl. ; TYPE = 1 : string Incl. of Excl. ; anders 1 of 0 N R,U,D S $ZT="^dmERROR" S U=";",D="\" D QT I $G(DMS)="LE.A" S R=0 G OPENBEDRIEY I '$L($G(Q)) G OPENBEDRIEZ S R=''$P($G(^DPAR(Q,"SETUP","TB",0)),D) OPENBEDRIEY I $G(TYPE) S R=$P($T(@("T1"_QT)),U,2+R) OPENBEDRIEZ Q R ; QT ; bepalen QT I '$D(QT) S QT="E" S:QT="N" QT="" S QTU=$S($L(QT):$F("FDE",QT),1:1) QTZ Q ; TAAL(R,QT) ; ophalen omschrijving taal n (R,QT) S U=";" D QT I '$L($G(R)) S R="N" TAALZ Q $$TAAL^cAFO2(R) ; ; HDAR(TYPE,SW,CODE,OMS) ; Hoofding voor Grootboek- en analytische rekeningen ; Input: TYPE: ; 0 of "" = AR ; 1 = ARA ; SW: Switch ; "" of 0: Via object ; 1: Via parameters ; CODE: Code ; OMS: Omschrijving ; S $ZT="^dmERROR" D QT^cAFVBO01 S D="\",U=";" N i,HD F i="TYPE","SW","CODE","OMS" S @i=$G(@i) ; I 'SW S CODE=..B101,OMS=$S(QT="":..B205,QT="F":..B207,QT="D":..B209,QT="E":..B211) F i="CODE","OMS" S @i=$TR(@i,";",",") ; ";" uitfilteren S HD="\\"_$P($T(@("T3"_QT)),";",2+TYPE)_"\ ;"_CODE_" "_OMS G HDARZ ; HDARZ Q HD ; ZZ ; 29.08.07 - 10 u 22 * V8.09