cTN104 ; Openstaande documenten ; cTN104 ; T1 ; ; T1F ; ; T1E ; ; YZ Q ; BTEMP(GRIDID,DMS,REFDAT,KEUID) ; Input: GRIDID: GridId van ^mtemp99, indien "" wordt er een nieuw nr bepaald ; DMS: KL.A of LE.A ; REFDAT: Referentiedatum ; KEUID: GridId van de ^mtemp99 met geselecteerde UI1's ; ; Output: 0\Foutboodschap ; of ; GRIDID S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,DMS,REFDAT,KEUID") D QT^cAFVBO01 ; ; Ophalen GridId BTEMP1 I '$L($G(GRIDID)) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"DB") S OK=GRIDID K oQ M oQ=Q ; ; Controle parameters BTEMP2 F i="DMS","REFDAT","KEUID" S @i=$G(@i) I '$L(DMS) G BTEMPZ S:'$L(REFDAT) REFDAT=DT I REFDAT'?2N1"."2N1"."2N S REFDAT=$$HD^cAFD1(REFDAT) ; ; Variabelen opzetten BTEMP3 D Q49^cAFA10(Q,"DB") ; Q(49) bepalen via dagboeken S REF=$$REF^cAFA10(.Q,"DB") I '$L(REF) G BTEMPZ S UREF=$P(REF,D),IREF=$P(REF,D,3) I '$L(UREF)!'$L(IREF) G BTEMPZ S I3=$S(DMS="KL.A":"M2",DMS="LE.A":"M3",1:"") I '$L(I3) G BTEMPZ S I4=$$Q^cAFA10() I '$L(I4) G BTEMPZ I $L(KEUID),($$SELC^cAFVBA01(KEUID,1)<0) S KEUID="" ; Alle ; ; ############################################ ; Layout multiple: ; ; Global ^INDBH ; ; I1 = "EA" ; I2 = "DB" ; I3 = Multiple (Mx) ; I4 = Q49 ; I5 = UI1 van DMS (KL.A of LE.A) ; I6 = Openstaand ("1") ; I7 = Extern documentnummer ; I8 = Intern documentnummer ; ; ############################################ ; ; Multiple aflopen BTEMP4 S I5="" BTEMP41 I $L(KEUID) S I5=$O(^mtemp99(KEUID,"COMMON",I5)) G:I5="" BTEMP5 S I7="" G BTEMP42 S I5=$O(@IREF@(I3,I4,I5)) G:'$L($TR(I5," ","")) BTEMP5 S I7="" BTEMP42 S I7=$O(@IREF@(I3,I4,I5,"1",I7)) G:'$L(I7) BTEMP41 S I8="" BTEMP43 S I8=$O(@IREF@(I3,I4,I5,"1",I7,I8)) G:'$L(I8) BTEMP42 S UI1=$P(^(I8),D) K N M N=@UREF ; ; Berekende velden opzetten BTEMP45 I '$L($P(N(0),D,8)) G BTEMP47 S R=$P(N(0),D,8)_D_REFDAT D ^cA326 I R'>0 S $P(N(20),D)=$P(N(0),D,18) ; Bedrag vervallen S $P(N(20),D,2)=-R ; Aantal dagen vervallen ; ; Numerieke gegevens BTEMP47 D NUM(.N) ; ; Mtemp99 opzetten BTEMP48 M ^mtemp99(GRIDID,"DB",UI1)=N ; BTEMP49 G BTEMP42 ; ; Terugrekenen in de tijd ; ; ############################################ ; Layout multiple: ; ; Global ^INDBH ; ; I1 = "EA" ; I2 = "REG" ; I3 = Multiple (M8 of M9) ; I4 = Q49 ; I5 = UI1 van DMS (KL.A of LE.A) ; I6 = Boekingsmaand ; I7 = Documentdatum ; I8 = Volgnummer ; I9 = Intern documentnummer ; ; ############################################ ; BTEMP5 I REFDAT=DT G BTEMPZ BTEMP51 S REF=$$REF^cAFA10(.Q,"REG") I '$L(REF) G BTEMPZ S REGUREF=$P(REF,D),IREF=$P(REF,D,3) I '$L(REGUREF)!'$L(IREF) G BTEMPZ S I3=$S(DMS="KL.A":"M8",DMS="LE.A":"M9",1:"") I '$L(I3) G BTEMPZ S I4=$$Q^cAFA10(),I5="" I '$L(I4) G BTEMPZ S VI6=$E($$DC^cAFD1(DT),1,6),TI6=$E($$DC^cAFD1(REFDAT),1,6) BTEMP52 I $L(KEUID) S I5=$O(^mtemp99(KEUID,"COMMON",I5)) G:I5="" BTEMPZ S I6=VI6,I7="" G BTEMP54 S I5=$O(@IREF@(I3,I4,I5)) G:'$L($TR(I5," ","")) BTEMPZ S I6=VI6,I7="" G BTEMP54 BTEMP53 S I6=$O(@IREF@(I3,I4,I5,I6),-1) G:'$L(I6) BTEMP52 G:I6'>TI6 BTEMP52 S I7="" BTEMP54 S I7=$O(@IREF@(I3,I4,I5,I6,I7),-1) G:'$L(I7) BTEMP53 S I8="" BTEMP55 S I8=$O(@IREF@(I3,I4,I5,I6,I7,I8),-1) G:'$L(I8) BTEMP54 S I9="" BTEMP56 S I9=$O(@IREF@(I3,I4,I5,I6,I7,I8,I9),-1) G:'$L(I9) BTEMP55 S UI1=$P(^(I9),D) S REG=@REGUREF@(0) ; ; Type registratie BTEMP57 S MD=26 I ($P(UI1," ")="A")!($P(UI1," ")="V") S UI1=$P(REG,D,3),MD=17 G BTEMP58 ; Aankoop/Verkoop S UI1=$P(REG,D,22) I $L(UI1) G BTEMP58 ; Financieel/Divers: afgeboekt document S UI1=$P(REG,D,23) G BTEMP58 ; Financieel/Divers: opgezet voorschot ; ; Omgekeerde actie BTEMP58 I '$L(UI1) G BTEMP6 K N,M M N=@UREF,M=^mtemp99(GRIDID,"DB",UI1) ; ; Openstaand in firmamunt S SALDO=$P(REG,D,15)-$P(REG,D,16) S:DMS="KL.A" SALDO=-SALDO S $P(N(0),D,18)=($P($G(M(0)),D,18))+SALDO ; ; Openstaand in munt document S SALDO=$P(REG,D,MD)-$P(REG,D,MD+1) S:DMS="KL.A" SALDO=-SALDO S $P(N(0),D,21)=($P($G(M(0)),D,21))+SALDO ; ; Vervallen I '$L($P(N(0),D,8)) G BTEMP59 S R=$P(N(0),D,8)_D_REFDAT D ^cA326 I R'>0 S $P(N(20),D)=$P(N(0),D,18) ; Bedrag vervallen S $P(N(20),D,2)=-R ; Aantal dagen vervallen ; ; Opzetten mtemp99 BTEMP59 D NUM(.N) M ^mtemp99(GRIDID,"DB",UI1)=N I +$P(N(0),D,18)=0 K ^mtemp99(GRIDID,"DB",UI1) ; Document verwijderen indien openstaand bedrag = 0 ; BTEMP6 G BTEMP56 ; ; BTEMPZ K Q M Q=oQ Q OK ; ; ******************************************************************************* ; H U L P F U N C T I E S ; ******************************************************************************* ; ; Default referentiedatum DEFDT() Q +$H ; ; "" omvormen naar 0 NUM(N) S $P(N(0),D,20)=+$P($G(N(0)),D,20) ; Korting contant S $P(N(1),D,14)=+$P($G(N(1)),D,14) ; Aantal herinneringen S $P(N(20),D)=+$P($G(N(20)),D) ; Bedrag vervallen NUMZ Q ; ; Vormt doorgegeven referentiedatum om naar een geldige datum ; (dagdatum of laatste dag van de maand) REFDT(REFDAT,SWH) ; Input: REFDAT: Referentiedatum ; SWH: Switch Horolog ; 0: Output als $H ; 1: Output als DD.MM.JJ ; Output: Geldige referentiedatum S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("REFDAT,SWH") ; ; Controle parameters REFDT1 S DAT=$G(REFDAT) I '$L($G(REFDAT)) G REFDTZ I REFDAT'?2N1"."2N1"."2N S REFDAT=$$HD^cAFD1(REFDAT) ; ; Vandaag of in toekomst ? REFDT2 I REFDAT=DT G REFDTY I $$DC^cAFD1(REFDAT)>$$DC^cAFD1(DT) S DAT=DT G REFDTY ; ; Laatste dag van de maand ? REFDT3 S REFDAT=$$DC^cAFD1(REFDAT) S DAT=$E(REFDAT,1,6)_$$LDM^cAFD1($E(REFDAT,1,4),$E(REFDAT,5,6)) S DAT=$$DCO^cAFD1(DAT) ; ; Omvormen naar DD.MM.JJ ? REFDTY I $G(SWH),(DAT'?2N1"."2N1"."2N) S DAT=$$HD^cAFD1(DAT) I '$G(SWH),(DAT?2N1"."2N1"."2N) S DAT=$$DH^cAFD1(DAT) ; REFDTZ Q DAT ; ZZ ; 29.08.07 - 10 u 22 * V8.09