ULTOER4 ;Zendingen niet in levering ; [ 12/22/2003 4:56 PM ] Verwerk New %SC,LD,Opname,Input,NLZ,BONNrs Do INIT Do REFRESH Do NIEUW^vhScherm("ULTOERNLZH",,,,,,3,"A") If %SC { Do REFRESH Do FETCH For { Set Input=$S($L(Input):Input,1:$$SCROLL^vhLIST(.LD)) If Input="COM" Set Input="" Do CALL^vhMenu("ULTOERNLZ") Do EXEC^vhMenu("ULTOERNLZ",.Input) Quit:Input="CANC" Set Input=$S(Input="N":"N",1:"") } } Quit INIT Do INIT^vhLIST("ULTOER","NLZ",.LD) Set Opname=$G(QU(1),$$USERID^vhUSER()),Datum=+$H Set Input="N" Quit ; Zending toevoegen AddZending New %SC,R,NLZRec,BONNr,KLNr,Node Set BONNr="" Do FIELD^vhScherm("ULTOERNLZ","LEVNR") If BONNr { Do AddZending2LIST(BONNr,.BONNrs) Set KLNr=$P(^KU1(BONNr,"F"),D) Set Node=$$NODE^FLOWBON(BONNr) Set R=^KUL(KLNr,Node,BONNr,1) Set:$P(R,D,46)="" $P(R,D,46)=$P($P($P(R,D,7),"#")," ") Set $P(R,D,47)=Datum,^KUL(KLNr,Node,BONNr,1)=R Set Input="ENTER" } Quit ; Zending wijzigen ModZending New %SC,R,NLZRec,BONNr,KLNr,Node,Palet,Colli,LangGoed Set NLZRec=NLZ(LD("SELECT")),KLNr=$P(NLZRec,D),BONNr=$P(NLZRec,D,2),Palet=$P(NLZRec,D,3),Colli=$P(NLZRec,D,4),LangGoed=$P(NLZRec,D,5) Do EDIT^vhScherm("ULTOERNLZD",,,,,,3) If %SC { Set Node=$$NODE^FLOWBON(BONNr) Set R=^KUL(KLNr,Node,BONNr,1) Set $P(R,D,47)=Datum_"#"_Palet_"#"_Colli_"#"_LangGoed,^KUL(KLNr,Node,BONNr,1)=R Set $P(NLZRec,D,3)=Palet,$P(NLZRec,D,4)=Colli,$P(NLZRec,D,5)=LangGoed Set NLZ(LD("SELECT"))=NLZRec Do LINE^vhLIST(.LD,LD("SELECT")) } Set Input="N" Quit ; Zending verwijderen DelZending New R,NLZRec,BONNr,KLNr,Node Set NLZRec=NLZ(LD("SELECT")),KLNr=$P(NLZRec,D),BONNr=$P(NLZRec,D,2) Do DELETE^vhLISTE(.LD) Kill BONNrs(BONNr) Set Node=$$NODE^FLOWBON(BONNr) Set R=^KUL(KLNr,Node,BONNr,1) Set $P(R,D,46,47)=D,^KUL(KLNr,Node,BONNr,1)=R Quit ; Ophalen van de reeds gemarkeerde zendingen op basis van de datum FETCH New R,KLNr,FactSoort,BONNr Set KLNr=0 For { Set KLNr=$O(^KUL(KLNr)) Quit:'KLNr Set FactSoort="" For { Set FactSoort=$O(^KUL(KLNr,FactSoort)) Quit:FactSoort="" Set BONNr="" For { Set BONNr=$O(^KUL(KLNr,FactSoort,BONNr)) Quit:'BONNr Set R=^KUL(KLNr,FactSoort,BONNr,1) Continue:$P($P(R,D,47),"#")'=Datum Do AddZending2LIST(BONNr,.BONNrs) } } } Quit ; De zending in de lijst opnemen AddZending2LIST(BONNr,BONNrs) New R,NLZRec,KLNr,Node,Palet,Colli,LangGoed,Beloofd,Rembours,NietGeleverd,ExtraTeBet If '$D(BONNrs(BONNr)) { ; Levering nog niet opgenomen Set KLNr=$P(^KU1(BONNr,"F"),D) Set Node=$$NODE^FLOWBON(BONNr) Set R=^KUL(KLNr,Node,BONNr,1),ExtraTeBet=$P($P(R,D,11),";"),Beloofd=$S($P(R,D,16)="":"", $P(R,D,23)="N":"N", '$P(R,D,36):"B", 1:""),NietGeleverd=$P(R,D,47) Set Palet=$P(NietGeleverd,"#",2),Colli=$P(NietGeleverd,"#",3),LangGoed=$P(NietGeleverd,"#",4) Set Rembours=$$ISREMB^REMBOURS(KLNr,BONNr) Set NLZRec=KLNr_D_BONNr_D_Palet_D_Colli_D_LangGoed_D_Beloofd_D_Rembours_D_ExtraTeBet Do NIEUW^vhLISTE(.LD,NLZRec) Set BONNrs(BONNr)=NLZRec } Quit REFRESH New %SC Do DISPLAY^vhScherm("ULTOERNLZ") Do WRITE^vhLIST(.LD) Quit MiniMail New I,From,To,Subject,strmBody,Status,Waring,UserGroep,TxtLoc,ButLoc,RerouteTo Set From="RDL@vanhoecke.be" Set UserGroep="NLZ;OV" Set To=$$USERNAME^vhUSER(UserGroep,1) Set TxtLoc(1)="Mail verzenden aan:",TxtLoc(2)=" " For I=1:1:$L(To,";") Set TxtLoc(I+2)=$P(To,";",I) Set TxtLoc=I+2 Set ButLoc(1)="Verzenden&1",ButLoc(2)="Annuleer&",ButLoc=2 If $$WILD^vhTXTPOP("","","TxtLoc","ButLoc",2) { Set To=$$USERNAME^vhUSER(UserGroep,"@",1) Set RerouteTo = ##class(TECH.Config.ConfigMgr).Instance().GetString("ULTOER4_RerouteMailTo") Set:(RerouteTo '= "") To = RerouteTo Set Subject="Zendingen niet in levering" Set strmBody=$$GetHTML(.BONNrs,Opname,Datum) Set Status=$$SendMiniMail^vhLib(From,To,Subject,strmBody,1,1) Set To=$$USERNAME^vhUSER(UserGroep,1) If 'Status Set Warning="Mail niet verzonden!" If Status Set Warning="Mail verzonden." Set Input="CANC" Do WARN^vhTXTPOP(Warning,"") } Quit GetHTML(BONNrs,Opname,Datum) New strmBody,NextRec,NLZRec,KLNr,Node,Palet,Colli,LangGoed,Beloofd,Rembours,VerzW,KlRec,KlNaam,WoonPlaats,Regio,ExtraTeBet #define fmtBeginHtml "" #define fmtBeginTable "" #define fmtEndTable "
" #define fmtEndHtml "" Set strmBody=##class(%GlobalCharacterStream).%New() Do strmBody.Write($$$fmtBeginHtml) Do strmBody.Write("Opname: "_$$USERNAME^vhUSER(Opname,-1)_" - "_$$EXTDATE^vhDTyp(Datum)) Do strmBody.Write("
") Do strmBody.Write("
") Do strmBody.Write($$$fmtBeginTable) Do strmBody.Write("Klnr") Do strmBody.Write("Klant") Do strmBody.Write("Woonplaats") Do strmBody.Write("Regio") Do strmBody.Write("Lev.nr") Do strmBody.Write("Verz.") Do strmBody.Write("Palet") Do strmBody.Write("Colli") Do strmBody.Write("Langg") Do strmBody.Write("Beloofd") Do strmBody.Write("Remb.") Do strmBody.Write("Extra") Set NextRec="" For { Set NextRec=$O(NLZ(NextRec)) Quit:NextRec="" Set NLZRec=NLZ(NextRec) Set KLNr=$P(NLZRec,D),BONNr=$P(NLZRec,D,2),Palet=$P(NLZRec,D,3),Colli=$P(NLZRec,D,4),LangGoed=$P(NLZRec,D,5),Beloofd=$P(NLZRec,D,6),Rembours=$P(NLZRec,D,7),ExtraTeBet=$P(NLZRec,D,8) Set:'Palet Palet="" Set:'Colli Colli="" Set:'LangGoed LangGoed="" Set KlRec=^KKL(^KK1(KLNr),0) Set KlNaam=$P(KlRec,D,2),WoonPlaats=$P(KlRec,D,7),Regio=$P(KlRec,D,20) Set Regio="R"_$TR($J(Regio,2)," ",0) Set Node=$$NODE^FLOWBON(BONNr),VerzW=$P($P($P(^KUL(KLNr,Node,BONNr,1),D,7),"#")," ") Do strmBody.Write("") Do strmBody.Write(""_KLNr_"") Do strmBody.Write(""_" "_KlNaam_"") Do strmBody.Write(""_WoonPlaats_"") Do strmBody.Write(""_Regio_"") Do strmBody.Write(""_$$EXTNUM^vhDTyp(BONNr,0,".",0)_"") Do strmBody.Write(""_VerzW_"") Do strmBody.Write(""_$S(Palet:"*",1:"")_"") Do strmBody.Write(""_$S(Colli:"*",1:"")_"") Do strmBody.Write(""_$S(LangGoed:"*",1:"")_"") Do strmBody.Write(""_Beloofd_"") Do strmBody.Write(""_$S(Rembours:"*",1:"")_"") Do strmBody.Write(""_$S(ExtraTeBet:"*",1:"")_"") Do strmBody.Write("") } Do strmBody.Write($$$fmtEndTable) Do strmBody.Write($$$fmtEndHtml) Quit strmBody Print(Output) New PLD Do INIT^vhLISTO("ULTOER","NLZ",.PLD) Set PLD(10)="" Set PLD(11)="Niet geleverde zendingen\Opname: "_$$USERNAME^vhUSER(Opname,-1) Do PRINT^OUTPUT(.PLD,Output) Do REFRESH Quit