FAX ;TELEFAX [ 06/16/99 11:40 AM ] ; SELECT(Type,Nummer) New I,R,Count,Text,Tlength,LEVNr,KLNr,User,UserId,Quit,FaxId Set Type=$G(Type),Nummer=$G(Nummer),Count=0,TLength=0 If +$G(^DEVSAVE($I,"FAX",0))=+$H,$G(^DEVSAVE($I,"FAX",0,$S(Type="":0,Type="L":"LEVNr",1:"KLNr")))=$G(Nummer) Do .Set Count=Count+1,Text(Count)="0`(Vorig voorblad)" .Set:TLength<$L($P(Text(Count),"`",2)) TLength=$L($P(Text(Count),"`",2)) If +$G(^DEVSAVE($I,"FAX",1))=+$H,$G(^DEVSAVE($I,"FAX",1,$S(Type="":0,Type="L":"LEVNr",1:"KLNr")))=$G(Nummer) Do .Set Count=Count+1,Text(Count)="1`(Vorige fax)" .Set:TLength<$L($P(Text(Count),"`",2)) TLength=$L($P(Text(Count),"`",2)) If $D(Text)!$D(^FAX("IL"))!$D(^FAX("IK"))!$D(^FAX("IP")) Do .Set Count=Count+1,Text(Count)="2`Nieuwe fax" .Set:TLength<$L($P(Text(Count),"`",2)) TLength=$L($P(Text(Count),"`",2)) .If '$D(^FAX("IL")),'$D(^FAX("IK")),'$D(^FAX("IP")) Quit .Set Count=Count+1,Text(Count)="&S" .For I=1,2 If $D(^FAX($P("IL\IK",D,I))) Do ..Set Count=Count+1,Text(Count)=$P("L\K",D,I)_"`Hergebruik "_$P("leverancier\klant",D,I) ..Set:TLength<$L($P(Text(Count),"`",2)) TLength=$L($P(Text(Count),"`",2)) .Set User=$$USELECT^vhUSER("","",$$IO^cQ5,"","","","","","",0) Quit:User="" .For I=1:1:$L(User,";") Quit:$D(^FAX("IP",$P(User,";",I))) .Quit:'$D(^FAX("IP",$P(User,";",I))) .If '$P(User,";",2) Set User=$P(^vhUSER("D",User),D,2) .Else Set User="interne persoon" .Set Count=Count+1,Text(Count)="P`Hergebruik "_User .Set:TLength<$L($P(Text(Count),"`",2)) TLength=$L($P(Text(Count),"`",2)) If $D(Text) Do Set:Text="" Text="-" FREE1 .Set Text=$$WILD^vhPOPUP(12-($O(Text(""),-1)\2)_";"_(40-(TLength\2)),"O1-","Fax",.Text,"") .Quit:2[Text .If Text="L" Do Goto FREE1:LEVNr="-" ..For Set LEVNr=$$SELECT^LEVER() Quit:LEVNr="-" Do Quit:Quit ...Set Quit=0 ...Set FaxId=$$SELFAXID("L",LEVNr) Quit:FaxId="-" ...Set Quit=1 ..Set FP=2101 ..Write @F,@F1 .If Text="K" Do Goto FREE1:KLNr="-" ..For Set KLNr=$$SELECT^KLANT6() Quit:KLNr="-" Do Quit:Quit ...Set Quit=0 ...Set FaxId=$$SELFAXID("K",KLNr) Quit:FaxId="-" ...Set Quit=1 ..Set FP=2101 ..Write @F,@F1 .If Text="P" Do Goto FREE1:'UserId ..Set UserId=$$USELECT^vhUSER("","",$$IO^cQ5,"","","","","","",0) ..For Set:$P(UserId,";",2) UserId=$$USELECT^vhUSER("","",$$IO^cQ5) Quit:'UserId Do Quit ...Set FaxId=$$SELFAXID("P",UserId) If FaxId="-" Set UserId="" Quit ..Set FP=2101 ..Write @F,@F1 Quit $G(Text)_";"_$G(FaxId) ; SELFAXID(Type,Nummer) New R,X,Y,Titel Set FP=2101 Write @F,@F1 Do STORE^vhTERMINA() If $D(^FAX("I"_Type,Nummer)) Set Titel="Selekteer een fax " Else Set Titel="Geen faxen " If Type="P" Set Titel=Titel_"Opgemaakt door "_$P(^vhUSER("D",Nummer),D,2) Else Set Titel=Titel_"aan "_$S(Type="L":$P(^KLE(^KL1(Nummer),0),D,2),Type="K":$P(^KKL(^KK1(Nummer),0),D,2),1:"") Do FETCH Do INIT^PROC("FAX","LD") Set LD(8)=Titel Set:LD(4)>$O(Y(""),-1) LD(4)=$O(Y(""),-1),LD(3)=24-LD(4)+1 Do WL^PROC For Do SL^PROC Quit:R="-"!(R="ENTER") Do Quit:R="ENTER" .If R="D" For Quit:'LD(6) Quit:'$D(Y(LD(6))) Set R=$$RAADPL(Y(LD(6)),1,1,1) Quit:"\(\)\"'[(D_R_D) Do ..Set DL(2)="" ..If R="(" Do ...If LD(6)=1 Write *7 Quit ...Set DL(2)="UP" ..If R=")" Do ...If LD(6)=LD(9) Write *7 Quit ...Set DL(2)="DO" ..Do:$L(DL(2)) ML^PROC If R="ENTER",LD(6) Set R=$S($D(Y(LD(6))):Y(LD(6)),1:"-") Do REFRESH^vhTERMINA() Quit R ; FETCH New Index,TKrea,TFax,Count Set Count=0,Index="I"_Type,TKrea="" For Set TKrea=$O(^FAX(Index,Nummer,TKrea),-1) Quit:TKrea="" Quit:Count>1000 Do If Count>1199 Quit:TKrea<($H-365) .Set TFax="" .For Set TFax=$O(^FAX(Index,Nummer,TKrea,TFax),-1) Quit:TFax="" Quit:Count>1000 Do If Count>1199 Quit:TKrea<($H-365) ..Set Count=Count+1,Y(Count)=TFax Quit ; SAVE(Data,Bewaar) New I,FreeFax,DevSave,FaxId,KLNr,LEVNr,UserId Quit:$G(Data("Type"))="S" Set DevSave=$G(Data("TextId"))["?",Bewaar=$G(Bewaar) If Bewaar Set FaxId=$G(Data("FaxId")) Set:'FaxId FaxId=$$FAXID() If DevSave Do .Set FreeFax=+$G(Data("FreeFax")) .Kill ^DEVSAVE($P,"FAX",FreeFax) .Set ^DEVSAVE($P,"FAX",FreeFax)=$H Set I="" For Set I=$O(Data(I)) Quit:I="" If $E(I,1,5)'="Tekst" Do .If DevSave Set ^DEVSAVE($P,"FAX",FreeFax,I)=Data(I) .If Bewaar Set ^FAX("D",FaxId,I)=Data(I) If DevSave Merge ^DEVSAVE($P,"FAX",FreeFax,"Tekst")=^HULP(%J,"T") If Bewaar Do .Set Data("FaxId")=FaxId .Merge ^FAX("D",FaxId,"Tekst")=^HULP(%J,"T") .If $G(Data("Type"))="K" Set ^FAX("IK",Data("KLNr"),+$H,FaxId)="" .If $G(Data("Type"))="L" Set ^FAX("IL",Data("LEVNr"),+$H,FaxId)="" .Set ^FAX("IP",Data("VanUser"),+$H,FaxId)="" .Set:$D(Data("TermUser")) ^FAX("IP",Data("TermUser"),+$H,FaxId)="" .Set ^FAX("D",FaxId)=$H Quit ; DELOBJ(FaxId) New I,Data,Kreatie Quit:'$D(^FAX("D",FaxId)) Set I="",Kreatie=+^FAX("D",FaxId) For Set I=$O(^FAX("D",FaxId,I)) Quit:I="" If I'="Tekst" Set Data(I)=^FAX("D",FaxId,I) If $G(Data("Type"))="K" Kill ^FAX("IK",Data("KLNr"),Kreatie,FaxId) If $G(Data("Type"))="L" Kill ^FAX("IL",Data("LEVNr"),Kreatie,FaxId) Kill ^FAX("IP",Data("VanUser"),Kreatie,FaxId) Kill:$D(Data("TermUser")) ^FAX("IP",Data("TermUser"),Kreatie,FaxId) Kill ^FAX("D",FaxId) Quit ; ; Nieuw faxId FAXID() New FaxId Lock +^FAX("N") Set FaxId=$G(^FAX("N"))+1,^FAX("N")=FaxId Lock -^FAX("N") Quit FaxId ; RAADPL(FaxId,Scroll,ReUse,Print) New I,R,Data,Type,KLNr,LEVNr,DTL,DispLoc Set Scroll=$G(Scroll),ReUse=$G(ReUse),Print=$G(Print) Merge Data=^FAX("D",FaxId) If $D(Data) Do .If $D(Data("Type")) Do ..Set Type=Data("Type") ..Set:Type="L" LEVNr=Data("LEVNr") Set:Type="K" KLNr=Data("KLNr") .Do STORE^vhTERMINA() .Do WRAP(75,FaxId,"DispLoc") .Set Datum=^FAX("D",FaxId) .Do INIT^vhLIST("FAX","RAADPL",.DTL) .If Scroll For I=1:1 Quit:'$D(DTL("B",I)) Do ..Set R=DTL("B",I) ..Set:$P(R,"`",6)="("!($P(R,"`",6)=")") $P(R,"`",3)="",DTL("B",I)=R .If ReUse For I=1:1 Quit:'$D(DTL("B",I)) Do ..Set R=DTL("B",I) ..Set:$P(R,"`",6)="ENTER" $P(R,"`",3)="",DTL("B",I)=R .If Print For I=1:1 Quit:'$D(DTL("B",I)) Do ..Set R=DTL("B",I) ..Set:$P(R,"`",6)="PRINT" $P(R,"`",3)="",DTL("B",I)=R .Do WRITE^vhLIST(.DTL) .For Set R=$$SCROLL^vhLIST(.DTL) Quit:R'="PRINT" Do PRINT(FaxId) Quit:R'="PRINT" .Do REFRESH^vhTERMINA() Quit $G(R) ; WRAP(Len,FaxId,Ref) ;WRAPPEN van een fax in lijstvorm New Label,sWrap,Cnt Set Cnt=$G(@Ref,0) For Label="Tav","Betreft","Datum","Van","Pages" Do .Set Cnt=Cnt+1,@Ref@(Cnt)=$J(Label,20)_" | "_$S(Label="Pages":$G(^FAX("D",FaxId,Label))+1,Label="Datum":$$EXTDATE^vhLib.DataTypes($G(^FAX("D",FaxId,Label))),1:$G(^FAX("D",FaxId,Label))) Do .Quit:'$G(^FAX("D",FaxId,"TermUser")) .Quit:$G(^FAX("D",FaxId,"VanUser"),"*")=$G(^FAX("D",FaxId,"TermUser"),"*") .Quit:'$D(^vhUSER("D",^FAX("D",FaxId,"TermUser"))) .Set Cnt=Cnt+1,@Ref@(Cnt)=$J("Uitvoerder",20)_" | "_$P(^vhUSER("D",^FAX("D",FaxId,"TermUser")),D,5) Set Cnt=Cnt+1,@Ref@(Cnt)="&S" Do GETWRAP^vhBIGEDIT($NA(^FAX("D",FaxId,"Tekst")),76,.sWrap,"G","~","") For I=1:1:$O(sWrap(""),-1) Set Cnt=Cnt+1,@Ref@(Cnt)=$J("",$P(sWrap(I),"`",4))_$P(sWrap(I),"`",5) Quit ; PRINT(FaxId) New Data,%J,Print,Param Do INIT^vhPRINTER("","","") Quit:'$D(Print) Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Merge Data=^FAX("D",FaxId) Do MERGETXT^DCFAX("?",.Data) Merge ^HULP(%J,"T")=Data("Tekst") Do PRINT^DCFAX(.Data,1) Write # Do CLOSE^vhPRINTER Kill ^HULP(%J) Set R="" Quit ;