Index: PVStatusOrder.mac.rou =================================================================== diff -u --- PVStatusOrder.mac.rou (revision 0) +++ PVStatusOrder.mac.rou (revision 73192) @@ -0,0 +1,424 @@ +#include BL.Derde.LevSpecifiek +#include vhLib.Macro + ; w $$ShowViaBon^PVStatusOrder(316372) +ShowViaBon(BONNr) + Set KLNr=$P($G(^KU1(BONNr,"F")),"\") + Quit:KLNr="" + Set StraatGemeente=$$GeefCompactAdresVanBon(KLNr,BONNr) + Quit $$Show(KLNr,StraatGemeente,,BONNr) + +Show(KLNr,StraatGemeente,VerzendDatum,MarkBONNr) + Kill Cache,ProductieCache,OrdIndex,OrdCnt,List,Input + Set VerzendDatum=$G(VerzendDatum,+$H) + Set MarkBONNr=$G(MarkBONNr,"*") + Do FetchOrders(KLNr,StraatGemeente,VerzendDatum) + Do FetchReedsOpBon(KLNr,StraatGemeente,VerzendDatum) + ;w ! zw Cache ;, ProductieCache + ;w ! zw OrdIndex + Do GroepBon ; het initieel opsplitsen van orders en prodgroepen zoveel mogelijk groeperen zodat de lijst klein blijft. + Do GroepOrder ; Groeperen van deels nog te produceren en deel geproduceerde laden + ;w ! zw Cache ;, ProductieCache + Do FlattenCache(MarkBONNr) + ;w ! zw List + ;w !!!!!!!!!!!!!!!!! + Set Input=1 + Set:$O(List(""),-1)>1 Input=$$Popup(KLNr) + Quit Input + + +Popup(KLNr) + New Titel,Input + Set Titel=KLNr_" "_$P(^KKL(^KK1(KLNr),0),"\",2) + Do INIT^vhLIST("ULTOER","KLANTVANDAAG",.LD) + Set LD("SELECT")="" + Do WRITE^vhLIST(.LD) + Set Input=$$SCROLL^vhLIST(.LD) + Quit Input + + +FetchOrders(KLNr,StraatGemeente,VerzendDatum) + New ORDNr,OLNr + Set ORDNr="",ORDNr=$O(^KOD(KLNr,"F",ORDNr)) + + While ORDNr'="" + { + If $$GeldigOrder(KLNr,ORDNr,StraatGemeente) + { + W "add order" + Set OLNr="",OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) + While OLNr'="" + { + If $$GeldigOrderlijn(KLNr,ORDNr,OLNr,VerzendDatum) + { + Do AddOrderlijn(KLNr,ORDNr,OLNr) + } + Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) + } + } + Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) + } + Quit + +FlattenCache(MarkBONNr) + New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp,LijnNr,Rec + Set CONSNr="",CONSNr=$O(Cache(CONSNr)) + Set LijnNr=0 + While CONSNr'="" + { + Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) + While ORDNr'="" + { + Set TOENr="",TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) + While TOENr'="" + { + Set ProdGrp="", ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) + While ProdGrp'="" + { Set lb=Cache(CONSNr,ORDNr,TOENr,ProdGrp) + Set Rec="" + Set $P(Rec,"\",1)=$LI(lb,1) ; Aantal lijnen + Set:$LG(lb,2)>0 $P(Rec,"\",2)=$LG(lb,2) ; Aantal laden + Set $P(Rec,"\",3)=CONSNr + Set $P(Rec,"\",4)=ORDNr + Set $P(Rec,"\",5)=TOENr + Set $P(Rec,"\",6)=$LG(lb,9) ; Verzendwijze + Set $P(Rec,"\",7)=$LG(lb,10) ; Product groepen + Set $P(Rec,"\",8)=$$ListToPieces^vhLib($LG(lb,4),";") ; Status + Set $P(Rec,"\",9)=$LG(lb,3) ;Productie tijdstip + Set $P(Rec,"\",10)=$LG(lb,11) ;Dezelfde bon + Set:CONSNr=MarkBONNr $P(Rec,"\",11)=1 ; Markeer + Set List($I(LijnNr))=Rec + + Set ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) + } + Set TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) + } + Set ORDNr=$O(Cache(CONSNr,ORDNr)) + } + Set CONSNr=$O(Cache(CONSNr)) + } + Quit + +GroepBon + New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp,NewProdGrp,NewORDNr,AantalBons,ProdGrpen + + Set CONSNr="",CONSNr=$O(Cache(CONSNr)) + + While CONSNr'="" + { + If CONSNr'="*" + { + Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) + Set TOENr="*" + If $D(Cache(CONSNr,ORDNr,TOENr)) ; Geen toeleveringen meer dus verdichten + { + Set NewProdGrp="*",NewORDNr="*" + While ORDNr'="" + { + Set ProdGrp="", ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) + While ProdGrp'="" + { + If ProdGrp'="*" + { + If '$D(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)) + { + Set Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)=Cache(CONSNr,ORDNr,TOENr,ProdGrp) + Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),1)=0 + Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),2)=0 + } + Set $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),1)=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),1)+$li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1) ; aantal lijnen + Set:ProdGrp="LADE" $li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),2)=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),2)+$li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2) ; aantal laden + + Set ProdGrpen=$lg($g(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp)),10) + Set:ProdGrpen'[ProdGrp ProdGrpen=ProdGrpen_";"_ProdGrp + Set $Li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),10)=ProdGrpen + Set AantalBons=$$AantalBonsVanHetZelfdeOrder(ORDNr) + Set:AantalBons>1 $Li(Cache(CONSNr,NewORDNr,TOENr,NewProdGrp),11)=ORDNr + + Kill Cache(CONSNr,ORDNr,TOENr,ProdGrp) + } + Set ProdGrp=$O(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) + } + Set ORDNr=$O(Cache(CONSNr,ORDNr)) + } + }} + Set CONSNr=$O(Cache(CONSNr)) + } + Quit + +GroepOrder + New CONSNr,LijnNr,ORDNR,TOENr,ProdGrp + + Set CONSNr="",CONSNr=$O(Cache(CONSNr)) + + While CONSNr'="" + { + If CONSNr="*" + { + Set ORDNr="",ORDNr=$O(Cache(CONSNr,ORDNr)) + While ORDNr'="" + { + Set TOENr="", TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) + While TOENr'="" + { + Set ProdGrp="LADE" + If TOENr'="*",$D(Cache(CONSNr,ORDNr,TOENr,ProdGrp)) && $D(Cache(CONSNr,ORDNr,"*",ProdGrp)) ; Deel nog te produceren en deel reeds geproduceerd (zonder toelevering) + { + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+$li(Cache(CONSNr,ORDNr,"*",ProdGrp),1) ; aantal lijnen + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+$li(Cache(CONSNr,ORDNr,"*",ProdGrp),2) ; aantal laden + Set:$lg(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=$lb("Nog te produceren") $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=$lb("Deel nog te prod.") + + Kill Cache(CONSNr,ORDNr,"*",ProdGrp) + } + Set TOENr=$O(Cache(CONSNr,ORDNr,TOENr)) + } + Set ORDNr=$O(Cache(CONSNr,ORDNr)) + } + } + Set CONSNr=$O(Cache(CONSNr)) + } + Quit + + +AantalBonsVanHetZelfdeOrder(ORDNr) + New ZelfdeBon,Cnt + Set ZelfdeBon="",ZelfdeBon=$O(OrdIndex(ORDNr,ZelfdeBon)) + Set Cnt=0 + While ZelfdeBon'="" + { + Set Cnt=Cnt+1 + + Set ZelfdeBon=$O(OrdIndex(ORDNr,ZelfdeBon)) + } + Quit Cnt + + +FetchReedsOpBon(KLNr,StraatGemeente,VerzendDatum) + NEw CONSNr,BONNr,ORDNr,ULNr + Set CONSNr="",CONSNr=$O(^ORDW("IK",KLNr,CONSNr)) + + While CONSNr'="" + { + Set BONNr=CONSNr + Set ORDNr="" + If $$GeldigPicking(KLNr,CONSNr,VerzendDatum) && $$GeldigBon(KLNr,BONNr,StraatGemeente) + { + ;w "add bon" + Set ULNr=99,ULNr=$O(^KUL(KLNr,"F",BONNr,ULNr)) + While ULNr?3.4N + { + If $$GeldigOrderOpBon(KLNr,BONNr,ULNr) + { + Set ORDNr=$P($P(^KUL(KLNr,"F",BONNr,ULNr),"\",5)," -") + Set:ORDNr?6N OrdIndex(ORDNr,BONNr)="",OrdCnt(ORDNr)=$G(OrdCnt(ORDNr))+1 + } + ElseIf $$GeldigBonlijn(KLNr,BONNr,ULNr) + { + Do AddBonlijn(KLNr,BONNr,ULNr) + } + Set ULNr=$O(^KUL(KLNr,"F",BONNr,ULNr)) + } + } + Set CONSNr=$O(^ORDW("IK",KLNr,CONSNr)) + } + Quit + +GeldigBon(KLNr,BONNr,StraatGemeente) + Quit:'$D(^KUL(KLNr,"F",BONNr)) 0 + Quit:$$GeefCompactAdresVanBon(KLNr,BONNr)'=StraatGemeente 0 + Quit 1 + +GeldigPicking(KLNr,BONNr,VerzendDatum) + Set DueOut=$P(^ORDW("D",CONSNr),"\",3) + Quit:VerzendDatum'=+DueOut 0 + Quit 1 + +GeldigBonlijn(KLNr,BONNr,ULNr) + Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) + Quit:$P($P(ULRec,"\",17),"#")'="KF6" 0 ; geen productlijn + Quit:$P(ULRec,"\",3)'>0 0 ; Aantal moet groter zijn dan nul + Quit 1 + +GeldigOrderOpBon(KLNr,BONNr,ULNr) + Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) + Quit:$P($P(ULRec,"\",17),"#")'="KF5" 0 ; orderverwijzing + Quit 1 + +AddBonlijn(KLNr,BONNr,ULNr) + New ULRec,Verzendwijze,Qty,PRNr,ProdGrp,Status,TOENr,TranspLink,TranspNr,TranspBONNr,TranspTijdstip,Transporteur + Set ULRec=^KUL(KLNr,"F",BONNr,ULNr) + Set Verzendwijze=$P($P(^KUL(KLNr,"F",BONNr,1),"\",7)," #") + Set Qty=$P(ULRec,"\",3) + Set PRNr=$P(ULRec,"\",2) + Set ProdGrp=$$ProductGroep(PRNr) + ;Set ORDNr="*" + Set TOENr="*" + Set Status="Geraapt "_$$VertaalTijdstip($P($G(^ORDW("D",BONNr)),"\",19)) + If ProdGrp="OL" + { + Set Verpaktijdstip=$$GeefVerpakTijdstip(BONNr) + If Verpaktijdstip + { + Set Status="Verpakt "_$$VertaalTijdstip(Verpaktijdstip) + } + } + ; op Transport + Set TranspLink=$P(^KUL(KLNr,"F",BONNr,1),"\",8) + Set TranspNr=$P(TranspLink,";") + Set TranspBONNr=$P(TranspLink,";",2) + Set TranspTijdstip="",Transporteur="" + Set:TranspNr&&TranspBONNr Status="Op transport",TranspTijdstip=$P(^TRANSP("D",TranspNr),"\",12),Transporteur=$P(^TRANSP("T",$P(^TRANSP("D",TranspNr),"\",1)),"\") + + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+1 ; aantal lijnen + Set:ProdGrp="LADE" $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+Qty ; aantal laden + Set lbStatus=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),4) + Set:'$lf(lbStatus,Status) lbStatus=lbStatus_$lb(Status) + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=lbStatus + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),5)=TranspNr + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),6)=TranspBONNr + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),7)=TranspTijdstip + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),8)=Transporteur + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),9)=Verzendwijze + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),10)=ProdGrp + Quit + +VertaalTijdstip(Tijdstip) + If $P(Tijdstip,",",1)<$P($H,",",1) Quit "vorige wd" + If $P(Tijdstip,",",1)=$P($H,",",1) Quit "vandaag "_$P($zt($P(Tijdstip,",",2)),":")_"h" + Quit "" + +GeefVerpakTijdstip(BONNr) + New result,SnijTijdstip + + + Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") + Set SnijTijdstip="" + Set sc=result.Prepare("select max(updatetijdstip) as SnijTijdstip from Prod.OptiBox_queue where objtype='L' and objref=? and type='S'") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set sc=result.Execute(BONNr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set x=result.Next(.sc) + If $$$ISERR(sc) Quit "" + Set SnijTijdstip=result.Data("SnijTijdstip") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + + Quit $S(SnijTijdstip="":"",1:$zdth(SnijTijdstip,8)) + +GeldigOrder(KLNr,ORDNr,StraatGemeente) + Quit:$$GeefCompactAdresVanOrder(KLNr,ORDNr)'=StraatGemeente 0 + + Quit 1 + +GeldigOrderlijn(KLNr,ORDNr,OLNr,VerzendDatum) + New OLRec + Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) + Quit:$P($P(OLRec,"\",17),"#")'="KF0" 0 ; geen productlijn + Quit:VerzendDatum<$$GetPickDatum^EWORDS6(ORDNr,OLNr) 0 ; verschillende verzenddatum + Quit:$P(OLRec,"\",3)'>0 0 ; Aantal moet groter zijn dan nul + + Quit 1 + +AddOrderlijn(KLNr,ORDNr,OLNr) + New OLRec,OLUNr,Qty,PRNr,Verzendwijze,ProdGrp,Status,lbStatus,CONSNr,WMSStatus,WMSErrorStatus,TOENr,TLNr + Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) + Set OLUNr=$P(OLRec,"\",15) + Set Qty=$P(OLRec,"\",3) + Set PRNr=$P(OLRec,"\",2) + Set Verzendwijze=$P($P(^KOD(KLNr,"F",ORDNr,1),"\",7)," #") + + Set ProdGrp=$$ProductGroep(PRNr) + Set Status="Nog in order" + + ;Picking + Set CONSNr=$G(^ORDW("IO",ORDNr,OLUNr)) + If CONSNr + { + Set WMSStatus=$P(^ORDW("D",CONSNr),"\",20) + Set Status=$case(WMSStatus,"":"Niet doorgestuurd","W":"Wachten op picking","P":"Wachten op picking","C":"Geraapt maar nog niet op bon","A":"Geraapt maar nog niet op bon",:"Stataus onbekend: "_WMSStatus) + Set WMSErrorStatus=$P(^ORDW("D",CONSNr),"\",21) + Set:WMSErrorStatus'="" Status="In fout" + Set Verzendwijze=$P($P(^ORDW("D",CONSNr),"\",2),"#") + } + Set:CONSNr="" CONSNr="*" + + ; Productie + Set TOENr=$P(OLRec,"\",27) + Set TLNr=$P(OLRec,"\",28) + If (TLNr="KOM") && (Status="Nog in order") + { + Set Status="Geproduceerd" + } + Set ProductieTijdstip="" + If TOENr && (Status="Nog in order") + { + Set:'$D(ProductieCache(TOENr)) ProductieCache(TOENr)=$$GetGeplandProductieEinde(TOENr,TLNr) + Set Status="Nog te produceren" + Set ProductieTijdstip=ProductieCache(TOENr) + } + Set:TOENr="" TOENr="*" + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),1)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),1)+1 ; aantal lijnen + Set:ProdGrp="LADE" $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),2)=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),2)+Qty ; aantal stuks + Set lbStatus=$lg($g(Cache(CONSNr,ORDNr,TOENr,ProdGrp)),4) + Set:'$lf(lbStatus,Status) lbStatus=lbStatus_$lb(Status) + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),4)=lbStatus + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),9)=$$CompactVerzendwijze(Verzendwijze) + Set $Li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),10)=ProdGrp + Set OrdIndex(ORDNr,CONSNr)="",OrdCnt(ORDNr)=$G(OrdCnt(ORDNr))+1 + + If ProductieTijdstip + { + Set OldTijdstip=$lg(Cache(CONSNr,ORDNr,TOENr,ProdGrp),3) + If ( OldTijdstip="" ) || ( $P(OldTijdstip,",")<$P(ProductieTijdstip,",") ) || ( ($P(OldTijdstip,",")=$P(ProductieTijdstip,",")) && ($P(OldTijdstip,",",2)<$P(ProductieTijdstip,",",2)) ) + { + Set $li(Cache(CONSNr,ORDNr,TOENr,ProdGrp),3)= ProductieTijdstip + } + } + + Quit + +CompactVerzendwijze(Verzendwijze) + Set Verzendwijze=$P($P(Verzendwijze,"`"),";") + Quit Verzendwijze + +GetGeplandProductieEinde(TOENr,TLNr) + New TLUNr,result,EindTijdstip + Set TLUNr=$P(^KTO($$$LevHalux,TOENr,TLNr),"\",15) + + ;Write !,ORDNr," ",TOENr," " + + Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") + Set EindTijdstip="" + Set sc=result.Prepare("Select max(EindTijdstip) as EindTijdstip from APPS_Halux_Planning_Pitching_dto.ResourcePitched where ToeleveringNr = ? and IsLeading>0") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set sc=result.Execute(TOENr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set x=result.Next(.sc) + If $$$ISERR(sc) Quit "" + Set EindTijdstip=result.Data("EindTijdstip") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + + Quit $S(EindTijdstip="":"",1:$zdth(EindTijdstip,8)) + +GeefCompactAdresVanBon(KLNr, BONNr) + New StraatGemeente, Rec + Set Rec=$G(^KUL(KLNr,"F",BONNr,3)) + Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) + ;w !,"B:",BONNr," ",StraatGemeente + Quit StraatGemeente + +GeefCompactAdresVanOrder(KLNr, ORDNr) + New StraatGemeente, Rec + Set Rec=$G(^KOD(KLNr,"F",ORDNr,3)) + Set Straat=$P(Rec,"\",5) + Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) + ;w !,"O:",ORDNr," ",StraatGemeente + + Quit StraatGemeente + +ProductGroep(PRNr) + New ProdGrp + Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) + Set:ProdGrp="LBX" ProdGrp="LADE" + Set:ProdGrp="TBX" ProdGrp="LADE" + Set:ProdGrp="MVX" ProdGrp="LADE" + Set:ProdGrp="TA.B" ProdGrp="LADE" + Set:ProdGrp="REST" ProdGrp="BSL" + Set:ProdGrp="BLUM" ProdGrp="BSL" + Quit ProdGrp Index: PVImportLocatieID.mac.rou =================================================================== diff -u -r70681 -r73192 --- PVImportLocatieID.mac.rou (.../PVImportLocatieID.mac.rou) (revision 70681) +++ PVImportLocatieID.mac.rou (.../PVImportLocatieID.mac.rou) (revision 73192) @@ -13,12 +13,13 @@ Set PRNr=$p($G(^KPR2(ItemID_" ")),"\") ;2de column is korttekst Set Code=reader.Column(3) - Set LocPCData=reader.Column(4) - Write ItemID,*9,PRNr,*9,Code - If PRNr,$D(^KPR(PRNr)) + Set LocPCData=$tr(reader.Column(4),"""") + Write ItemID,*9,PRNr,*9,Code,*9,LocPCData + If PRNr,$D(^KPR(PRNr)),$L(LocPCData) { - Do $$$PRSet($$$ControleStatus,Code) + ;Do $$$PRSet($$$ControleStatus,Code) Do $$$PRSet($$$CycleCountTypeWMS,LocPCData) + W " stored" } Else { Index: PVQlikPRHist.mac.rou =================================================================== diff -u --- PVQlikPRHist.mac.rou (revision 0) +++ PVQlikPRHist.mac.rou (revision 73192) @@ -0,0 +1,50 @@ +#include vhLib.Macro +#include Prod.Product +#include BL.Derde.KlantSpecifiek +#include BL.Derde.LevSpecifiek + +HISTEXPORT(Jaar) ; Export van PRHIST (exept werklvoer) naar QLIK + + Set Jaar=$G(Jaar,$$EXTDATE^vhLib.DataTypes($H,"J4")) + Set Device=$$OPEN^vhDEV("\\qlik-prod\PROD storage\2. Import\Logistiek","Admin PRHIST export "_Jaar_".txt","W","T") + Use Device + Write "DerdeNr PRNr Identnummer Korttekst Actie Magazijn Aantal Tijdstip" + Write *9,"AxConfigId",*9,"AxInventTransId",*9,"AxItemId",*9,"FSCClaim",*9,"FaktRcpNr",*9,"MoederFSCClaim" + Write *9,"MoederPRNr",*9,"MoederKorttekst",*9,"Omschrijving",*9,"UitToeLevDatum",*9,"UitToeLevNr",! + Set Vanaf=$zdh(Jaar_"0101",8) + Set Tot=$zdh(Jaar_"1231",8) + Set Cnt=0 + Set PRNr="" + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do + . Set Key="" + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + .. Set Rec=^PRHIST(PRNr,Key) + .. Set Tijdstip=$P(Rec,"\") + .. Quit:+TijdstipTot + .. Set Magazijn=$P(Rec,"\",5) + .. Quit:Magazijn="W" + .. Set Qty=$P(Rec,"\",2) + .. Set Ref=$P(Rec,"\",7) + .. Set DerdeNr=$P(Rec,"\",6) + .. Set Actie=$P(Rec,"\",4) + .. Set AxConfigId=$P(Rec,"\",20) + .. Set AxInventTransId=$P(Rec,"\",19) + .. Set AxItemId=$P(Rec,"\",21) + .. Set FSCClaim=$P(Rec,"\",17) + .. Set FaktRcpNr=$P(Rec,"\",10) + .. Set MoederFSCClaim=$P(Rec,"\",18) + .. Set MoederPRNr=$P(Rec,"\",15) + .. Set Omschrijving=$P(Rec,"\",11) + .. Set UitToeLevDatum=$P(Rec,"\",9) + .. Set UitToeLevNr=$P(Rec,"\",7) + .. Write DerdeNr,*9,PRNr,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst) + .. Write *9,Actie,*9,Magazijn,*9,$$$ExcelNum(Qty) + .. Write *9,$zdt(Tijdstip) + .. Write *9,AxConfigId,*9,AxInventTransId,*9,AxItemId,*9,FSCClaim,*9,FaktRcpNr,*9,MoederFSCClaim + .. Write *9,MoederPRNr,*9,$S(MoederPRNr?4.10N&&($D(^KPR(MoederPRNr,0))):$$$ProductGet(MoederPRNr,$$$KortTekst),1:"") + .. Write *9,Omschrijving,*9,$$$ExcelDat(UitToeLevDatum),*9,UitToeLevNr + .. Write ! + Do CLOSE^vhDEV(Device) + Write Cnt + Quit Index: PV.mac.rou =================================================================== diff -u -r70681 -r73192 --- PV.mac.rou (.../PV.mac.rou) (revision 70681) +++ PV.mac.rou (.../PV.mac.rou) (revision 73192) @@ -7,6 +7,7 @@ HFL Read "Klant:",HflKlant + Set HflKlant=$$TrimBeginOfText^vhLib($$TrimEndOfText^vhLib(HflKlant)) Do NL(HflKlant) Do BE(HflKlant) Quit @@ -20,6 +21,25 @@ do ##class(zTryout.JWI.Haefele.UrlGenerator).%New().GenereerEen(7,"k0uGXfFcFjZZFa7InVf7aw--",Klant) Quit +CORRVOORRAAD + ;Correctie voorraad indien verschil KPR <-> PRSTOCK + Set ObjtFase=##class(OBJTimpl.CheckObjectiveFase).%New() + set Device=$$OPEN^vhDEV(,"Voorraad zonder orders.txt","W","T") + Use Device + Write "PRNr Korttekst Voorraad Direct=1",! + Set PRNr=0 + For Set PRNr=$O(^PRSTOCK("D",PRNr)) Quit:PRNr="" Do + . Quit:'$D(^KPR(PRNr)) + . Quit:(+$P(^PRSTOCK("D",PRNr),"\"))=0 + . Quit:ObjtFase.VoorraadSync(PRNr,"VHBE")=1 + . Quit:$D(^ORD("IP",PRNr))>0 + . Set MPRNr=0 + . For Set MPRNr=$O(^PRBS("IP",PRNr,MPRNr)) Quit:MPRNr="" Quit:$D(^ORD("IP",MPRNr))>0 + . Quit:MPRNr'="" + . Write PRNr,*9,$$$PRGet($$$KortTekst),*9,$P(^PRSTOCK("D",PRNr),"\"),*9,MPRNr="",! + D CLOSE^vhDEV(Device) + q + HISTTAB(Jaar) Set Jaar=$G(Jaar,2022) Set Device=$$OPEN^vhDEV(,"TAB productie.txt","W","T") @@ -56,22 +76,69 @@ Do CLOSE^vhDEV(Device) Write Cnt Quit - -HISTEXPORT() - Set Device=$$OPEN^vhDEV(,"HIST export.txt","W","T") +HISTKarton + ;Set Jaar=$G(Jaar,$$EXTDATE^vhLib.DataTypes($H,"J4")) + Set Vanaf=$$CALCDATE^vhLib.DataTypes($H,"BJ","FD",-4) + Set Tot=$$CALCDATE^vhLib.DataTypes($H,"BJ","LD",-4) + Write $zd(Vanaf,8)," - ",$zd(Tot,8),! + Set Device=$$OPEN^vhDEV(,"Karton hist "_$$EXTDATE^vhLib.DataTypes($P(Tot,","),"BJ")_".txt","W","T") Use Device + Write "PRNr Identnummer Korttekst Actie Magazijn Aantal Waarde Tijdstip" + Write *9,"LevNr",*9,"LevNm",! + Set Cnt=0 + Set PRNr="" + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do:($D(^KPR(PRNr,"J6317"))||$D(^KPR(PRNr,"J8910"))||$D(^KPR(PRNr,"J7631"))||$D(^KPR(PRNr,"J7012"))) + . Set Key="" + . Set LevNr=$$$PRGet($$$LeveranciersNr) + . Set LevNm=$P(^KLE(^KL1(LevNr),0),"\",2) + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + .. Set Rec=^PRHIST(PRNr,Key) + .. Set Tijdstip=$P(Rec,"\") + .. Quit:+TijdstipTot + .. Set Magazijn=$P(Rec,"\",5) + .. Quit:Magazijn'="W" + .. Set Qty=$P(Rec,"\",2) + .. Set Ref=$P(Rec,"\",7) + .. Set DerdeNr=$P(Rec,"\",6) + .. Set Actie=$P(Rec,"\",4) + .. Set AxConfigId=$P(Rec,"\",20) + .. Set AxInventTransId=$P(Rec,"\",19) + .. Set AxItemId=$P(Rec,"\",21) + .. Set FSCClaim=$P(Rec,"\",17) + .. Set FaktRcpNr=$P(Rec,"\",10) + .. Set Waarde=$P(Rec,"\",12) + .. Set MoederFSCClaim=$P(Rec,"\",18) + .. Set MoederPRNr=$P(Rec,"\",15) + .. Set Omschrijving=$P(Rec,"\",11) + .. Set UitToeLevDatum=$P(Rec,"\",9) + .. Set UitToeLevNr=$P(Rec,"\",7) + .. Write PRNr,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst) + .. Write *9,Actie,*9,Magazijn,*9,$$$ExcelNum(Qty),*9,$$$ExcelNum(Waarde) + .. Write *9,$$$ExcelDat($P(Tijdstip,",")),*9,LevNr,*9,LevNm,*9,$$EXTDATE^vhLib.DataTypes($P(Tijdstip,","),"BJ") + .. Write ! + Do CLOSE^vhDEV(Device) + Write Cnt + Quit +HISTEXPORT(Jaar) + Set Jaar=$G(Jaar,$$EXTDATE^vhLib.DataTypes($H,"J4")) + Set Vanaf=$$CALCDATE^vhDTyp($H,"BJ","FD",-4) + Set Tot=$$CALCDATE^vhDTyp($H,"BJ","LD",-1) + Write $zdh(Vanaf,8)," - ",$zdh(Tot,8),! + Set Device=$$OPEN^vhDEV(,"Karton hist.txt","W","T") + Use Device Write "DerdeNr PRNr Identnummer Korttekst Actie Magazijn Aantal Tijdstip" Write *9,"AxConfigId",*9,"AxInventTransId",*9,"AxItemId",*9,"FSCClaim",*9,"FaktRcpNr",*9,"MoederFSCClaim" Write *9,"MoederPRNr",*9,"MoederKorttekst",*9,"Omschrijving",*9,"UitToeLevDatum",*9,"UitToeLevNr",! - Set Vanaf=$zdh(2018_"0701",8) Set Cnt=0 Set PRNr="" - For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do:($D(^KPR(PRNr,"J7631"))||$D(^KPR(PRNr,"J7012"))) . Set Key="" . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do .. Set Rec=^PRHIST(PRNr,Key) .. Set Tijdstip=$P(Rec,"\") .. Quit:+TijdstipTot .. Set Magazijn=$P(Rec,"\",5) .. Quit:Magazijn="W" .. Set Qty=$P(Rec,"\",2) @@ -95,7 +162,6 @@ .. Write *9,MoederPRNr,*9,$S(MoederPRNr?4.10N&&($D(^KPR(MoederPRNr,0))):$$$ProductGet(MoederPRNr,$$$KortTekst),1:"") .. Write *9,Omschrijving,*9,$$$ExcelDat(UitToeLevDatum),*9,UitToeLevNr .. Write ! - Do CLOSE^vhDEV(Device) Write Cnt Quit @@ -208,9 +274,31 @@ . Write VerzendW,*9,$$$ExcelTime($p(Rec,"`",4)),*9,$$$ExcelTime($p(Rec,"`",13)),*9,$$$ExcelTime($p(Rec,"`",16)),*9,$TR(Rec,"`",$c(9)),! Do CLOSE^vhDEV(Device) q + +SubMag + Set PRNr="" + Set Cnt=0 + Kill Cache + Set Device=$$OPEN^vhDEV(,"SubMag Verzendwijze.txt","W","T") + Use Device + Write "PRNr IdentNr Korttekst SubMag Oms Verzendwijze #St 100d #L 100d HerbestelAfrCode HerbestelAfrAantal HerbestelSurplus",! + For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do ;Quit:Cnt=100 + . Set Cnt=Cnt+1 + . Set BSKey="" + . ;Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) + . Set SubMag=$$$PRGet($$$WerkvloerSubMag) + . Quit:SubMag="" + . Do HISTO^STAT(PRNr,$H-100,$H,"T","M",.Cumul,.Aantal) + . Quit:'Cumul + . Set VerzendWijze=$P($G(^RES("PRODUKT","PI","HFWVSUBMAG","D",SubMag)),"`",4) ; Vertaling naar een code voor HALUX TRANSFER verzendwijze + . Set SubMagOms=$P($G(^RES("PRODUKT","PI","HFWVSUBMAG","D",SubMag)),"`",2) ; Vertaling naar een code voor HALUX TRANSFER verzendwijze + . Set VerzendWijze=$S(VerzendWijze'="":"TH"_VerzendWijze,1:"HLX") + . Set WvAfrCode=$$$PRGet($$$WerkvloerHerbestelAfronding) + . Set WvAfrAantal=$$GETVPK^MRP(PRNr,WvAfrCode,1) + . Write PRNr,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst),*9,SubMag,*9,SubMagOms,*9,VerzendWijze,*9,-Cumul,*9,Aantal,*9,WvAfrCode,*9,WvAfrAantal,*9,$$$PRGet($$$WerkvloerHerbestelAantal),! + Do CLOSE^vhDEV(Device) + Quit - - KostenplaatsGebruik Set PRNr="" Set Cnt=0 @@ -3166,97 +3254,5 @@ . Write $$SORTKEY^PRODUKT(PRNr),*9,PRNr,*9,$P(^KPR(PRNr,0),"\"),*9,$TR(Norm,".",","),*9,$TR(Schaduw,".",","),! Close:Dev'=0 Dev Quit -CtrlProdDeBetho - Set Dev=0 - Set Dev=$$OPEN^vhDEV(,"PrijsvglDeBetho.txt","W") - Use Dev - - S PRNr="" - For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do - . Set Qty=$$PROD^STAT(PRNr,0,"2007.08 ","2008.08 ",1) - . ;Quit:Qty<1 - . Quit:$$$PRGet($$$NONAktief)=1 - . Quit:'$D(^KPR(PRNr,"J5529")) - . Set Schaduw=$$$PRGet($$$SchaduwPPL) - . Set Norm=$$$PRGet($$$PPLMTL) - . Write $$SORTKEY^PRODUKT(PRNr),*9,$P(^KPR(PRNr,2),"\",25),*9,PRNr,*9,$P(^KPR(PRNr,0),"\"),*9,$TR(Norm,".",","),*9,$TR(Schaduw,".",","),! - Close:Dev'=0 Dev - Quit - -Ninka - Set Dev=0 - - S PRNr="" - For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do - . Quit:$$$PRGet($$$NONAktief)=1 - . Quit:'$D(^KPR(PRNr,"J6118")) - . Set KortT=$P(^KPR(PRNr,0),"\") - . Set Opslag=$S($E(KortT,1,3)="AFV":2.5,1:4) - . Set Prijs=$$$PRGet($$$SchaduwPPL) - . Set:Prijs="" Prijs=$$$PRGet($$$PPLMTL) - . Set SPrijs=+$J(Prijs*(1+(Opslag/100)),0,2) - . Write PRNr," ",$P(^KPR(PRNr,0),"\")," ",$$$PRGet($$$PPLMTL),"->",Prijs," + ",Opslag,"% = ",SPrijs,! - . Do $$$PRSet($$$SchaduwPPL,SPrijs) - Quit - -Prijs(KlantProdID) - d MASTER^cQ5 - S Q="K" - s D="\",U=";" - S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" - s DT="26.09.08" - Set KLNr=$P(KlantProdID,"\") - Set ProdID=$P(KlantProdID,"\",2) - q "OK:"_IDNr_";"_SchaduwPPL - -SchadDB(String) - S Q="K" - s D="\",U=";" - S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" - s DT="01.09.08" - Set IDNr=$$TRIMN^vhRtn1($P(String,"$")) - Set Schaduw=$P(String,"$",2) - Set PRNr=$P($G(^KPR2($TR(IDNr,". ","")_" ")),"\") - Quit:'SchaduwDB "NO DB"_IDNr_";"_$G(SchaduwDB) - Quit:PRNr="" "NOT FOUND:"_IDNr_";"_$G(SchaduwDB) - ;d WLIP^vhDBG(15,IDNr_" "_SchaduwDB) - Do $$$PRSet($$$SchaduwDBPerc,SchaduwDB) - q "OK:"_IDNr_";"_SchaduwDB - -SchadPPL(String) - S Q="K" - s D="\",U=";" - S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" - s DT="01.09.08" - Set IDNr=$$TRIMN^vhRtn1($P(String,"$")) - Set SchaduwPPL=$P(String,"$",2) - Quit:'SchaduwPPL "NO DB"_IDNr_";"_$G(SchaduwPPL) - Set PRNr=$P($G(^KPR2($TR(IDNr,".","")_" ")),"\") - Quit:PRNr="" "NOT FOUND:"_IDNr_";"_$G(SchaduwPPL) - ;d WLIP^vhDBG(15,IDNr_" "_SchaduwPPL) - Do $$$PRSet($$$SchaduwPPL,SchaduwPPL) - q "OK:"_IDNr_";"_SchaduwPPL - -Kaderdeur - Set MPRNr="" - For Set MPRNr=$O(^PRBS("BS",MPRNr)) Quit:MPRNr="" Do - . Quit:$P($G(^PRBS("BS",MPRNr)),"\",2)'="KAD" - . Quit:'$$PROD^STAT(MPRNr,0,"2007.08 ","2008.07 ",1) - . Set BSKey="" - . Set Found=0 - . For Set BSKey=$O(^PRBS("BS",MPRNr,BSKey)) Quit:BSKey="" Do - . . Set BSRec=^PRBS("BS",MPRNr,BSKey) - . . Set Oms=$zcvt($P(BSRec,D,13),"U") - . . If Oms="VULLING ENERGIETOESLAG" Do - . . . Set:$P(BSRec,"\",9)="" Found=1 - . . If Oms="VULLING" Do - . . . Set:$P(BSRec,"\",9)="" Found=1 - . Quit:'Found - . Write MPRNr,*9,$P(^KPR(MPRNr,0),"\"),! - Quit - - - - - +