FLOWSELF ;Faktuur [ 08/23/2002 2:45 PM ] ; ; NoSelNr = de niet toegelaten nummers doorgegeven via .local ; DERDENr = DERDENr("K")=KLNr (voor een bepaalde klant) ; DERDENr("N")=1 (nummer vragen via ASK) ; MultSel = mogelijkheid om meerdere nummers te selekteren ; SELECT(NoSelNr,DERDENr,MultSel) New R,Document,Prompt,Komm1,Komm2,Limit,GoSask,Global,IGlobal Set Global="KFA",IGlobal="KFA1",MultSel=$G(MultSel) Set Document="Faktuur",Limit="100000\999999" If $D(DERDENr),'$G(DERDENr("N")) Goto SASK Set Prompt=Document_"nummer : " Set Komm2="page up (SEL) voor lijst, K=klant" If $G(Komm1)="" Set Komm1=Komm2,Komm2="" SASK Kill GoSask If '$D(DERDENr)!$G(DERDENr("N")) Do Goto SASK:$G(GoSask) .Set FP=1901 Write @F,@F1 .Set R=$$UPCASE^vhRtn1($$ASK^vhINP(Prompt,6,"",Komm1,Komm2)) .If 'zb,$L(R) Quit:'$G(DERDENr("N"))!'R Do Quit ..Set R=$$SHORTNUM(R) ..If R="" Set GoSask=1 Quit ..Set DERDENr=DERDENr("K") ..Set:'$D(^KFA("F",R)) GoSask=1 .If '$G(DERDENr("N")) Set R=$$LIST(,.NoSelNr,MultSel) .If $G(DERDENr("N")) Do DERDENR .Set:R="-" GoSask=1 Else Do .Set (KC,DERDENr)=DERDENr("K") .Set R=$$LIST(.DERDENr,.NoSelNr,MultSel) .Kill:R="-" KC,LC If R="K" Do Goto SASK:R="-" .Set R=$$SELECT^KLANT6("","",Document_" van klant : ") .Set:R="." R="-" .If R'="-" Set KC=R,R=$$LIST(R,.NoSelNr,MultSel) .If R="-" Kill KC Goto SQUIT:MultSel If R?.N,R'>99999 Set R=$$SHORTNUM(R) Goto SASK:'R If R'="-",'$D(^KFA("F",R)) Goto SASK If R="-" Goto SQUIT If R'<$P(Limit,D),R'>$P(Limit,D,2) Goto SQUIT If R'<$P(Limit,D),R'>$P(Limit,D,2),$D(^KFA("F",R)) Goto SQUIT Goto SASK SQUIT Kill ^HULP($J) Set FP=1901 Write @F,@F1 Quit R ; DERDENR Set (KC,DERDENr)=DERDENr("K") Set R=$$LIST(.DERDENr,.NoSelNr,MultSel) Kill:R="-" KC,LC Quit ; LIST(DERDENr,NoSelNr,MultSel) New I,LD,DL,Count,RefNr,Bold,MultNrs,BoekJaar,FromFANr,ToFANr,Date New:'$G(DERDENr) DERDENr Set MultSel=$G(MultSel),MultNrs=D Kill ^HULP($J) Do INIT^PROC("FLOWSELF"_$P("K",D,$D(DERDENr)>0)_$P("\M",D,MultSel+1),"LD") Set LD(8)="Selekteer "_$C($A($E(Document))+32)_$E(Document,2,99) If MultSel Set LD(8)=LD(8)_"(en)" If $D(DERDENr) Do .Set LD(8)=LD(8)_" van klant : " .Set LD(8)=LD(8)_$P(^KKL(^KK1(DERDENr),0),D,2) Set LD(8)=$E(LD(8),1,80) Do BOEKJAAR(.BoekJaar) Set BoekJaar="" For Set BoekJaar=$O(BoekJaar(BoekJaar)) Quit:BoekJaar="" Do .Set R=BoekJaar(BoekJaar),FromFANr=$O(^KVE($P(R,D),"")) .Set R=$G(^KBA(BoekJaar,"VFNR")),ToFANr=$P(R,D,1) .Set BoekJaar(BoekJaar)=BoekJaar(BoekJaar)_D_FromFANr_D_ToFANr Set DL(1)="LD",Count=0,Date="",BoekJaar=$O(BoekJaar(""),-1),R=BoekJaar(BoekJaar),RefNr=$P(R,D,4) Set Count=$$MORE(LD(6),LD(4)) Do WL^PROC LSL Do SL^PROC If R="-" Quit R If MultSel Do Goto LSL:R'="ENTER",LSL:$TR(MultNrs,D,"")="" Quit $TR(MultNrs,"-","") .If R="ENTER",MultNrs'=D Set $E(MultNrs)="",$E(MultNrs,$L(MultNrs))="" .If R="ENTER",MultNrs=D Set MultNrs="-" .Quit:R'=" " Quit:'$D(^HULP($J,LD(6))) .Set R=$P(^HULP($J,LD(6)),D,99) .If MultNrs'[R Set MultNrs=MultNrs_R_D .Else Set MultNrs=$P(MultNrs,D_R_D)_D_$P(MultNrs,D_R_D,2) .Do EL^PROC If R="ENTER",$D(^HULP($J,LD(6))) Quit $P(^HULP($J,LD(6)),D,99) Goto LSL ; BOEKJAAR(BoekJaar) New AT,BJ,BPA,BPB,I,J1,J3,J4,KM1,KM2,VM Do ^cT489 Set BoekJaar="" For Set BoekJaar=$O(KM1(BoekJaar)) Quit:BoekJaar="" Set BoekJaar(BoekJaar)=KM1(BoekJaar)_D_KM2(BoekJaar) Quit ; MORE(LSelect,LMax) New Quit If $D(DERDENr) Do Set LD(9)=Count Quit Count .If Count,Date="" Quit .Set Quit=0 .For Set Date=$O(^KFA1("F",DERDENr,Date)) Quit:Date="" Do Quit:Quit ..For Set RefNr=$O(^KFA1("F",DERDENr,Date,RefNr),-1) Do Quit:Quit Quit:RefNr="" ...Do:RefNr ....Quit:$D(NoSelNr(RefNr)) ....Set R=^KFA("F",RefNr,0,0),$P(R,D,99)=RefNr ....Set Count=Count+1,^HULP($J,Count)=R ...If RefNr="",Count-LSelect>LMax Set Quit=1 If Count,RefNr="" Quit Count Set R=BoekJaar(BoekJaar) If RefNr<$P(R,D,3) Do If BoekJaar="" Quit Count .Set BoekJaar=$O(BoekJaar(BoekJaar),-1) .Quit:BoekJaar="" .Set R=BoekJaar(BoekJaar),RefNr=$P(R,D,4) For Set RefNr=$O(^KFA("F",RefNr),-1) Quit:RefNr="" Do Quit:Count-LSelect>LMax .Quit:$D(NoSelNr(RefNr)) .Set R=^KFA("F",RefNr,0,0),$P(R,D,99)=RefNr .Set Count=Count+1,^HULP($J,Count)=R Set LD(9)=Count Quit Count ; SHORTNUM(Input) New Number,BoekJaar Set BoekJaar=$P(^KBA(2),D,2)\1 Set Number=$P(^KBA(BoekJaar,"VFNR"),D),$E(Number,$L(Number)-$L(Input)+1,$L(Number))=Input Set:'$D(^KFA("F",Number)) Number="" Quit Number ;