cTN1213 ; Verkoop : Inschrijven verkoopdocumenten: registraties; cTN1213; ; T1 ;De kolom Analytische rekening moet ingevuld zijn.; T2 ;Grootboekrekening;Analytische rekening; ; T1F ;La valeur de la colonne Compte analytique doit être remplie. T2F ;Compte de grand-livre;Compte analytique: T1E ;The column Analytical Account has to be filled in.; T2E ;General Account;Analytical Account; ; YZ Q ; BTEMP(GRIDID,UI1VE,EXTRA) ; Opbouwen mtemp99 voor verkoop-registraties ; Input: GRIDID: Gridid van mtemp99 met registraties (indien "": nieuw gridid ophalen) ; UI1VE: UI1 van verkoopdagboek ; EXTRA: "" of 0: Extra registraties worden NIET getoond ; 1: Extra registraties worden wel getoond (enkel voor test-doeleinden) ; Output: GRIDID ; of ; 0\Foutboodschap S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,UI1VE,EXTRA") ; BTEMP1 F i="GRIDID","UI1VE" S @i=$G(@i) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"REG") S OK=GRIDID I '$L(UI1VE) G BTEMPZ ; BTEMP2 S REF=$$REF^cAFA10(.Q,"REG"),IREF=$P(REF,D,3),UREF=$P(REF,D) I '$L(REF) G BTEMPZ ; BTEMP3 S UI1VE=$P($$DI^cAN000(UI1VE,"")," ") S I1="" F S I1=$O(@IREF@("M1",$$Q^cAFA10(),"V",UI1VE,I1)) Q:'$L(I1) D . S UI1=$P(^(I1),D),REG=@UREF@(0) I '$P(REG,D,32),('$G(EXTRA)) Q . S BEDR=$P(REG,D,17) I 'BEDR S BEDR=-$P(REG,D,18) . S BEDRVN=$P(REG,D,15) I 'BEDRVN S BEDRVN=-$P(REG,D,16) . S ^mtemp99(GRIDID,"REG",UI1,0)=REG,$P(^(2),D)=+BEDR_D_+BEDRVN ; BTEMPZ Q OK ; CHKREG(AR,ARA,BEDR) ; Checks bij opslaan registratie in mtemp99 ; Input: AR: Grootboekrekening ; ARA: Analytische rekening ; BEDR: Bedrag in munt document ; Output: 1: Alles OK ; 0\Foutbooschap\Parameter waar fout op slaat ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("AR,ARA,BEDR") ; ; Check grootboekrekening CHKREG1 F i="AR","ARA","BEDR" S @i=$G(@i) S OK=$$CHKAR^cTN003(AR) I 'OK S OK=OK_D_2 G CHKREGZ ; ; Check analytische rekening CHKREG2 S OK=$$CHKARA^cTN003(ARA,AR) I 'OK S OK=OK_D_4 G CHKREGZ ; CHKREGZ Q OK ; DEFREG(GRIDID,LE,VENT) ; Nieuwe registratie opzetten ; Input: GRIDID: GridId van de registraties ; LE: Leverancier ; VENT: Ventilatiebedrag ; Output: gescheiden door "\" ; 1: UI1 van volgende registratielijn ; 2: Default saldo ; 3: "": enkel saldo gedefaulted ; 1: volledige lijn gedefault, lijn moet opnieuw opgeladen worden N @$$INITVAR^cAFVBA01("GRIDID,LE,VENT") S $ZT="^dmERROR" ; ; Check parameters DEFREG1 S UI1=$$REGUI1(GRIDID),D="\",DEFLN="",SALDO="" I '$G(VENT) G DEFREGZ ; Geen bedrag te ventileren S SALDO=$$SALDO(GRIDID,VENT) I '$L($G(LE)) G DEFREGZ ; Geen leverancier doorgegeven I $D(^mtemp99(GRIDID,"REG")) G DEFREGZ ; Er is al minstens één registratie ; ; Defaults ophalen DEFREG2 S AR=$$SIG^cAFA1("LE.A",LE,221) I '$L(AR) G DEFREGZ ; Grootboekrekening S ARA=$$SIG^cAFA1("AR.A",AR,157) ; Analytische rekening ; ; Default-registratielijn opzetten DEFREG3 S $P(NODE0,D,8)=$G(AR) ; Grootboekrekening S $P(NODE0,D,9)=$G(ARA) ; Analytische rekening S $P(NODE2,D)=SALDO ; Bedrag S ^mtemp99(GRIDID,"REG",UI1,0)=NODE0,^(2)=NODE2,DEFLN=1 ; DEFREGZ Q UI1_D_SALDO_D_DEFLN ; DELREG(REGIDS) ; Verwijderen van geselecteerde registraties N UI1,REGID,GRIDID S $ZT="^dmERROR" ; DELREG1 F I=1:1:$L(REGIDS,D) D . S REGID=$P(REGIDS,D,I) I '$L(REGID) Q . S GRIDID=$P(REGID,"||") . S UI1=$P(REGID,"||",2) I '$L(UI1) Q . I '$D(^mtemp99(GRIDID,"REG",UI1,0)) Q . S $P(^mtemp99(GRIDID,"REG",UI1,0),D,30)=2 ; DELREGZ Q ; FWAR() ; Fixed where-statement voor grootboekrekening S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("") ; ; Mag geen tekst,financieel of wisselrekening zijn S BREK=$$SIGN^cAFA1("Q",$$Q^cAFA10(),3) S R="%ALPHAUP(T1.B113) NOT IN (1,6,7)" ; Er mag niet rechtstreeks geboekt worden op klanten of leveranciersrekening S BUI1S="" I $L($P(BREK,D)) S BUI1S=$P(BREK,D) I $L($P(BREK,D,2)) S BUI1S=$S($L(BUI1S):BUI1S_","_$P(BREK,D,2),1:$P(BREK,D,2)) I $L(BUI1S) S R=R_" AND T1.ID NOT IN ("_BUI1S_")" S R="("_R_")" ; FWARZ Q R ; FWARA() ; Fixed where-statement voor analytische rekening N R S $ZT="^dmERROR" ; ; Mag geen tekstrekening zijn S R="%ALPHAUP(T1.B113) <> %ALPHAUP(1)" ; FWARAZ Q R ; REGUI1(GRIDID) ; Bepaalt volgend registratie ID (in mtemp99) ; Input: GRIDID: GridId van de registraties ; Output: UI1 van volgende registratie N UI1 S $ZT="^dmERROR" ; ; Check parameters REGUI1A S UI1="" I '$L($G(GRIDID)) G REGUI1Z ; ; UI1 bepalen REGUI1B S UI1=$O(^mtemp99(GRIDID,"REG","z"),-1) S UI1=$S($G(UI1):UI1+1,1:1000) ; REGUI1Z Q UI1 ; SALDO(GRIDID,VENT) ; Bepaalt saldo dat nog te ventileren moet worden ; Input: GRIDID: GridId van de registraties ; VENT: Ventilatie bedrag N SALDO,UI1,N0,N2 S $ZT="^dmERROR" ; ; Check parameters SALDO1 S SALDO=0,D="\" I '$L($G(GRIDID)) G SALDOZ ; ; Saldo bepalen SALDO2 S UI1="" F S UI1=$O(^mtemp99(GRIDID,"REG",UI1)) Q:'$L(UI1) D . S N0=$G(^(UI1,0)),N2=$G(^(2)) I $P(N0,D,30)=2 Q . S SALDO=SALDO+$P(N2,D) S SALDO=$G(VENT)-SALDO ; SALDOZ Q SALDO ; SREG(REGID,MNT,MPAR,SW) ; Opslaan van registratielijn ; Input: REGID: Lijn id (= GRIDID || UI1) ; MNT: Document munt ; MPAR: Pariteit (1 EUR=) ; SW: 0 of "": opgeroepen via lijnregistratie in dotNET ; 1: opgeroepen via Caché N OK,i,GRIDID S $ZT="^dmERROR" ; SREG1 D QT^cAFVBO01 S D="\",U=";",OK=1,SW=$G(SW) I '$L($G(REGID)) G SREGZ S GRIDID=$P(REGID,"||"),REGID=$P(REGID,"||",2) ; SREG2 S $P(^mtemp99(GRIDID,"REG",REGID,0),D,7)="G" ; Type = grootboekrekening I 'SW S $P(^(0),D,8)=..B108GetObjectId() ; Grootboekrekening I 'SW S $P(^(0),D,9)=..B109GetObjectId() ; Analytische rekening S $P(^(0),D,32)="1" ; Registratie moet getoond worden S $P(^(0),D,49)=$$Q^cAFA10() ; Firma ; ; Bedragen I 'SW S $P(^(2),D)=..B301 ; Bedrag munt document S BEDR=$P(^(2),D) S $P(^(2),D,2)=$$OMREK^cTN1112(BEDR,$G(MNT),$G(MPAR)) ; Bedrag munt BH S $P(^(0),D,17)=$S(BEDR'<0:BEDR,1:0) ; Debet munt document S $P(^(0),D,18)=$S(BEDR<0:-BEDR,1:0) ; Credit munt document ; SREGZ Q OK ; VKOL() ; Bepaalt of er kolommen moeten worden verwijderd uit de grid ; Output: parameter van de kolommen die moeten verwijderd worden, ; gescheiden door "\" N R S $ZT="^dmERROR" ; S R="" ;"4\5" ; VKOLZ Q R ; ZZ ; 29.08.07 - 10 u 22 * V8.09