cTN1201 ; Verkoop : Dagboek: specifieke controles en locks ; cTN101 ; T1 ;Geventileerd bedrag verschilt van netto bedrag document.; T2 ;AR.A#Basisrekening ;ARA.A#Analytische rekening ;EC1#EC1-rekening ;EC2#EC2-rekening ;EC3#EC3-rekening ; T3 ;Maatstaven (+ korting contant) niet gelijk aan netto.; ; T1F ;Geventileerd bedrag verschilt van netto bedrag document.; T2F ;AR.A#Basisrekening ;ARA.A#Analytische rekening ;EC1#EC1-rekening ;EC2#EC2-rekening ;EC3#EC3-rekening ; T3F ;Bases taxables (+ esc. compt.) differents du net.; ; T1E ;Geventileerd bedrag verschilt van netto bedrag document.; T2E ;AR.A#Basisrekening ;ARA.A#Analytische rekening ;EC1#EC1-rekening ;EC2#EC2-rekening ;EC3#EC3-rekening ; T3E ;VAT bases (+ in cash discount) not equal to net.; ; YZ Q ; CHK(GRIDID,PAR) ; Specifieke controles voor verkoopdocument ; Input: GRIDID: GridId ; ; PAR: Parameters, gescheiden door "\" ; 1. Switch bedragen ; "" of 0: bedragen doorgegeven in munt document ; 1: bedragen doorgegeven in munt BH ; Output: 1: Alles OK ; 0\Foutboodschap N RZR,OK,DB,N,NETG,NETD,NETI,NETA,AFBTW,NABTW,TBTW,TOT,V,BEDR S $ZT="TRAP^cAN000" ; ; Onthouden last reference CHK1 D S1^cAFA1 ; ; Controle parameters + variabelen opzetten CHK2 S OK=1 I '$L($G(GRIDID)) G CHKZ S DB=$O(^mtemp99(GRIDID,"BH.DB","")) I '$L(DB) G CHKY S DB(1)=$G(^mtemp99(GRIDID,"BH.DB",DB,0)) F N=1:1:6 S DB(N+1)=$G(^(N)) S PAR=$G(PAR) ; ; Check of totalen kloppen CHK3 S BN=3,BSW=0 I $P(PAR,D) S BN=2,BSW=3 ; Node met bedragen S NETG=$P(DB(BN),D),MST=$P(DB(BN),D,5),KK=$P(DB(1),D,20-BSW) S AFBTW=$P(DB(BN),D,10),TOT=$P(DB(1),D,19-BSW) S OK=$$CHKTOT^cTN1112(TOT,NETG,"","","",AFBTW,"","") I 'OK S OK=0_D_$P(OK,D,2) G CHKY ; KU : men kan toch een verschil creeëren door bij in inschrijven .[] te geven. ; I MST+KK-NETG'=0 S OK=0_D_$P($T(@("T3"_QT)),U,2)_" ("_+NETG_" <-> "_(MST+KK)_")" G CHKY ; ; Check of totaal van de ventilaties gelijk is aan totaal te ventileren CHK4 S (V,BEDR)="" S SWB=0 I $P(PAR,D) S SWB=-2 CHK40 S V=$O(^mtemp99(GRIDID,"BH.REG",V)) G:'$L(V) CHK45 S N=^(V,0) I $P(N,D,30)=2 G CHK40 ; Verwijderd S BEDR=BEDR+$P(N,D,18+SWB)-$P(N,D,17+SWB) CHK43 G CHK40 CHK45 I +BEDR'=$$VENT^cTN1112(NETG,"","","","") S OK=0_D_$P($T(@("T1"_QT)),U,2)_" ("_+BEDR_" <-> "_$$VENT^cTN1112(NETG,"","","","")_")" G CHKY ; ; Terugzetten last reference CHKY D S2^cAFA1 ; CHKZ Q OK ; DB(GRIDID,PAR) ; Aanpassen hoofding specifieke velden voor verkoop ; Input: GRIDID: GridId ; PAR: Parameters, gescheiden door "\" ; 1. Switch omrekenen ; "" of 0: munt BH opzetten aan de hand van munt document ; 1: munt document opzetten aan de hand van munt BH N RZR,DB,NETG,MST,AFBTW,MPAR,TOTBH,PC,i,TOTBH2 N VERS,MAX,MAXi,TMST,MNTI,MNTO,BN,ON S $ZT="TRAP^cAN000" ; ; Onthouden last reference DB1 D S1^cAFA1 ; ; Controle parameters + variabelen opzetten DB2 I '$L($G(GRIDID)) G DBY S GDB="^mtemp99(GRIDID,""BH.DB"")" S DB=$O(@GDB@("")) I '$L(DB) G DBY S DB(1)=$G(^(DB,0)),DB(2)=$G(^(1)),DB(3)=$G(^(2)) S BN=3,ON=2 I $P($G(PAR),D) S BN=2,ON=3 ; Basis- en omrekennode bepalen ; ; Munt BH opzetten aan de hand van munt document DB3 S NETG=$P(DB(BN),D),MST=$P(DB(BN),D,5) S AFBTW=$P(DB(BN),D,10),MPAR=$P(DB(1),D,15),MNTI=$P(DB(1),D,14),MNTO="" I BN=2 S MNTO=MNTI,MNTI="" ; Maatstaven in munt document ; Alles omrekenen naar munt BH DB32 ; S TOTBH=$$OMREK^cTN001(.Q,NETG+AFBTW,MNTI,MNTO,"",$S(MNTI="":"",1:MPAR),$S(MNTO="":"",1:MPAR)) S TOTBH=$P(DB(1),D,16+(BN=2*3)) F PC=1:1 S i=$P("NETG\AFBTW\MST",D,PC) Q:i="" S @i=$$OMREK^cTN001(.Q,@i,MNTI,MNTO,"",$S(MNTI="":"",1:MPAR),$S(MNTO="":"",1:MPAR)) ; Wegwerken omrekenverschil DB33 S AFBTW=TOTBH-NETG DB34 ; bijwerken maatstafen. S TMST=MST,MAX="",MAXi="" DB35 F i=71:2:89 D . I '$L($P(DB(BN),D,i)) Q . S R=$$OMREK^cTN001(.Q,$P(DB(BN),D,i+1),MNTI,MNTO,"",$S(MNTI="":"",1:MPAR),$S(MNTO="":"",1:MPAR)) . S TMST=TMST-R . I R>MAX S MAX=R,MAXi=i . S $P(DB(ON),D,i+1)=R I TMST S $P(DB(ON),D,MAXi)=$P(DB(ON),D,MAXi)+TMST ; Totalen in munt BH opzetten DB37 S $P(DB(ON),D)=NETG,$P(DB(ON),D,5)=MST S $P(DB(ON),D,10)=AFBTW S @GDB@(DB,ON-1)=DB(ON) ; ; Terugzetten last reference DBY D S2^cAFA1 ; DBZ Q ; LOCK(GRIDID,LOCK) ; Input: GRIDID: GridId ; LOCK: Tabel met gelockte ID's, als referentie doorgeven (.LOCK) ; Inhoud tabel, gescheiden door "\" ; 1. DMS ; 2. Gelockt ID S $ZT="TRAP^cAN000" N @$$INITVAR^cAFVBA01("GRIDID,LOCK") ; ; Onthouden last reference LOCK1 D S1^cAFA1 ; ; Controle parameters + variabelen opzetten LOCK2 S OK=1 I '$L($G(GRIDID)) G LOCKZ S DB=$O(^mtemp99(GRIDID,"BH.DB","")) I '$L(DB) G LOCKY S DB(1)=$G(^mtemp99(GRIDID,"BH.DB",DB,0)) F N=1:1:6 S DB(N+1)=$G(^(N)) S FC=$P(DB(1),D,23) ; ; Alle rekeningen proberen te locken LOCK3 S BREK=$$SIGN^cAFA1("Q",$$Q^cAFA10(),3) ; Basisrekeningen S BREK(1)=$P(BREK,D) ; Klantenrekening S BREK(2)=$P(BREK,D,3+(FC="C")) ; BTWrekening ; ; Basisrekeningen LOCK31 S i="" LOCK32 S i=$O(BREK(i)) I '$L(i) G LOCKY S (UI1,BREK)=BREK(i),j=2 LOCK34 I '$L(UI1) G:j>2 LOCK35 G LOCK32 S DMS=$P($P($T(@("T2"_QT)),U,j),"#") S TXT=$P($P($T(@("T2"_QT)),U,j),"#",2)_$$SIG^cAFA1(DMS,UI1,101) S OK=$$LOCK^cAFVBA01(.Q,DMS,UI1,1,TXT) I 'OK G LOCK9 S L=($O(LOCK("zzz"),-1)+1) S LOCK(L)=DMS_D_UI1 ; Controle of rekening niet verwijderd is S OK=$$CTRLREK^cTN003("",UI1,DMS,TXT) I 'OK G LOCK9 ; Vaste analytische + EC-rekeningen LOCK35 S j=j+1 I j>6 G LOCK32 S UI1=$$SIG^cAFA1("AR.A",BREK,157+((j-3)*3)) G LOCK34 ; ; Alle gelockte ID's unlocken LOCK9 D UNLOCK^cTN1012(.LOCK) ; ; Terugzetten last reference LOCKY D S2^cAFA1 ; LOCKZ Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09