FLOWTEXT ;Verwerking teksten ;[ 10/12/2001 4:10 PM ] ; TEKST(Rect,Tekst,AfdrFakt,Refresh) New I,Top,Left,Bot,Right,Length Set Top=$P(Rect,U),Left=$P(Rect,U,2),Bot=$P(Rect,U,3),Right=$P(Rect,U,4),Length=Right-Left Set Refresh=$G(Refresh,1) Do:Refresh STORE^vhTERMINA() Set Tekst="" For I=1:1 Quit:'$D(Tekst(I)) Set Tekst=Tekst_Tekst(I) Set FP=Top-1*100+1 Write @F,@F1 Set FP=FP+102 Write @F,"Tekst : " For Set Tekst=$$ONE^vhBIGEDIT(Top_U_Left_U_Bot_U_(Right+1),Tekst,"I","EL~") Quit:'$D(AfdrFakt) Do Quit:AfdrFakt'="-" .Set AfdrFakt="" Quit:'$L(Tekst) .Set AfdrFakt=1 Quit .Set AfdrFakt=$$ASKL^vhINP("FLOW","AFDRFAKT"),FP=2201 Write @F,@F1 Do GETWRAP^vhBIGEDIT("Tekst",Length,.Tekst,"O","~","","") For I=1:1 Quit:'$D(Tekst(I)) Set Tekst(I)=$J("",$P(Tekst(I),"`",4))_$P(Tekst(I),"`",5) If Tekst=1,Tekst(1)="" Kill Tekst Set Tekst=0 Do:Refresh REFRESH^vhTERMINA() Quit ; NIEUW(Global,Prog,Insert) New R,Tekst,BlockId,Rect,AfdrFakt,TextTyp,Afdruk,Refresh Set Insert=$G(Insert),Rect=$$RECT(Global) Set:Global="KOD"!(Global="KUL") AfdrFakt="" Set Refresh=Global="KOD" Do:Refresh STORE^vhTERMINA() Do TEKST(Rect,.Tekst,.AfdrFakt,'Refresh) If Tekst Do .Set Afdruk=$$AFDRUK(Global) .Set TextTyp=$$TEXTTYP(Global,Insert) .Do:Refresh REFRESH^vhTERMINA() .Set BlockId=$P($H,",",2)_";"_TextTyp_";"_Afdruk .Set:Afdruk'["F" AfdrFakt="" .Set R="TINSERT(Prog,Insert,Tekst(Tekst),BlockId" .Set:Global="KOD"!(Global="KUL") R=R_",AfdrFakt" Set R=R_")" .If Insert'="B" For Tekst=1:1:Tekst Do @R .If Insert="B" For Tekst=Tekst:-1:1 Do @R Else Do:Refresh REFRESH^vhTERMINA() Quit ; WIJZIG(Global,DOCNr,LineNr,Prog) New R,GloRef,LEVNr,KLNr,BlockId,Tekst,Temp,Count,Rect,FromLine,ToLine,Insert,AfdrFakt,TextTyp,Afdruk If Global="KTO" Do .Set LEVNr=$P(^KTO1(DOCNr),D),GloRef="^"_Global_"(LEVNr,DOCNr,LineNr)" If Global'="KTO" Do .Set KLNr=$P(@("^"_$S(Global="KOFKL":"KOFKL1",Global="KOD":"KO1",Global="KUL":"KU1",1:"")_"(DOCNr,""F"")"),D) .Set GloRef="^"_Global_"(KLNr,""F"",DOCNr,LineNr)" Set R=@GloRef,BlockId=$P(R,D,18),FromLine=LineNr Set TextTyp=$P(BlockId,";",2,3),Afdruk=$P(BlockId,";",4) Set:TextTyp="" TextTyp="T;" For Set LineNr=$O(@GloRef,-1) Quit:LineNr<100!'BlockId Set R=@GloRef Quit:$P(R,D,18)'=BlockId Do .Set FromLine=LineNr Set Insert=$S(LineNr<100:"B",1:"A") Set Count=0 For Set LineNr=$O(@GloRef) Quit:'LineNr Set R=@GloRef Quit:$P(R,D,18)'=BlockId Do Quit:'BlockId .Set Count=Count+1,Tekst(Count)=$P(R,D,5)_"~" Set Rect=$$RECT(Global) Set:Global="KOD"!(Global="KUL") AfdrFakt="" Do TEKST(Rect,.Tekst,.AfdrFakt,0) Set:Tekst Afdruk=$$AFDRUK(Global,Afdruk) Do FLINE Set:Afdruk'["F" AfdrFakt="" Set Temp=Count For Count=1:1:$S(TekstTemp Do .For Count=Temp+1:1:Tekst Do ..Set R="TINSERT(Prog,""A"",Tekst(Count),$P(BlockId,"";"")_"";""_TextTyp_"";""_Afdruk" ..Set:Global="KOD"!(Global="KUL") R=R_",AfdrFakt" Set R=R_")" ..Do @R ..Set DL(2)="DO" Do ML^PROC Quit ; DELETE(Global,DOCNr,LineNr,NoAsk) New R,GloRef,LEVNr,KLNr,BlockId,Tekst,Count,LD,Rect,Delete,FromLine Set NoAsk=$G(NoAsk) If Global="KTO" Do .Set LEVNr=$P(^KTO1(DOCNr),D),GloRef="^"_Global_"(LEVNr,DOCNr,LineNr)" If Global'="KTO" Do .Set KLNr=$P(@("^"_$S(Global="KOFKL":"KOFKL1",Global="KOD":"KO1",Global="KUL":"KU1",1:"")_"(DOCNr,""F"")"),D) .Set GloRef="^"_Global_"(KLNr,""F"",DOCNr,LineNr)" Set R=@GloRef,BlockId=$P(R,D,18),FromLine=LineNr For Set LineNr=$O(@GloRef,-1) Quit:LineNr<100!'BlockId Set R=@GloRef Quit:$P(R,D,18)'=BlockId Do .Set FromLine=LineNr Set Count=0 For Set LineNr=$O(@GloRef) Quit:'LineNr Set R=@GloRef Quit:$P(R,D,18)'=BlockId Do Quit:'BlockId .Set Count=Count+1,Tekst(Count)=$P(R,D,5) Do INIT^vhLIST("FLOW","TDELETE",.LD) Set Rect=$$RECT(Global),$P(Rect,U,3)=$P(Rect,U)+Count-1 Set:$P(Rect,U,3)>21 $P(Rect,U,3)=21 Set LD("POS")=Rect,$P(LD("SET"),"`")=Rect Set $P(LD("FMT","R",1),"`",4)=$P(Rect,U,4)-$P(Rect,U,2) If NoAsk Set Delete="V" Else Do .Do STORE^vhTERMINA(),WRITE^vhLIST(.LD) .Set Delete=$$SCROLL^vhLIST(.LD) .Do REFRESH^vhTERMINA() If Delete="V" Do .Do FLINE .Set LineNr=Detail(@DL(1)@(6)) .For Count=1:1:Count Do Quit:'$D(Detail)!'BlockId Set R=@GloRef Quit:$P(R,D,18)'=BlockId ..Kill @GloRef ..Do DELETE^PROC3 ..Set:$D(Detail) LineNr=Detail(@DL(1)@(6)) Quit ; RECT(Global) New Top,Left,Bot,Right,Length If Global="KTO" Set Top=$P(@("^"_Global_"(0,""TD"")"),D)+1,Length=@("^"_Global_"(0,""UTL"")") If Global'="KTO" Set Top=$P(@("^"_Global_"(0,""F"",""UD"")"),D)+1,Length=@("^"_Global_"(0,""F"",""UTL"")") Set Left=11,Bot=24 Quit Top_U_Left_U_Bot_U_(Left+Length) ; FLINE New I For I=1:1 Quit:Detail(I)=FromLine Set @DL(1)@(6)=I If I<@DL(1)@(7) Kill @DL(1)@(7) Do WL^PROC Quit ; TINSERT(Prog,Insert,Tekst,BlockId,AfdrFakt) New R Set:'$G(BlockId) BlockId=$P($H,",",2)_";T;;OWBF" Set R="TINSERT^"_Prog_"(Insert,"""",Tekst,1,BlockId" Set:$D(AfdrFakt) R=R_",AfdrFakt" Set R=R_")" Do @R Quit ; TEXTTYP(Global,Insert) New R,TextTyp,PRNr,KortText,LNr,TextLoc,ButLoc,LUNr Set TextTyp="T;" If "\KOD\KOFKL\"[(D_Global_D) Do .Set LNr=999 .If Insert="E" Set R=$O(Detail(""),-1) Set:R LNr=Detail(R) .If Insert="B" Set R=@DL(1)@(6),R=$O(Detail(R),-1) Set:R LNr=Detail(R) .Set:Global="KOD" R=$G(^KOD(KLNr,"F",ORDNr,LNr)) .Set:Global="KOFKL" R=$G(^KOFKL(KLNr,"F",OFFNr,LNr)) .Set PRNr=$P(R,D,2),LUNr=$P(R,D,15) .Quit:'PRNr .Set KortText=$P(^KPR(PRNr,0),D) .Set TextLoc(1)="Wenst u deze tekst aan produkt : "_KortText .Set TextLoc(2)="Te koppelen?" .Set TextLoc=2 .Set ButLoc(1)="Ja&P" .Set ButLoc(2)="Neen&T*" .Set ButLoc=2 .Set TextTyp=$$WILD^vhTXTPOP("19;;2","","TextLoc","ButLoc",2) .Set TextTyp=TextTyp_";"_$S(TextTyp="P":LUNr,1:"") Quit TextTyp ; AFDRUK(Global,Afdruk) New I If Global="KOD"!(Global="KUL") Do .Set Afdruk=$G(Afdruk,"OWBFI") .Set:Afdruk'["I" Afdruk=Afdruk_"I" .If $L(Afdruk)>1 For I=$L(Afdruk):-1:2 Set $E(Afdruk,I)=";"_$E(Afdruk,I) .Set Afdruk=$$PI^vhPOPUP("20;22","-OM1","Afdrukken op","FLOWTEXT","AFDRUK",Afdruk) .Set Afdruk=$TR(Afdruk,";","") Else Set Afdruk="" Quit Afdruk ; PopUpSelectElement(sSelect,sOld,sNew,sRec) Quit $P(sRec,"`")'="I"!'sOld