#include BL.Derde.LevSpecifiek DCSELINK ;AFDRUKKEN DOKUMENTEN (selektie inkomende) [ 08/06/2002 9:54 AM ] ; ; Markeer of verwijder markering in "LEVER" en "VANTOT" LEVVANT(LEVNr,Sessie,Ref) New Next If '$D(Ref) Set Ref="" If Ref'="^HULP($J,""K"",LEVNr,LEVER(6))",$D(^HULP($J,"K",LEVNr)) Do .Set Next=0 .For Set Next=$O(^HULP($J,"K",LEVNr,Next)) Quit:Next="" Do ..Set R=^HULP($J,"K",LEVNr,Next) Quit:$P(R,D)'=@DOCNr ..Set $P(R,D,5)=Sessie,^HULP($J,"K",LEVNr,Next)=R,Next=999999 If Ref'="^HULP($J,""V"",VANTOT(6))",$D(^HULP($J,"V")) Do .Set Next=0 .For Set Next=$O(^HULP($J,"V",Next)) Quit:Next="" Do ..Set R=^HULP($J,"V",Next) Quit:$P(R,D)'=@DOCNr ..Set $P(R,D,5)=Sessie,^HULP($J,"V",Next)=R,Next=999999 Quit ; NEXT(K) If $D(^HULP($J,"T",K)) Quit 0 If Document="T" Do Quit K .If '$D(^KTO1(K)) Set K=0 Quit ; ; Markeer als geselekteerd MARK(Ref) New @DOCNr,SessieNr,Next Set @DOCNr=$P($G(@Ref),D) Quit:@DOCNr="" Set LEVNr=$P(@Ref,D,2) MRK1 Set Sessie=$$TransPref^LEVER(LEVNr,.VerzendAdres) Set SessieNr=$F("KIPF",Sessie) Set ^HULP($J,"T")=Sessie If 'SessieNr,$D(@Bakje) Quit If SessieNr,$D(@Bakje) Set R=@Bakje If $P(R,D,SessieNr) Goto MRK1:'$D(^HULP($J,"T")) Quit If Sessie="" Set VerzendAdres="" Set R=@Ref,$P(R,D,5)=Sessie,$P(R,D,10)=$Tr(VerzendAdres,"-+/ ",""),@Ref=R,^HULP($J,"T",@DOCNr)=Sessie_D_VerzendAdres New LEVNr Set LEVNr=$P(R,D,2) Do EL^PROC Set DL(2)="DO" Do ML^PROC Kill DL(2) Do LEVVANT(LEVNr,Sessie,Ref) Quit ; ; Verwijder markering DELETE(Ref) New @DOCNr,SessieNr,Next Set @DOCNr=$P($G(@Ref),D) Quit:@DOCNr="" Quit:'$D(^HULP($J,"T",@DOCNr)) Set R=@Ref,$P(R,D,5)="",$P(R,D,10)="",@Ref=R New LEVNr Set LEVNr=$P(R,D,2) Kill ^HULP($J,"T",@DOCNr) Do EL^PROC Set DL(2)="DO" Do ML^PROC Kill DL(2) Do LEVVANT(LEVNr,"",Ref) Quit ; ; Haal info toelevering TOEINFO New LevNm,WoonPl,ToeRef,Datum Set LEVNr=$P(^KTO1(@DOCNr),D) Set R=^KTO(LEVNr,@DOCNr,1) Set Datum=$P(R,D,2),ToeRef=$P(R,D,3) Set R=^KLE(^KL1(LEVNr),0),LevNm=$P(R,D,2),WoonPl=$P(R,D,7) Set Sessie=$S(Sessie="":"",1:$$TransPref^LEVER(LEVNr,.VerzendAdres)) If Sessie="" Set VerzendAdres="" Set R=@DOCNr_D_LEVNr_D_D_D_Sessie_D_ToeRef_D_Datum_D_LevNm_D_WoonPl_D_$Tr(VerzendAdres,"-+/ ","") Quit ; ; Put in ^HULP PUTHULP(Routine,Index,PutSes) Do @Routine Set Count=Count+1,^HULP($J,Index,Count)=R If $G(PutSes) Set ^HULP($J,"T",@DOCNr)=Sessie_D Quit ; ; Write list WL(Ref) Do WL^PROC If $D(Ref) Do SA^DCSELECT(Ref) Quit ; ; Scroll list SL(Ref) SL1 Do SL^PROC If R="ENTER" Do Goto SL1 .Quit:'$D(@Ref) .Set @DOCNr=$P(@Ref,D) .If '$D(^HULP($J,"T",@DOCNr)) Do MARK(Ref) Quit .Do DELETE(Ref) If R="W" Do WijzigVerzend Goto SL1 Quit ; ; Toon de geselekteerde SELECTED New LEVNr,@DOCNr,Date,Count,Sessie,Ref New SessieK,SessieI Kill ^HULP($J,"S") Set DL(1)="SELECTED",SELECTED(1)="^HULP("_$J_",""S""" Set (SELECTED(6),SELECTED(7))=1 Set @DOCNr="",Count=0 Do SA1^DCSELECT Set Sessie="" If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") For Set @DOCNr=$O(^HULP($J,"T",@DOCNr),-1) Quit:@DOCNr="" Do .If Document="T" Do PUTHULP("TOEINFO","S") Quit Set FP=400+$P(FPKlLev,D) Write @F,@F2 Do WL(5) SEL1 Do SL("^HULP($J,""S"",SELECTED(6))") If R'="HELP",R'="COM" Goto SEL1:Keys'[R,SEL1:R="S"&$D(^HULP($J,"S")) Kill ^HULP($J,"S") Quit ; ; Toon het printbakje BAKJE New LEVNr,@DOCNr,Date,Count,Sessie,Next,Ref New SessieK,SessieI Kill ^HULP($J,"B") Set DL(1)="BAKJE",BAKJE(1)="^HULP("_$J_",""B""" Set (BAKJE(6),BAKJE(7))=1 Set Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="",Count=0 Do SA1^DCSELECT For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") .If Document="T" Do Quit ..Set LEVNr=$P($G(^KTO1(@DOCNr)),D) ..If LEVNr=$$$LevBlum Kill ^KTOB(@DOCNr) Quit ..Do PUTHULP("TOEINFO","B") Set FP=400+$P(FPKlLev,D) Write @F,@F2 Do WL(3) BAK1 Do SL("^HULP($J,""B"",BAKJE(6))") If R'="HELP",R'="COM" Goto BAK1:Keys'[R,BAK1:R="B"&$D(^HULP($J,"B")) Kill ^HULP($J,"B") Quit ; ; Selekteer alle uit het printbakje voor een bepaalde sessie SESSIE(Input) New LEVNr,@DOCNr,Date,Count,Sessie,Next,Ref New SessieK,SessieI New SessieNr Kill ^HULP($J,"A") Do SA^DCSELECT(2) Set FP=400+$P(FPKlLev,D) Write @F,@F1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else Set Sessie="K" Set SessieNr=$F("KI",Sessie) If 'SessieNr Set R="" Quit Set DL(1)="SESSIE",SESSIE(1)="^HULP("_$J_",""A""" Set (SESSIE(6),SESSIE(7))=1 Set Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="",Count=0 Do SA1^DCSELECT For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .If Document="T" Do Quit ..Set LEVNr=$P($G(^KTO1(@DOCNr)),D) ..If LEVNr=$$$LevBlum Kill ^KTOB(@DOCNr) Quit ..Do:$$CHKTOE(@DOCNr,Input) PUTHULP("TOEINFO","A",1),LEVVANT(LEVNr,Sessie) If $D(^HULP($J,"T")) Do .If $G(^HULP($J,"T"))="" Set ^HULP($J,"T")=Sessie Do WL(2) SES1 Do SL("^HULP($J,""A"",SESSIE(6))") If R'="HELP",R'="COM" Goto SES1:Keys'[R,SES1:R="A"&$D(^HULP($J,"A")) Kill ^HULP($J,"A") Quit ; ; Selekteer van ... tot ... VANTOT New LEVNr,@DOCNr,Date,Count,Sessie New SessieK,SessieI New SessieNr,Next Do SA^DCSELECT(6) Set FP=400+$P(FPKlLev,D) Write @F,@F1 Set DL(1)="VANTOT",VANTOT(1)="^HULP("_$J_",""V""" Set Count=$G(^HULP($J,"V")) If Count Do WL() Else Set (VANTOT(6),VANTOT(7))=1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else Set Sessie="K" Set SessieNr=$F("KI",Sessie) VAN1 Do VANTOT^DCSELECT If K="-" Set:Count ^HULP($J,"V")=Count Quit If K="" Quit:'$D(^HULP($J,"V")) Set FP=2203 Write @F,@F1 Goto VAN2 Set K=$$REPLACE^vhRtn1(K,"-",":1:"),FP=2203 Write @F,@F1 Kill Next Set Next=0 Xecute "For K="_K_" If $$NEXT(K) Set Next=Next+1,Next(Next)=K" Do SA1^DCSELECT For Next=1:1:Next Set @DOCNr=Next(Next) Do .If Document="T" Do PUTHULP("TOEINFO","V",1),LEVVANT(LEVNr,Sessie,"^HULP($J,""V"",VANTOT(6))") Quit If $D(^HULP($J,"T")) Do .If $G(^HULP($J,"T"))="" Set ^HULP($J,"T")=Sessie If $D(VANTOT(9)),VANTOT(9)'=Count Do .Set VANTOT(6)=VANTOT(9)+1 .If VANTOT(6)-VANTOT(7)'VANTOT(6) Set VANTOT(7)=VANTOT(6) Set VANTOT(9)=Count Do WL(6) VAN2 Do SL("^HULP($J,""V"",VANTOT(6))") If R'="HELP",R'="COM" Goto VAN2:Keys'[R,VAN1:R="V"&$D(^HULP($J,"V")) Set ^HULP($J,"V")=Count Quit ; ; Toon alle van een bepaalde leverancier LEVER New LEVNr,@DOCNr,Date,Count,Sessie New Type,Datum,SessieK,SessieI,VerzWijz,ToeRef LEV1 Set (K,R)=$$SELECT^LEVER() If K="-" Goto LEV3:$G(DL(1))="LEVER" Quit Set R=^KLE(^KL1(K),0),FP=2101 Write @F,@F1 If $G(DL(1))="LEVER",$G(LEVER)=$P(R,D) Set LEVNr=LEVER Goto LEV3 Set LEVNr=$P(R,D),FP=400+$P(FPKlLev,D) Write @F,$P(R,D,2),@F2 Set DL(1)="LEVER",LEVER(1)="^HULP("_$J_",""K"","_LEVNr Set (LEVER(6),LEVER(7))=1 If $D(^HULP($J,"K",LEVNr)) Do Goto LEV3 .Set R=^HULP($J,"K",LEVNr),LEVER(6)=$P(R,D),LEVER(7)=$P(R,D,2) .Set Count=$O(^HULP($J,"K",LEVNr,""),-1),LEVER(9)=Count .Do WL(4) Do SA1^DCSELECT If Document="T" Do Goto LEV2 .Set @DOCNr="",Count=0 .For Set @DOCNr=$O(^KTO(LEVNr,@DOCNr),-1) Quit:@DOCNr="" Do ..Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") ..Set R=^KTO(LEVNr,@DOCNr,1) ..Set Datum=$P(R,D,2),ToeRef=$P(R,D,3) ..Set R=@DOCNr_D_LEVNr_D_D_D_Sessie_D_ToeRef_D_Datum ..Set Count=Count+1,^HULP($J,"K",LEVNr,Count)=R ..If Count=20 Do WL() LEV2 Do SA^DCSELECT(7) Set LEVER(9)=Count If Count<20 Do WL() LEV3 Do SL("^HULP($J,""K"",LEVNr,LEVER(6))") If R'="HELP",R'="COM" Goto LEV3:Keys'[R Set ^HULP($J,"K",LEVNr)=LEVER(6)_D_LEVER(7),LEVER=LEVNr Goto LEV1:R="K" Quit ; CHKTOE(TOENr,Input) New LEVNr Set LEVNr=$P($G(^KTO1(TOENr)),D) If LEVNr="" Quit 0 Quit $S(Input="F":LEVNr=6092!(LEVNr=6428),Input="H":LEVNr=6332,1:LEVNr'=6092&(LEVNr'=6332)) WijzigVerzend ; Wijzig de verzendwijze (printen, faxen, mailen) en het verzendadres (indien relevant) N Sessie,VerzendAdres,DocNr Set R=@Ref Quit:R="" ;als de selectie leeg is, gebeurt er niets Set DocNr=$P(R,D),LEVNr=$P(R,D,2),Sessie=$P(R,D,5),VerzendAdres=$P(R,D,10) S YPos=@DL(1)@(6)-@DL(1)@(7)+@DL(1)@(3) D CALLSPEC^vhMenu(YPos_";60","DCPRINTSPC","") If Input="Zonder" Do . Set Sessie="",VerzendAdres="" Else If Input="P" Do . Set Sessie="P",VerzendAdres="" Else If Input="F" Do . If Input'=Sessie Set VerzendAdres=$$ZoekFaxNr^LEVER(LEVNr),Sessie=Input . Set VerzendAdres=$$ASK^vhINP("Faxnummer : ",20,VerzendAdres,"") . If VerzendAdres="" Set Sessie="" Else If Input="M" Do . If Input'=Sessie Set VerzendAdres=$$ZoekMailAdres^LEVER(LEVNr),Sessie=Input . Set VerzendAdres=$$ASK^vhINP("E-mailadres : ",60,VerzendAdres,"") . If VerzendAdres="" Set Sessie="" Else If Input="X" Do . Set Sessie="X" Set $P(R,D,5)=Sessie,$P(R,D,10)=VerzendAdres Set @Ref=R Set ^HULP($J,"T",DocNr)=Sessie_D_VerzendAdres Do WL() ;scrolgedeelte van het scherm opnieuw uitschrijven Set FP=2201 Write @F,@F1 Quit