cTN1202 ; Verkoop : Dagboek : Executes na openen, wijzigen,... ; cTN101 ; YZ Q ; KLFACT(KL,DAT) ; Datum laatste factuur invullen bij klant ; Input: KL: Klant ; DAT: Documentdatum N B149 S $ZT="TRAP^cAN000" ; ; Check parameters KLFACT1 I '$L($G(KL)) G KLFACTZ I '$L($G(DAT)) G KLFACTZ ; ; Datum laatste factuur invullen KLFACT2 S B149=$$SIG^cAFA1("KL.A",KL,149) N Q S (Q,Q(49))=B149 D W^cAN220("KL.A","",KL,315,DAT) I $L(K) X "STOP" ; KLFACTZ Q ; ; --- Execute na OPENEN --- XO() N RZR,EREG,DBUI1,GRIDID,BREK,FC,S1,DBUI1,EREG,i,N0,BVN,BMNT,T,TAB,NUI1 N j,I3,REG,OMZ,OK S $ZT="TRAP^cAN000" ; ; Onthouden last reference XO1 D S1^cAFA1 S DBUI1=UI1 ; UI1 van dagboek ; ; --- Maatstaven BTW --- S T=0 XO11 I '$L($P(B(2),D,71+T)) G XO19 S TAB(1)=DBUI1_D_$P(B(2),D,71+T)_D_$P(B(2),D,72+T)_D_$P(B(3),D,72+T) D P^cAN220("DB.BTW","",$TR($P(TAB(1),D,1,2),D," "),"TAB","") I $L(K) X "STOP" S $P(B(2),D,71+T)="",$P(B(2),D,72+T)="",$P(B(3),D,72+T)="" XO19 S T=T+2 G XO11:T<20 ; ; --- Extra registraties --- ; ; Extra registraties samenstellen XO2 S BREK=$$SIGN^cAFA1("Q",$$Q^cAFA10(),3),OK=2 ; Basisrekeningen S FC=$P(B(1),D,23),S1=1 I FC="C" S S1=-1 ; Factuur/Credit nota? ; ; Extra registraties ; Opbouw: gescheiden door "\" ; 1. Grootboekrekening ; 2. Bedrag in munt BH ; 3. Bedrag in munt document ; ; Klanten S EREG(0)=$P(BREK,D)_D_$P(B(1),D,16)_D_$P(B(1),D,19) ; Aftrekbare / verschuldigde BTW S EREG(1)=$P(BREK,D,3+(FC="C"))_D_($P(B(2),D,10)*-1)_D_($P(B(3),D,10)*-1) ; ; Mtemp99 met extra registraties opzetten XO3 S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID) F i=0:1:7 S ^mtemp99(GRIDID,"BH.DB",0,i)=$G(B(i+1)) ; Hoofding XO30 S i="" XO31 S i=$O(EREG(i)) I '$L(i) G XO4 K N0 S BVN=$P(EREG(i),D,2),BMNT=$P(EREG(i),D,3) I ('BVN),('BMNT) G XO31 ; Geen bedrag -> geen boeking S $P(N0,D,7)=$S(i=0:"K",1:"G") ; Soort grootboekrekening S $P(N0,D,8)=$P(EREG(i),D) ; Grootboekrekening I '$L($P(N0,D,8)) X "STOP" ; Stoppen indien geen rekening ! F j=9:1:12 S $P(N0,D,j)=$$SIG^cAFA1("AR.A",$P(EREG(i),D),157+((j-9)*3)) ; Vaste analytische + EC-rekeningen S $P(N0,D,13)=$S(i=0:$P(B(1),D,9),1:"") ; Klant S $P(N0,D,15+(BVN<0))=BVN*$S(BVN<0:-1,1:1) ; Bedrag in munt BH S $P(N0,D,17+(BVN<0))=BMNT*$S(BMNT<0:-1,1:1) ; Bedrag in munt document S $P(N0,D,28)=$P(B(1),D,28) ; Datum laatste wijziging S $P(N0,D,29)=$P(B(1),D,29) ; Initialen laatste wijziging S $P(N0,D,30)=0 ; Operationeel S $P(N0,D,31)=$T(+0) ; Naam programma S $P(N0,D,32)=0 ; Niet tonen in registraties S ^mtemp99(GRIDID,"BH.REG",i,0)=N0 XO39 G XO31 ; ; Extra registraties verwerken XO4 S I3="" D REG^cTN1010(GRIDID,DBUI1,3_D_D_D_1) XO43 S I3=$O(^mtemp99(GRIDID,"BH.REG",I3)) G:'$L(I3) XO49 S REG(1)=^(I3,0) I $P(REG(1),D,30)=2 G XO43 ; Verwijderd D P^cAN220("REG","",$$UI1REG^cTN101($P(REG(1),D)),"REG","") I $L(K) X "STOP" ; Stoppen indien boeking niet gelukt XO48 G XO43 XO49 K ^mtemp99(GRIDID) ; Opkuis ; ; --- Divers --- ; ; Omzet Klant XO5 S OMZ=$P(B(2),D) ; Netto goederen D CUM^cTN102("KL",$P(B(1),D,9),$P(B(1),D,5),"O",OMZ,"") ; Omzet per maand D OMZ^cTN102("KL",$P(B(1),D,9),$P(B(1),D,5),OMZ) ; Omzet per jaar ; ; Opzetten laatste factuurdatum bij klanten (bij online gelijkhouden) XO6 I '$G(SWCONV) D KLFACT($P(B(1),D,9),$P(B(1),D,7)) ; ; Terugzetten last reference XOY D S2^cAFA1 ; XOZ Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09