dcfax ;AFDRUKKEN TELEFAX [ 10/12/2001 4:10 PM ] ; ;Document - T=toelevering, P=prijslijst, A=offerte, O=order, L=leveringsbon, M=magazijnbon, R=remboursbon, V=proforma, F=faktuur, H=herinnering ; Het afdrukken van een telefax kan met volgende oproep --> Do PRINT^DCRBON(.Data) ; ; Opbouwen local C en afdrukken van de fax PRINT(Data) New I,J,R,Ref,Taal,FreeFax,Tekst,HLines,HCount,LCount,PCount,Next,Vervolg New FromFax,IntPers,Subject,ExtPers,ToFax,ToName,WLength,MaxLines,Mail Quit:"\T\P\A\O\L\V\F\H\?\"'[(D_Data("Document")_D) Set Print("LMARG")=6,Taal=Data("Taal"),FreeFax=+$G(Data("FreeFax")) Do SAVE(.Data) Set Data("Pages")=$G(Data("Pages"))+1_" ("_$$TXT("Incl")_")" Set WLength=69 If $G(%Fax),$G(%FaxNr) Set WLength=83 Do MERGSLOT^DCFAX2 Do GETWRAP^vhBIGEDIT("^HULP(%J,""T"")",WLength,.Tekst,"G","~","","") Set HLines=$$HLINES^vhFAX($S($D(Data("TermUser")):Data("TermUser"),1:Data("Van"))) Kill ^HULP(%J,"T") For I=1:1:$O(Tekst(""),-1) Set Tekst(I)=$J("",$P(Tekst(I),"`",4))_$P(Tekst(I),"`",5) Set (Tekst,Next)="",(HCount,LCount)=0,MaxLines=44 For Set Next=$O(Tekst(Next)) Quit:Next="" Do Quit:LCount>MaxLines .Set:Tekst'="" Tekst=Tekst_"~" Set R=Tekst(Next) .If $$UPCASE^vhRtn1($TR(R," ",""))="«HANDTEKENING»" Do ..Set HCount=HCount+1,LCount=LCount+HLines ..If $G(%Fax),$G(%FaxNr) Do ...Set R=$P(R,"»")_" " ...If $D(Data("TermUser")),Data("TermUser")'=Data("VanUser") Set R=R_$P(^vhUSER("D",Data("TermUser")),D,5) ...Else Set R=R_Data("Van") ...Set R=R_"»",Tekst=Tekst_R ..Else Do ...For J=1:1:HLines-1-(HLines-1\2) Set Tekst=Tekst_"~" ...Set Tekst=Tekst_"~" ...For J=1:1:HLines-1\2 Set Tekst=Tekst_"~" .Else Set Tekst=Tekst_R,LCount=LCount+1 Do HULP^DCFAX2(Tekst,"") If Next,$O(Tekst(Next))'="" Do .Set Vervolg=0,MaxLines=52 If $G(%Fax),$G(%FaxNr) Set MaxLines=50 .For Do Quit:Next="" ..Set Data("Pages")=Data("Pages")+1,Vervolg=Vervolg+1 ..Set Tekst="",LCount=0 ..For Set Next=$O(Tekst(Next)) Quit:Next="" Do Quit:LCount>MaxLines ...Set:Tekst'="" Tekst=Tekst_"~" Set R=Tekst(Next) ...If $$UPCASE^vhRtn1($TR(R," ",""))="«HANDTEKENING»" Do ....Set HCount(Vervolg)=$G(HCount(Vervolg))+1,LCount=LCount+HLines ....If $G(%Fax),$G(%FaxNr) Set R=$P(R,"»")_" "_Data("Van")_"»",Tekst=Tekst_R ....Else Do .....For J=1:1:HLines-1-(HLines-1\2) Set Tekst=Tekst_"~" .....Set Tekst=Tekst_"~" .....For J=1:1:HLines-1\2 Set Tekst=Tekst_"~" ...Else Set Tekst=Tekst_R,LCount=LCount+1 ..Do HULP^DCFAX2(Tekst,Vervolg) Kill Tekst Set PCount=1 Do PRINT^vhScherm3("DCFAX","",1) For Tekst=1:1 Quit:'$D(@("^HULP(%J,""T"",""T"_Tekst_""")")) Do .If $G(%Fax),$G(%FaxNr) Do FOOTER(HLines,HCount,PCount),NEWPAGE^vhFAX(%FaxNr) .For I=1:1 Quit:'$D(^HULP(%J,"T",I)) Kill ^HULP(%J,"T",I) .For I=1:1 Quit:'$D(@("^HULP(%J,""T"",""T"_Tekst_""",I)")) Set ^HULP(%J,"T",I)=@("^HULP(%J,""T"",""T"_Tekst_""",I)") .If $G(%Fax),$G(%FaxNr) Set HCount=$G(HCount(Tekst)) .Else Write # .Set Print("LIJN")=0,PCount=PCount+1 .Do PRINT^vhScherm3("DCFAXV","",1) If $G(%Fax),$G(%FaxNr) Do .Do FOOTER(HLines,HCount,PCount) .Set I="" .For Set I=$O(%FaxNr(I)) Quit:I="" Do MERGE^vhFAX(%FaxNr,I) .Set FromFax=Data("FFax"),IntPers=Data("VanUser"),Subject=Data("Betreft") .Set ExtPers=Data("Tav"),ToName=Data("Aan"),ToFax=Data("Fax") .If $D(Data("Aanspr")),$E(ToName,1,$L(Data("Aanspr"))+1)=(Data("Aanspr")_" ") Do ..Set ToName=$E(ToName,$L(Data("Aanspr"))+2,99) .Set Mail=$G(Print("FAX","MAIL")) .If $G(Data("VanUser")) Set Mail(Data("VanUser"))="" .Else Set Mail(Data("Van"))="" .Set:$G(Data("TermUser")) Mail(Data("TermUser"))="" .Do VERWERK^vhFAX(%FaxNr,QN,FromFax,IntPers,Subject,ExtPers,ToFax,ToName,$G(Print("FAX","COPYINT")),.Mail,$G(Print("FAX","PRINT"))) Quit ; SAVE(Data,Bewaar) Set Bewaar=$G(Bewaar) Do SAVE^FAX(.Data,Bewaar) Quit ; FREEFAX(Type,Nummer) New I,R,Print,Data,FreeFax,UserId,TextId,Count,Text,Tlength,%Fax,%FaxNr,%J,Param,Bewaar,FaxId Set %J=$$%J^vhRtn1() Lock +^FAX($I) Kill ^HULP(%J,"T") Set Type=$G(Type),Nummer=$G(Nummer),R=$$SELECT^FAX(Type,Nummer) Quit:$P(R,";")="-" Set Text=$P(R,";"),FaxId=$P(R,";",2) If FaxId Do .Set Data("FaxId")=FaxId,Text=1 .Kill ^DEVSAVE($I,"FAX",Text) .Merge ^DEVSAVE($I,"FAX",Text)=^FAX("D",FaxId) If 2'[Text Set TextId="^",FreeFax=Text,UserId=$G(^DEVSAVE($I,"FAX",FreeFax,"VanUser")) If '$G(UserId) Do .Set UserId=$$USELECT("LVH") Quit:'UserId .Set FreeFax=1,TextId="?" .If Type="" Do FREE^DCFAX2(Nummer) .If Type="K" Do KLANT^DCFAX2(Nummer) .If Type="L" Do LEVER^DCFAX2(Nummer) Set Data("FreeFax")=FreeFax Do VERWFAX() Kill ^HULP(%J,"T") Lock -^FAX($I) Quit ; VERWFAX(Edit,FldEd) Set Edit=$G(Edit),FldEd=$G(FldEd) Do STORE^vhTERMINA() Do @($S(Edit:"EDIT",TextId="?":"NIEUW",1:"EDIT")_"^vhScherm(""DCFAX"","""","""","""",FldEd)") If '$$TEKST() Do REFRESH^vhTERMINA() Quit If $G(Bewaar),$D(Data("FaxId")) Do DELOBJ^FAX(Data("FaxId")) Do SAVE(.Data,$G(Bewaar)) Set FP=2201 Write @F,@F1 Set R="" Set:Data("Fax")="" R="F" Do INIT^vhPRINTER("L","","FP",R) If $D(Print) Do .Set:Data("Fax")="" Data("Fax")=$G(Print("FAX","NR")) .Do PRINT(.Data) .If $G(%Fax),$G(%FaxNr) .Else Write # .Do CLOSE^vhPRINTER Do REFRESH^vhTERMINA() Quit ; TEKST() New Next Set Next="" For Set Next=$O(^HULP(%J,"T",Next)) Quit:Next="" Quit:$L(^HULP(%J,"T",Next)) Kill:'Next ^HULP(%J,"T") Quit Next ; EXTERN(Data,TRef) New %J,%SC,TextId,FreeFax,UserId,ExtFax,Bewaar Set %J=$$%J^vhRtn1(),%SC=1,ExtFax=1,(TextId,Data("TextId"))="?",(FreeFax,Data("FreeFax"))=1 Set UserId=$$USELECT("LVH") Set Data("VanUser")=UserId Lock +^FAX($I) Kill ^HULP(%J,"T") Merge ^HULP(%J,"T")=@TRef Do VERWFAX(1) Kill ^HULP(%J,"T") Lock -^FAX($I) Quit ; MENU Write @F11,@F1,@FMTB,"TELEFAX",@FMTb Set Extern=1 Do FREEFAX() Quit ; MAIL(MailId) New I,R,Print,Data,FreeFax,UserId,TextId,Count,Text,Tlength,%Fax,%FaxNr,%J,Param,Bewaar,FaxId,Mail New VerslId,Type,Onderw Set R=^vhMAIL("D",MailId),Type=$P(R,D),Onderw=$$ONDERW^vhMAIL4(MailId) Set %J=$$%J^vhRtn1() Lock +^FAX($I) Kill ^HULP(%J,"T") Set R=$$FBETREFT^vhMAIL4("","",MailId,1) If $L(R) Set R="Intern bericht :"_$C(9)_R Set:$L(Onderw) R=R_", "_Onderw Set R=R_"~~" Set ^HULP(%J,"T",1)=R,I="" For Set I=$O(^vhMAIL("D",MailId,"T",I)) Quit:I="" Set ^HULP(%J,"T",I+1)=^vhMAIL("D",MailId,"T",I) Set R="~~@UVerzonden door@u : "_$$SENDFROM^vhMAIL(MailId) Set I=$O(^HULP(%J,"T",""),-1)+1,^HULP(%J,"T",I)=R Set R=$$TUSER^vhMAIL($$TUSERID^vhMAIL(MailId,"","",1),1) Set:$L(R) R="~~@Ucc naar@u : "_R Set R="~~@UVerzonden naar@u : "_$$TUSER^vhMAIL($$TUSERID^vhMAIL(MailId),1)_R Set I=$O(^HULP(%J,"T",""),-1)+1,^HULP(%J,"T",I)=R Set TextId="?",FreeFax=1,UserId=CUserId Set Mail=1 Set Data("FreeFax")=FreeFax,(Data("Aanspr"),Data("Naam"))="",Extern=1 Set Data("Betreft")="Interne mail",Data("Verantw")="" Do VERWFAX(1,1) Kill ^HULP(%J,"T") Lock -^FAX($I) Quit ; TAAL(Taal) New R Set FP=2201 Write @F,@F1 Set R=$$PI^vhPOPUP("2;58","1O-","Taal","DCFAX","TAAL",Taal) If $L(R),R'=Taal Set (Taal,Data("Taal"))=R Do PAINT^vhScherm Quit Taal ; DTAAL(Taal) Quit $P(^RES("DCFAX","PI","TAAL","D",Taal),"`",2) ; HEADER(X,Vervolg) New Taal,FromName,FromFax,IntPers,Subject,ToName,ToFax,ExtPers,Date,Pages Set Vervolg=$G(Vervolg) If $G(%Fax),$G(%FaxNr) Do Quit "" .Do TITEL^vhFAX(%FaxNr) .Set Taal=Data("Taal"),FromName=QN,FromFax=Data("FFax"),IntPers=Data("Van"),Subject=Data("Betreft") .Set ToName=Data("Aan"),ToFax=Data("Fax"),ExtPers=Data("Tav"),Date=Data("Datum"),Pages=Data("Pages") .Do FONT^vhFAX(%FaxNr,"D") .Do HEADER^vhFAX(%FaxNr,Taal,FromName,FromFax,IntPers,Subject,ToName,ToFax,ExtPers,Date,Pages,Vervolg) I $D(Print) W !!!!! Write:'Vervolg ! Quit $S($G(Print("PRINTER"))'["CA":X,1:$C(27)_"[@"_$C(4)_$C(0)_$C(0)_$C(0)_$C(18)_$C(2)_$C(27)_":"_X_$C(18)_$C(27)_"[@"_$C(4)_$C(0)_$C(0)_$C(0)_$C(17)_$C(1)) ; FOOTER(HLines,HCount,PCount) New R,Taal,FromFax,FromTel,FromAdr,FromLoc,MaxLines Set MaxLines=$S(PCount=1:56,1:56),R=$$LASTLINE^vhFAX(%FaxNr)+(HLines*HCount) Do REPEAT^vhFAX(%FaxNr,"",0,MaxLines-R) Set Taal=Data("Taal"),FromFax=Data("FFax"),FromTel=Data("FTel"),FromAdr=Data("FAdres"),FromLoc=Data("FWoonpl") Do FOOTER^vhFAX(%FaxNr,Taal,FromFax,FromTel,FromAdr,FromLoc) Quit ; AAN(Aan) New R,Select,KLNr,LEVNr Set R=$$SELECT^KONTAKT("KLD","D","","Aan : ") Quit:R="-" "" Set Select=$P(R,";"),(KLNr,LEVNr)=$P(R,";",2) If Select="D" Set Data("Aan")=$P(R,";",2) If Select="K" Do Quit:'KLNr "" .Kill Data("KLNr"),Data("LEVNr") .Do KLANT^DCFAX2(KLNr) If Select="L" Do Quit:'LEVNr "" .Kill Data("KLNr"),Data("LEVNr") .Do LEVER^DCFAX2(LEVNr) If Select'="D" Do .Set NewLevKl=1 .Do SINIT,PAINT^vhScherm .Set (TextId,Data("TextId"))="?" Quit Data("Aan") ; TAV(Old) New I,R,Count,Tav,Rubriek,Select,Type,KLNr,LEVNr,sFmt Set FP=2201 Write @F,@F1 Set sFmt="^RES(""DCFAX"",""LD"",""TAV"")" Set Type=Data("Type") Set:Type="K" KLNr=Data("KLNr") Set:Type="L" LEVNr=Data("LEVNr") Set Count=0 If Type="K" Do .Set I=100 .For Set I=$O(^KKL(0,I)) Quit:I="" Do ..Set Rubriek=^KKL(0,I),R=$P(Rubriek,";",16) ..Quit:"\311\312\701\405\404\314\313\702\703\704\705\706\"'[(D_R_D) ..Set R=$P(^KKL(^KK1(KLNr),R\100-1),D,R#100) Quit:R="" ..Set R=$$INITCAP^vhRtn1(R),Count=Count+1 ..Set Tav(Count)=Count_"`"_$E($P(Rubriek,";"))_$$LOCASE^vhRtn1($E($P(Rubriek,";"),2,99))_"`"_R ..Set:R=Old Select=Count If Type="L" Do .Set I=100 .For Set I=$O(^KLE(0,I)) Quit:I="" Do ..Set Rubriek=^KLE(0,I),R=$P(Rubriek,";",16) ..Quit:"\311\313\702\404\405\312\314\701\703\704\705\706\"'[(D_R_D) ..Set R=$P(^KLE(^KL1(LEVNr),R\100-1),D,R#100) Quit:R="" ..Set R=$$INITCAP^vhRtn1(R),Count=Count+1 ..Set Tav(Count)=Count_"`"_$E($P(Rubriek,";"))_$$LOCASE^vhRtn1($E($P(Rubriek,";"),2,99))_"`"_R ..Set:R=Old Select=Count Set R=$S(Count:$$WILD^vhPOPUP("4;16","O1L-","",.Tav,$G(Select)),1:"") If R Set R=$P(Tav(R),"`",3) Quit R ; ; Opvragen van de tekst TSELECT() New Count,Text,TextId,TLength,Titel Set Titel="Fax voorblad" Set Count=0,TLength=$L(Titel)+2,Count=Count+1,Text(Count)="0`(Geen)" If +$G(^DEVSAVE($I,"FAX",0))=+$H,$G(^DEVSAVE($I,"FAX",0,"KLNr"))=$G(KLNr,$G(KC)) Set Count=Count+1,Text(Count)="^`(Vorig voorblad)" Set Count=Count+1,Text(Count)="?`(Vrije tekst)",TextId="" For Set TextId=$O(^POP("DCFAX","D",TextId)) Quit:TextId="" Do .Quit:'$$INCLUDE(TextId) .Set Count=Count+1,Text(Count)=TextId_"`"_$P(^POP("DCFAX","D",TextId),D,2) .Set:$L($P(Text(Count),"`",2))>TLength TLength=$L($P(Text(Count),"`",2)) Quit $$WILD^vhPOPUP(12-($O(Text(""),-1)\2)_";"_(40-(TLength\2)),"O1-",Titel,.Text,"") ; ; Include tekst voor selektie INCLUDE(TextId) New R,Include,InclDoc,InclTyp,KLNr Set R=^POP("DCFAX","D",TextId),InclDoc=$P(R,D,3),InclTyp=$P(R,D,4) Set Include=1 If $L(InclDoc),$L(InclTyp) Do .If Document'=InclDoc Set Include=0 Quit .If Document="A",$G(DocNum) Do ..Set KLNr=$P(^KOFKL1(DocNum,"F"),D),R=^KOFKL(KLNr,"F",DocNum,1) ..Set:InclTyp'=$P(R,D,25) Include=0 Quit Include ; ; Opvragen van de gebruiker USELECT(Groep,Titel) New User,UserId,ULength,Select Set:'$D(Titel) Titel="Fax verzonden door" Set ULength=$L(Titel)+2,UserId=$$USELECT^vhUSER("","","",Groep,"","","","",1,0),Select=0 If $L(UserId) For I=1:1:$L(UserId,";") Do .Set User(I)=$P(UserId,";",I)_"`"_$P(^vhUSER("D",$P(UserId,";",I)),D,5) .Set:$L($P(User(I),"`",2))>ULength ULength=$L($P(User(I),"`",2)) .If 'Select,$D(^vhUSER("D",$P(UserId,";",I),"D",$I)) Set Select=$P(UserId,";",I) Quit $$WILD^vhPOPUP(12-($O(User(""),-1)\2)_";"_(40-(ULength\2)),"O1-",Titel,.User,Select) ; LINE(sFR,Type,Len,Vert) Set FP=$P(sFR,"`",5)*100+$P(sFR,"`",6) Write @F,@F7,$$LINE^vhRtn1(Type,Len,Vert),@F8 Quit ; SINIT Do SINIT^DCFAX2 Quit ; VINIT Do VINIT^DCFAX2 Quit ; MERGETXT(TextId,Data) New I,R,Text,Taal,FreeFax Set Taal=Data("Taal"),FreeFax=+$G(Data("FreeFax")),R="" Set Param("Gebruiker")=Data("Van"),Param("Aan")=Data("Aan"),Param("Tav")=Data("Tav") Set Param("Betreft")=Data("Betreft"),Param("Datum")=Data("Datum") If $D(Data("TermUser")),Data("TermUser")'=Data("VanUser") Set Param("InOpdr")=$P(^vhUSER("D",Data("TermUser")),D,5) Quit:$G(Mail) Quit:$G(ExtFax) If TextId="^" Merge ^HULP(%J,"T")=^DEVSAVE($I,"FAX",FreeFax,"Tekst") Quit Set Text=$S(TextId="?":"",1:^POP("DCFAX","D",$TR(TextId,"?",""),Taal)) If "SC"[$E(TextId) Do .Set Param("Ons")=$$TXT("Onze",$S(Document'="A":2,"D"[$G(OffTyp):2,1:3)) .If Taal'="D" Set Param("DocNaam")=$$LOCASE^vhRtn1(Data("DOCNaam")) .If Taal="D" Set Param("DocNaam")=Data("DOCNaam") .Set Param("DocNummer")=$$EXTNUM^vhDTyp(Data("DocNum"),0,".-",0) .If Document="A",OffTyp="C" Set Param("Document")=$$LOCASE^vhRtn1($$TXT^DCALG("Offer"_OffTyp,"DCOFFD")) Set Text=$$CONVERT^vhBIGEDIT(.Text,.Param) Set ^HULP(%J,"T",1)=Text Quit ; ; Rubriek xecute XRUBRIEK New Date If X="." Kill ^HULP(%J,"T") If X="-" Do .If Data("Aan")="" Do FIELDI^vhScherm(4) Set:Data("Aan")="" X="" .Quit:X="" .If Data("Fax")="" Do FIELDI^vhScherm(8) Set:Data("Fax")="" X="" .Quit:X="" .Quit:'$G(Data("FreeFax")) .Set FP=2201 .Write @F,@F1 .If %SC Do Quit:X="" ..Set Date=$$EXTDATE^vhDTyp($H,"DC",Data("Taal"))_", "_$$EXTDATE^vhDTyp($H,"DL",Data("Taal")) ..If Date'=Data("Datum") Do ...Set X=$$^vhTXTPOP("DCFAX","DATUM","",Data("Datum"),Date) ...If X="W" Set Data("Datum")=Date Do DISPVAL^vhScherm(12) .Set X=$S('$G(Data("FaxId")):0,1:1) .If '%SC,'$G(Mail),'$G(ExtFax) Set X="N" .Else Set X=$$^vhTXTPOP("DCFAX","SAVE"_$P("NEW\MOD",D,X+1)) .If $L(X) Do ..If X="A" Kill Data("FaxId") Set X="J" ..Set Bewaar=X="J",X="-" Quit ; ; Ophalen taalafhankelijke tekst TXT(Ref,Piece) If '$D(Piece) Set Piece=2 Quit $P($P($T(@("T"_Ref)),U,Piece),D,$F("NFDE",Taal)-1) ; TFAX ;TELEFAX\TELEFAX\TELEFAX\TELEFAX TVerv ;vervolg\suite\fortsetzung\continue TAan ;Aan\A\An\To TTav ;T.a.v.\A l'att.\z. Hd.\Attn. TAank ;Aankoopdienst\Service achats\Ankauf\Purchase department TVerk ;Verkoopdienst\Service de vente\Verkauf\Sales department TBetr ;Betreft\Concernant\Betrifft\Concerning TDate ;Datum\Date\Datum\Date TVan ;Van\De\Von\From TPages ;#Pag(s)\#Pag(s)\#Pag(n)\#Pag(s) TIncl ;incl. dit blad\incl. cette page\incl. diese Seite\incl. this page TOnze ;onze\notre\unsere\our;ons\notre\unser\our TTekst ;Tekst\Tekst\Tekst\Tekst