RPLNOTA ;Raadplegen Nota's : VERSLAGen, Faxen en Mail [ 06/09/99 9:27 AM ] VERWERK New DL,KLNr,Input,PrintMode Set KLNr=KC Do INIT G COMMAND:VTB=U4&(KC=KCX) D KIF^RPLKL1,SA^RPLKL1 D WRITE^vhLIST(.RAP) ;w "****",RAP("F"),"++++" ;zw @RAP("F") ; r k ; Command loop COMMAND Set:R'="D" Input=$$SCROLL^vhLIST(.RAP),R=Input,VTB=U4 Set SW2=0 If R="COM" Do MENU^RPLKL4 If R="SPEC" Do SPEC^RPLKL4 If R="X" Do SELECTIE Set R="" If R="DEL" Do DELOBJ Set R="" If R="D",'Mode Do RAADPL Set R="" If 'sScr("VTW"),R="PRINT" Do PRINT Set R="" Set (RAPSET,RAP("Set"))=Mode_D_TotDat_D_VanDat_D_Types Merge ^HULP($J,"K"_KC,"RAPD")=RAP Quit DELOBJ Set Node=$E(@RAP("F")@(RAP("SELECT"))) Set Ref=$P($P(@RAP("F")@(RAP("SELECT")),"`"),D,2) Quit:"FMV"'[Node!($L(Node)'=1) Quit:'$$ASK^vhWACHTW("SYSTEM") Do:Node="F" DELOBJ^FAX Do DELETE^vhLISTE(.RAP) Quit SELECTIE Do EDIT^vhScherm("RPLNOTASEL","","","","","",3) Quit:'%SC Kill ^HULP(%J,"K"_KC,"RAP") k RAP Do INIT^vhLIST("RPLNOTA",$S(Mode:"FULL",1:"ONE")_"L",.RAP) Do FETCH Do WRITE^vhLIST(.RAP) Quit RAADPL New Node,OldSel,Ref RAADPL2 Quit:'RAP("SELECT") Set Node=$E(@RAP("F")@(RAP("SELECT"))) Set Ref=$P($P(@RAP("F")@(RAP("SELECT")),"`"),D,2) Set Input="" Do @("RAADPL"_Node) Set OldSel=RAP("SELECT") If "()"[Input,$L(Input) Do MOVE^vhLIST(.RAP,$S(Input=")":"DO",1:"UP"),0) Write:RAP("SELECT")=OldSel *7 Goto RAADPL2 If Input="P" Do PRTNOTA Goto RAADPL2 Quit RAADPLV New DispLoc,Label,LabRef,DTL,Datum,sWrap,Cnt Do STORE^vhTERMINA() Set Agenda=##class(Derde.Agenda.Agenda).%OpenId(Ref) Set Label="Verslag",LabRef=$P(Ref,"||",3),Datum="" If $isObject(Agenda) Do . Set Body=BLAgenda.Format2Tekst(Agenda,,"TP") . Do GETWRAP^vhBIGEDIT($NA(Body),76,.sWrap,"O","~","") . Set Cnt=0 . For I=1:1:$O(sWrap(""),-1) Set Cnt=Cnt+1,DispLoc(Cnt)=$J("",$P(sWrap(I),"`",4))_$P(sWrap(I),"`",5) . Set Datum=Agenda.Datum Do INIT^vhLIST("RPLNOTA","DTL",.DTL) Do WRITE^vhLIST(.DTL) For Set Input=$$SCROLL^vhLIST(.DTL) Quit:Input'="P" Do PRINTAgenda^VERSLAG3(Ref,.DispLoc) Do REFRESH^vhTERMINA() Quit RAADPLF New DispLoc,Label,LabRef,DTL,FopType Do STORE^vhTERMINA() Do WRAP^FAX(sScr("KOL")-4,Ref,"DispLoc") Set FopType=$G(^FAX("D",Ref,"FopType")) Set Label=$S(FopType="M":"E-mail",1:"Fax"),LabRef="",Datum=^FAX("D",Ref) Do INIT^vhLIST("RPLNOTA","DTL",.DTL) Do WRITE^vhLIST(.DTL) Set Input=$$SCROLL^vhLIST(.DTL) Do REFRESH^vhTERMINA() Quit RAADPLM New DispLoc,Label,LabRef,DTL,Type Do STORE^vhTERMINA() Set Type=$P($G(^vhMAIL("D",Ref)),D) Set Input=$$POPREAD^vhMAIL4(Ref,"(;);O;-L","Detail "_$S(Type="S":"SMS",1:"Mail"),0) Do REFRESH^vhTERMINA() Quit INIT Set %J=$J Kill RAP Merge RAP=^HULP($J,"K"_KC,"RAPD") Set:$D(RAP("Set")) RAPSET=RAP("Set") Set:$G(RAPSET)="" RAPSET="\\\VFM" ;Set:$G(RAPSET)="" RAPSET="\\\VF" Set Mode=$P(RAPSET,D,1) Set TotDat=$P(RAPSET,D,2) Set VanDat=$P(RAPSET,D,3) Set Types=$P(RAPSET,D,4) Set:VanDat="" VanDat=+$H Set:TotDat="" TotDat=$$CALCDATE^vhDTyp(VanDat,"M",-48,"FD") If '$D(RAP) Do . Kill ^HULP($J,"K"_KC,"RAP") . Do INIT^vhLIST("RPLNOTA",$S(Mode:"FULL",1:"ONE")_"L",.RAP) . Do FETCH Set DL(1)="RAP" Set BLAgenda=##class(BL.Derde.Agenda.Agenda).%New() Quit CBPRINT(Global) New Rec,Select,Fmt Quit:$L(Global)=1 "" Set (sFL(1),Rec)=@Global,Select=+$P(Global,",",$L(Global,",")) Set Fmt=$$CBFMT(Select,Rec) Merge FL(3)=sFL Set FL(3)=sFL(1) Quit ";"_Fmt CBFMT(Select,Rec) ; Callback Format en Fetch data Set Typ=$P(Rec,D),Ref=$P(Rec,D,2) If Typ["T" Do Quit "&F "_$P(sFL(1),"`",2) If Typ="F" Do . Set Tav=$G(^FAX("D",Ref,"Tav")) . Set:$E(Tav,1,3)="Dhr" $E(Tav,1,3)="" . Set:$E(Tav,1,3)="Mvr" $E(Tav,1,3)="" . Set:$E(Tav)?1(1".",1" ") $E(Tav)="" . Set:$E(Tav)?1(1".",1" ") $E(Tav)="" . Set sFL(2)=Tav If Typ="V" Do . ;Set sFL(2)=Rec . Set sFL(2)="\\\"_$P(Rec,D,12) . Set sFL(3)=$P(Rec,D,12,99) If Typ="M" Do . Set sFL(2)=^vhMAIL("D",Ref) Quit Typ FetchAgendaCache Kill AgendaCache &sql(DECLARE FetchAgenda CURSOR FOR SELECT ID,Datum,TijdVan,TijdTot,Gebruiker->Initialen,KlantTekst,InternTekst INTO AgID,AgDatum,AgTijdVan,AgTijdTot,AgGebruiker,AgKlantOms,AgInternOms FROM Derde_Agenda.Agenda WHERE Datum<=:VanDat and Datum>=:TotDat and Klant=:KLNr ORDER BY Datum,TijdVan,TijdTot ASC) &sql(OPEN FetchAgenda) For &sql(FETCH FetchAgenda) Quit:SQLCODE Do . Set AgOms=##class(BL.Derde.Agenda.Agenda).ConcatTekst(AgKlantOms,AgInternOms) . Set AgendaCache(AgDatum,$zt(AgTijdVan)_"\"_AgID)="" ;$LB(AgTijdTot,AgGebruiker,AgOms) &sql(CLOSE FetchAgenda) Quit FETCH ; Callback More voor het ophalen van de lijst in stukjes Do FetchAgendaCache Set Max=0 Set RAP("F")=$G(RAP("F"),$G(RAP(1))) ; Dit voor PRINT Set HorLen=sScr("KOL")-10 Set (OrdRef,Dat)="" For Do ORDER(KLNr,Types,.Dat,.Nota,.OrdRef) Quit:Dat="" Do:Mode @("FULL"_Nota) Do:'Mode @("ONE"_Nota) Quit ORDER(KLNr,Types,Dat,Nota,OrdRef) ; Dat,Nota en OrdRef oproepen via .Local Set:Dat="" Dat=VanDat,Nota=$E(Types) Do:Dat ORDREF ; Eerst de volgende ref gaan ophalen van dezelfde datum If OrdRef="" For Do ORDDAT,ORDREF:Dat Quit:OrdRef'=""||(Dat="") Quit ORDDAT ; Ophalen van de eerstvolgende datum New VDat,FDat,MDat ;w !,"ORDDAT",Dat Set VDat=$S(Types["V":$O(AgendaCache(Dat),-1),1:"") Set FDat=$S(Types["F":$O(^FAX("IK",KLNr,Dat),-1),1:"") Set MDat=$S(Types["M":$O(^vhMAIL("IK",$ZU(5),KLNr,Dat),-1),1:"") Set Dat=VDat Set:Dat