Index: HADOPV.mac.rou =================================================================== diff -u -r58618 -r70681 --- HADOPV.mac.rou (.../HADOPV.mac.rou) (revision 58618) +++ HADOPV.mac.rou (.../HADOPV.mac.rou) (revision 70681) @@ -944,16 +944,17 @@ Quit sEr ; Automatisch markeren van toeleveringslijnen -AutoMarkOn +AutoMarkOn(SetBatches) New %SC,Beperking,Datum,DagDeel,Next - Set Beperking=$P(LimRec,D,12),Datum=$$CALCDATE^vhLib.DataTypes(,"A",+Beperking),DagDeel=$E(Beperking,$L(Beperking)) + Set Beperking=$P(LimRec,D,12),Werkdagen=2,Datum=$$CALCDATE^vhLib.DataTypes(,"A",Werkdagen),DagDeel=$E(Beperking,$L(Beperking)) Set:Datum="" Datum=+$H Set:DagDeel="" DagDeel="N" Do NIEUW^vhScherm("HADOPVBEPTRM",,,,,,3,"A") If %SC { - Set AutoMark=1,Batches="TX ;TP " + Set AutoMark=1,Batches=$G(SetBatches,"TX ;TP ") If 'Datum Set Beperking="" Else Set Beperking=Datum_$S(DagDeel="V":",43200",1:"") Set DispMode="O" + Do ##class(vhLib.Logger).%New("HADOPV").Info("Automatisch klaarzetten","Batches:"_Batches_"; klaarzetten tem datum:"_ $zd(Datum,4)_"; diff kalender dagen:"_(Datum-$H)_" ("_$$EXTDATE^vhLib.DataTypes($H,"DC")_" -> "_$$EXTDATE^vhLib.DataTypes(Datum,"DC")_"); dagdeel:"_DagDeel) ; Nieuwe toeleveringen ophalen en activeren van de reservatie van de halffabrikaten Do REFRESH^HADSTAT2(LEVNr,"T") Index: OBJTimpl/WMSOrder/OphalenVoorraadKlaargezetHLX.cls.xml =================================================================== diff -u --- OBJTimpl/WMSOrder/OphalenVoorraadKlaargezetHLX.cls.xml (revision 0) +++ OBJTimpl/WMSOrder/OphalenVoorraadKlaargezetHLX.cls.xml (revision 70681) @@ -0,0 +1,169 @@ + + + +Prod.Product +TECH.RegisteredObject,TECH.Iterator + + +AXimpl.Controle.Order.Ax.AxOrderLijnConverter +1 + + + +TECH.ResultSet +1 + + + +%SQLGatewayConnection +1 + + + +TECH.Config.ConfigMgr +1 + + + + + + + + + + + +ConfigMgr:TECH.Config.ConfigMgr="" +1 +1 +%Status +1 + + + + +1 +1 +%Status +1 + + + + +OBJTItemID + + + + +OBJTItemID +1 +%ResultSet + + + + +PRNr + + + + +PRNr,PlusMin + + + + +1 + + + + + + Index: HADSTAT2.mac.rou =================================================================== diff -u -r29059 -r70681 --- HADSTAT2.mac.rou (.../HADSTAT2.mac.rou) (revision 29059) +++ HADSTAT2.mac.rou (.../HADSTAT2.mac.rou) (revision 70681) @@ -128,6 +128,7 @@ .Set:$P(GenRec,D)="PRF" Montage="PR" ; Losse profielen .Set:$P(GenRec,D)="TBX" Montage="T"_$S($P(GenRec,D,2)="PR+":"K",$P(GenRec,D,2)="PRO":"P",1:"X") ; Tandembox (std en pro) .Set:$P(GenRec,D)="LBX" Montage="L"_$S($P(GenRec,D,2)="STD":"X",1:"P") ; Legrabox(std en pro) + .Set:$P(GenRec,D)="MVX" Montage="M"_$S($P(GenRec,D,2)="STD":"X",1:"P") ; Merivobox(std en pro) .Set:$P(GenRec,D)="TAO" Montage="TA" ; TA'OR (std en pro) .Set:$P(GenRec,D,1,2)="TBX\BBX" Montage="BB" ; Burobox .Set:$P(GenRec,D,1,2)="DIV\POM" Montage="PM" ; Producten op maat @@ -179,6 +180,7 @@ .Set:(Soort="DV") $E(Batch,3)="D" ; Diverse aparte batch "..D" .Set:($E(Soort)="T") Batch=$E(Soort,1,2)_" " ; Tandembox en TA'OR BOX .Set:($E(Soort)="L") Batch=$E(Soort,1,2)_" " ; Legrabox + .Set:($E(Soort)="M") Batch=$E(Soort,1,2)_" " ; Merivobox .Set:(Soort="VM")||(Soort="PM")||(Soort="GM")||(Soort="BB")||(Soort="MM") Batch=Soort_" " .Set $P(Rec,D,1)=Batch .Set:LevWk=ProdWk $P(Rec,D,2)="A" @@ -188,7 +190,12 @@ .Merge ^HADPR("B",Batch)=Batches(Batch) Else Do ; Creatie batch met default informatie .Set Rec="Week "_$$EXTDATE^vhLib.DataTypes(ProdWk,"W")_" "_$S($E(Batch,3)="B":"Banco",$E(Batch,3)="P":"Profiel",$E(Batch,3)="D":"Diverse",$E(Batch,3)="Z":"Proforma/Herstelling",1:"basis") - .Set $P(Rec,D,2)=$H + .Set:$E(Soort)="T" Rec="TBX "_$S($E(Soort,2)="X":"V1",1:"Probox,...") + .Set:$E(Soort)="L" Rec="LBX "_$S($E(Soort,2)="X":"V1",1:"Probox,...") + .Set:$E(Soort)="M" Rec="MVX "_$S($E(Soort,2)="X":"V1",1:"Probox,...") + .Set:$E(Soort,1,2)="MM" Rec="Mat op maat" + .Set:$E(Soort,1,2)="TA" Rec="TAX" + .Set $P(Rec,D,2)=$H .Set $P(Rec,D,3)=$$CALCDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes(ProdWk,"W","FD"),"A","-0") .Set $P(Rec,D,4)=$$CALCDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes(ProdWk,"W","LD"),"A","+0") .Set ^HADPR("B",Batch)=Rec Index: OBJTimpl/WMSOrder/VerdeelSOPRVoorraad.cls.xml =================================================================== diff -u -r69296 -r70681 --- OBJTimpl/WMSOrder/VerdeelSOPRVoorraad.cls.xml (.../VerdeelSOPRVoorraad.cls.xml) (revision 69296) +++ OBJTimpl/WMSOrder/VerdeelSOPRVoorraad.cls.xml (.../VerdeelSOPRVoorraad.cls.xml) (revision 70681) @@ -17,6 +17,17 @@ %String + + + + + +%String + + %Decimal @@ -53,13 +64,20 @@ %ResultSet + +OBJTimpl.CheckObjectiveFase +1 + + Entiteit:%String,OBJTItemID:%String %Status @@ -155,12 +172,20 @@ Index: OBJTimpl/WMSOrder/OphalenGeraapteVoorraadNiveau.cls.xml =================================================================== diff -u -r68860 -r70681 --- OBJTimpl/WMSOrder/OphalenGeraapteVoorraadNiveau.cls.xml (.../OphalenGeraapteVoorraadNiveau.cls.xml) (revision 68860) +++ OBJTimpl/WMSOrder/OphalenGeraapteVoorraadNiveau.cls.xml (.../OphalenGeraapteVoorraadNiveau.cls.xml) (revision 70681) @@ -115,8 +115,12 @@ _" where task.CATEGORY = 'PICK' " _" and task.substatus is null" _" and task.dtsstop>dateadd(day,-7,GetDate()) " - _" and wh.NAME not in ('ST','KZ','KLZ') " + _" and outboundOrder.id not like 'HK%' " + _" --and wh.NAME not in ('ST','KZ','KLZ') " _" group by outboundOrder.id, op.name,it.Name " + + + ; Orders in OBJT waarvan de PICK taak beëidigd is minder dan 7 dagen geleden. try { Do rs.Prepare(SqlStatement,,..SqlConnection) Index: OBJTimpl/WMSOrder/dtoCorrelatePicking.cls.xml =================================================================== diff -u -r66600 -r70681 --- OBJTimpl/WMSOrder/dtoCorrelatePicking.cls.xml (.../dtoCorrelatePicking.cls.xml) (revision 66600) +++ OBJTimpl/WMSOrder/dtoCorrelatePicking.cls.xml (.../dtoCorrelatePicking.cls.xml) (revision 70681) @@ -31,8 +31,7 @@ -%TimeStamp - +%String Index: OBJTimpl/WMSOrder/ImporteerVoorraadNiveau.cls.xml =================================================================== diff -u -r68860 -r70681 --- OBJTimpl/WMSOrder/ImporteerVoorraadNiveau.cls.xml (.../ImporteerVoorraadNiveau.cls.xml) (revision 68860) +++ OBJTimpl/WMSOrder/ImporteerVoorraadNiveau.cls.xml (.../ImporteerVoorraadNiveau.cls.xml) (revision 70681) @@ -12,6 +12,10 @@ dtoCorrelateVoorraadNiveau + +OBJTimpl.PM.OBJTIdentLookupService + + vhLib.Logger @@ -33,19 +37,16 @@ -]]> + +d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).%New().BepaalGepickteMaarNietAfgemeldeAantallen() XMLreader:%XML.Reader + +(..Vandaag-30) Kill ^OBJTVoorraad(Datum) + + Kill ^OBJTVoorraad(..Vandaag) + + Set ^OBJTVoorraad=$H_"\"_$zdt($H,8) + Set ^OBJTVoorraad(..Vandaag)=$H_"\"_$zdt($H,8) +]]> + + voorraad correctie + If $D(^ORDW("D",CONSNr)) && (StatusBON'="B") ;nog niet op bon maar wel al geraapt -> geen echte correctie omdat ook klaargezette (gepickte) voorraad wordt mee geteld tot dat het outboundorder in OBJT wordt beëindigd. { - Set ^OBJTVoorraad("CORR",..Vandaag,ItemID,Entiteit)=$G(^OBJTVoorraad("CORR",..Vandaag,ItemID,Entiteit))+Aantal + Set ^OBJTVoorraad(..Vandaag,"CORR2",ItemID,Entiteit)=$G(^OBJTVoorraad(..Vandaag,"CORR2",ItemID,Entiteit))+Aantal } } ]]> + + +d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).%New().BepaalGepickteMaarNietOpBon() + + + XMLreader:%XML.Reader @@ -125,20 +182,21 @@ #dim rs as %ResultSet Set itVerdeler=##class(OBJTimpl.WMSOrder.VerdeelSOPRVoorraad).%New(..pxVoorraad.Entiteit,..pxVoorraad.ItemId) ;w !,..pxVoorraad.Entiteit," ",..pxVoorraad.ItemId - #dim VoorraadCorrectie as %Decimal=$G(^OBJTVoorraad("CORR",..Vandaag,..pxVoorraad.ItemId,..pxVoorraad.Entiteit)) + + #dim PickingCorrectie as %Decimal=$G(^OBJTVoorraad(..Vandaag,"CORR",..pxVoorraad.ItemId,..pxVoorraad.Entiteit)) Set ..pxVoorraad.AantalAdmin=itVerdeler.GeefOudeVoorraad() - If ..pxVoorraad.Aantal'=..pxVoorraad.AantalAdmin + If ..pxVoorraad.Aantal'=(..pxVoorraad.AantalAdmin-PickingCorrectie) { ;Write " = ",..pxVoorraad.Aantal," <-> ", ..pxVoorraad.AantalAdmin - Do itVerdeler.Verdeelvoorraad(..pxVoorraad.Aantal-..pxVoorraad.AantalAdmin,"N","OBJT nachtelijk sync") + Do itVerdeler.Verdeelvoorraad(..pxVoorraad.Aantal-..pxVoorraad.AantalAdmin,"N","OBJT nachtelijk sync"_$S(PickingCorrectie:" (corr:"_PickingCorrectie_")",1:"")) } Do ..MarkeerVerwerkteProducten() ]]> @@ -157,67 +215,94 @@ + +Entiteit:%String,PRNr:%String +0) && ($$$PRGet($$$OpslagZone)<5) && ($$$PRGet($$$WerkvloerSubMag)'="RVGPLM") + } + Quit Geldig +]]> + + Entiteit:%String,PRNr:%String,Voorraadwijziging:%Decimal 0 -d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).Export() -1 +d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).New().Export() Datum:%Integer 0 -d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).%New().MailDiff() +d ##class(OBJTimpl.WMSOrder.ImporteerVoorraadNiveau).%New().MailDiff($H-1) +Datum Admin" - Set strmBody=..GetDiffInHTML() + Set Subject="Voorraadverschillen OBJT <-> Admin "_$zd(Datum,2) + + Do ..Logger.Debug("OBJT_StockDiff","MailDiff voor Datum '"_Datum_"' of leesbaar '"_$zd(Datum,2)_"'.") + + Set strmBody=..GetDiffInHTML(Datum) + Quit:strmBody="" + + Do ..Logger.Debug("OBJT_StockDiff","MailDiff met strmBody (size="_$Length(strmBody)_").") + Set Status=$$SendMiniMail^vhLib(From,To,Subject,strmBody,1,1) - If 'Status Set Warning="Mail niet verzonden!" - If Status Set Warning="Mail verzonden." + If 'Status + { + Do ##class(vhLib.Logger).%New("OBJT_WMS").Error("Diff mail niet verzonden","") + } + + Do ..Logger.Debug("OBJT_StockDiff","MailDiff resultaat van SendMiniMail = '"_$$ParseStatus^vhLib(Status)_"'.") ]]> +Datum " @@ -257,36 +355,72 @@ Do strmBody.Write("OBJT") Do strmBody.Write("Admin") Do strmBody.Write("Diff") + Do strmBody.Write("Corr. picking") + Do strmBody.Write(""_$zd(Datum-1,2)_"") + Do strmBody.Write(""_$zd(Datum-2,2)_"") + Do strmBody.Write(""_$zd(Datum-3,2)_"") + Do strmBody.Write(""_$zd(Datum-4,2)_"") + Do strmBody.Write(""_$zd(Datum-5,2)_"") + Do strmBody.Write("Opmerking") Do strmBody.Write("") - Set ItemID=$O(^OBJTVoorraad("D",Datum,"")) + Set PRNr=$O(^OBJTVoorraad(Datum,"VERWERKT","")) Set Entiteit="VHBE" - While ItemID'="" + Set Cnt=0 + Kill ^||Voorraad + While PRNr'="" { - If $LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),2)'=$LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),3) + If $D(^OBJTVoorraad(Datum,"VERWERKT",PRNr,Entiteit)) && ($LI(^OBJTVoorraad(Datum,"VERWERKT",PRNr,Entiteit),2)'=($LI(^OBJTVoorraad(Datum,"VERWERKT",PRNr,Entiteit),3)-$LI(^OBJTVoorraad(Datum,"VERWERKT",PRNr,Entiteit),4))) { - Set it=OBJTService.GeefAdminIdentNrs(ItemID) - Set Txt="" - While it.HasNext() + Set lb=^OBJTVoorraad(Datum,"VERWERKT",PRNr,Entiteit) + Set $LI(lb,10)=PRNr + Set ^||Voorraad($$SORTKEY^PRODUKT(PRNr))=lb + } + Set PRNr=$O(^OBJTVoorraad(Datum,"VERWERKT",PRNr)) + } + + + Set Key=$O(^||Voorraad("")) + Set Cnt=0 + While Key'="" + { + Set Cnt=Cnt+1 + Set PRNr=$LI(^||Voorraad(Key),10) + Set OBJTItemID=$LI(^||Voorraad(Key),1) + Set IdentNummer=$$$PRGet($$$IdentNummer) + Do strmBody.Write("") + Do strmBody.Write(""_OBJTItemID_$S(OBJTItemID'=IdentNummer:"("_IdentNummer_")",1:"")_"") + Do strmBody.Write(""_$$$PRGet($$$KortTekst)_"") + Do strmBody.Write(" "_$LI(^||Voorraad(Key),2)_" ") + Do strmBody.Write(" "_$LI(^||Voorraad(Key),3)_" ") + Do strmBody.Write(" "_($LI(^||Voorraad(Key),2)-$LI(^||Voorraad(Key),3))_" ") + Do strmBody.Write(" "_$LI(^||Voorraad(Key),4)_" ") + + Set HistDatum=Datum-1 + While HistDatum>(Datum-6) + { + If $D(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit)) && ($LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),2)'=($LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),3))-$LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),4)) { - Set rs=it.Next() - Set Txt=Txt_"; "_rs.Data("KortTekst") + Do strmBody.Write(" "_($LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),2)-($LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),3))-$LI(^OBJTVoorraad(HistDatum,"VERWERKT",PRNr,Entiteit),4))_" ") } - - Do strmBody.Write("") - Do strmBody.Write(""_ItemID_"") - Do strmBody.Write(""_$E(Txt,2,99)_"") - Do strmBody.Write(""_$LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),2)_"") - Do strmBody.Write(""_$LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),3)_"") - Do strmBody.Write(""_($LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),2)-$LI(^OBJTVoorraad("D",Datum,ItemID,Entiteit),3))_"") - Do strmBody.Write("") + Else + { + Do strmBody.Write("") + } + Set HistDatum=HistDatum-1 } - Set ItemID=$O(^OBJTVoorraad("D",Datum,ItemID)) + + Do strmBody.Write(""_$S($LG(^||Voorraad(Key),5)'="":$LG(^||Voorraad(Key),5),'..CheckOBJTFase.VoorraadSync(PRNr,Entiteit):"Voorraad niet toegelaten in OBJT",1:"")_"") + Do strmBody.Write("") + + Set Key=$O(^||Voorraad(Key)) } Do strmBody.Write($$$fmtEndTable) Do strmBody.Write($$$fmtEndHtml) - Quit strmBody + Do ..Logger.Debug("OBJT_StockDiff","GetDiffInHTML aantal items : Cnt='"_Cnt_"'.") + + Quit $S(Cnt:strmBody,1:"") ]]> Index: PVExcel.mac.rou =================================================================== diff -u -r57529 -r70681 --- PVExcel.mac.rou (.../PVExcel.mac.rou) (revision 57529) +++ PVExcel.mac.rou (.../PVExcel.mac.rou) (revision 70681) @@ -284,6 +284,62 @@ } Quit Resultaat + ; =ceRoutine("$$ChangeOneBS^PVExcel";mm&"\"&xx&"\"&yy) +ChangeOneBS(Ref) + ; Ref = MPRNr_"\"_VanPRNr_"\"_NaarPRNr + Set D="\",Q="K",U=";" + S QU="JB",QU(1)=17,QU(2)="Johan Baetsl�" + + s DT=$$EXTDATE^vhLib.DataTypes($H,"DKP") + Set MPRNr=$$GetPRNr($P(Ref,"\",1)) + Quit:MPRNr="" "#no moeder prod" + Set VanPRNr=$$GetPRNr($P(Ref,"\",2)) + Quit:VanPRNr="" "#no VAN prod" + Set NaarPRNr=$$GetPRNr($P(Ref,"\",3)) + Quit:NaarPRNr="" "#no NAAR prod" + ;w MPRNr," ",VanPRNr," ",NaarPRNr + Quit $$ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + + ; =ceRoutine("$$ChangeAllBS^PVExcel";xx&"\"&yy) +ChangeAllBS(Ref) + ; Ref = VanPRNr_"\"_NaarPRNr + Set D="\",Q="K",U=";" + S QU="JB",QU(1)=17,QU(2)="Johan Baetsl�" + s DT=$$EXTDATE^vhLib.DataTypes($H,"DKP") + + Set VanPRNr=$$GetPRNr($P(Ref,"\",1)) + Quit:VanPRNr="" "#no VAN prod" + Set NaarPRNr=$$GetPRNr($P(Ref,"\",2)) + Quit:NaarPRNr="" "#no NAAR prod" + Quit $$ReplaceAlleBouwstenen(VanPRNr,NaarPRNr) + +ReplaceAlleBouwstenen(VanPRNr,NaarPRNr) + New MPRNr,BSKey,PRCode,PRList + Set MPRNr="" + For Set MPRNr=$O(^PRBS("IP",VanPRNr,MPRNr)) Quit:MPRNr="" Do + . Set PRCode=$$ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + . Set:PRCode'="" PRList=$G(PRList)_";"_PRCode + Quit $E($G(PRList),2,200) + +ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + New NoMod,BSCode,BSRec,%J + ;w !,MPRNr + Lock +^PRBS("BS",MPRNr):0 + Else Quit MPRNr ; niet gewijzigd + Set %J=$$%J^vhRtn1() + Do FETCH^PRBS(MPRNr) + Set BSCode="" + For Set BSCode=$O(^PRBS("IP",VanPRNr,MPRNr,BSCode)) Quit:BSCode="" Do + . If $D(^HULP(%J,"C",BSCode)) Do + . . Set BSRec=^HULP(%J,"C",BSCode) + . . Set $P(BSRec,D,1)=NaarPRNr ; wijzigen product + . . Set ^HULP(%J,"C",BSCode)=BSRec + Do SAVE^PRBS(MPRNr) + Lock -^PRBS("BS",MPRNr):0 + Quit "" + + + ; Ref = PRNr_"\"_FieldKey_"\"_NewValue_"\"_DataType ;'=ceRoutine("$$PRSet^PVExcel";A2&"\013\"&B2) PRSet(Ref) Index: MRP.mac.rou =================================================================== diff -u -r29059 -r70681 --- MRP.mac.rou (.../MRP.mac.rou) (revision 29059) +++ MRP.mac.rou (.../MRP.mac.rou) (revision 70681) @@ -82,7 +82,7 @@ Set Qty=1 If Code="K" Set Qty=$P(RecJ,D,14) Set:Qty'>1&$G(NextBig) Code="N" If Code="N" Set Qty=$P(RecJ,D,15) Set:Qty'>1&$G(NextBig) Code="G" - If Code="G" Set Qty=$P(RecJ,D,16) + If Code="G" Set Qty=$P(RecJ,D,16) Set:Qty'>1 Qty=1 ; als grootverpakking niet is ingevuld (wat eigenlijk wel zou moeten) dan defaulten naar 1 stuk - PV 23/11/2022 If Code="P" Do . Set Qty=$$$PRGet($$$PalletQty) . Quit:Qty>1 Index: PVImportLocatieID.mac.rou =================================================================== diff -u --- PVImportLocatieID.mac.rou (revision 0) +++ PVImportLocatieID.mac.rou (revision 70681) @@ -0,0 +1,139 @@ +#Include Prod.Product + ; import LocatieID HLX + + Set reader=##class(TECH.FileReader).%New("\\Notes01\Shared\P V\Producten met LocatieID HLX.txt") + ;Do reader.SetDelimiter($C(9)) ; optioneel, default is TAB + ;Do reader.SetHeaderRow(1) ; optioneel, default = 1 + ;Do reader.SetFirstDataRow(2) ; optioneel, default = 2 + ;Do reader.SetTranslateHeader2UpperCase() ; optioneel, default=0 + ;Do reader.AddHeaderTranslation(From, To, DataType) ; optioneel, 1 per translatie + While reader.Next() + { + Set ItemID=$tr(reader.Column(1),". ") + 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)) + { + Do $$$PRSet($$$ControleStatus,Code) + Do $$$PRSet($$$CycleCountTypeWMS,LocPCData) + } + Else + { + W "Not found" + } + Write ! + } + Quit + + +CLEAN + Set PRNr=$O(^KPR(0)) + + While PRNr + { + ;Do $$$PRSet($$$CycleCountTypeWMS,"") + If $p(^KPR(PRNr,1),"\",2)'="" + { + ;W PRNr,$p(^KPR(PRNr,1),"\",2)," " + Set $P(^KPR(PRNr,1),"\",2)="" + } + Set PRNr=$O(^KPR(PRNr)) + } + Quit + +TestPCData(BatchID, Ordernummer, Familie, Lijn) + ; opgelet : De drop map is Familie afhankelijk + Set Dev=$$OPEN^vhDEV(,Ordernummer_".pic","W","T") + Use Dev + Set ZonderLocatieCnt=0 + Do WriteHeader + Do WriteOnePick(Familie,BatchID,Ordernummer,Lijn,1978976,2,.ZonderLocatieCnt) + Do WriteOnePick(Familie,BatchID,Ordernummer,Lijn,1979110,3,.ZonderLocatieCnt) + Do WriteOnePick(Familie,BatchID,Ordernummer,Lijn,839514,2,.ZonderLocatieCnt) ; heeft 2 locaties + Do WriteOnePick(Familie,BatchID,Ordernummer,Lijn,852189,4,.ZonderLocatieCnt) ; heeft gn locatie dus default + Do WriteOnePick(Familie,BatchID,Ordernummer,Lijn,837572,6,.ZonderLocatieCnt) ; 2de met gn locatie + If ZonderLocatieCnt>0 + { + Do WriteZonderLocatie(Familie, BatchID, Ordernummer, Lijn, ZonderLocatieCnt) + } + Do CLOSE^vhDEV(Dev) + Quit + +WriteHeader + Write "Type",*9,"OrderID",*9,"BoxBarcode",*9,"OrderDesc",*9,"Location",*9,"AskedAmount",*9,"PickedAmount",*9,"PackAmount",*9,"SourceEmpty",*9,"ProductCode",*9,"ProductDescription",*9,"UserField1",*9,"UserField2",*9,"UserField3",*9,"UserField4",*9,"UserField5",*9,"UserField6",! + Quit + +WriteOnePick(Familie,BatchID, Ordernummer, Lijn, PRNr, Aantal,ZonderLocatieCnt) + Set:Familie="TA.B" Familie="TAX" + Set LookupService=##class(OBJTimpl.PM.OBJTIdentLookupService).%New() + Set IdentNr=LookupService.GeefOBJTIdentNr($$$PRGet($$$IdentNummer)) + Set:$D(^KPR2($TR(IdentNr,".")_" ")) PRNr=$P(^KPR2($TR(IdentNr,".")_" "),"\",1) ; Aanpassen van het SOPR product naar het OBJT product. Beter voor Korttekst en Identnummer + Set Product=##class(Prod.Product).%OpenId(PRNr) + Set HLXLocatie=$$$PRGet($$$ControleStatus) ; herbruik van veld voor HLX Locatie + Set PCDataLocatie=$$BepaalPCDataLocatie(Familie,Product) + Set EANCode=Product.BarcodeWaarde + Set KortTekst=Product.KortTekst + ;Set Lijn=Product.Tekst.GetOmschrijving("N",";") + Set BoxBarcode=Ordernummer + Set OrderDesc=Lijn_" "_$E(BatchID,$L(BatchID)-3,$L(BatchID)) + Set (PackAmount,SourceEmpty,UserField2,UserField3,UserField4,UserField5,UserField6)="" + Set PickedAmount=0 + If PCDataLocatie="" + { + Set ZonderLocatieCnt=ZonderLocatieCnt+1 ; variabele doorgegeven by Reference + } Else { + Write "P",*9,Ordernummer,*9,BoxBarcode,*9,OrderDesc + Write *9,PCDataLocatie,*9,Aantal,*9,PickedAmount,*9,PackAmount,*9,SourceEmpty + Write *9,IdentNr,*9,KortTekst,*9,HLXLocatie,*9,UserField2,*9,UserField3,*9,UserField4,*9,UserField5,*9,UserField6 + Write ! + } + Quit + +WriteZonderLocatie(Familie,BatchID, Ordernummer, Lijn, ZonderLocatieCnt) + Set BoxBarcode=Ordernummer + Set OrderDesc=Lijn_" "_$E(BatchID,$L(BatchID)-3,$L(BatchID)) + Set (PackAmount,SourceEmpty,UserField2,UserField3,UserField4,UserField5,UserField6)="" + Set PickedAmount=0 + Set PCDataLocatie=$$GeefZonderLocatie(Familie) + Set Aantal=ZonderLocatieCnt + Set IdentNr="ZONDERLOC" + Set KortTekst="Zonder vaste locatie" + Set HLXLocatie="" + Set EANCode="" + Write "P",*9,Ordernummer,*9,BoxBarcode,*9,OrderDesc + Write *9,PCDataLocatie,*9,Aantal,*9,PickedAmount,*9,PackAmount,*9,SourceEmpty + Write *9,IdentNr,*9,KortTekst,*9,HLXLocatie,*9,UserField2,*9,UserField3,*9,UserField4,*9,UserField5,*9,UserField6 + Write ! + Quit + +BepaalPCDataLocatie(Familie,Product) + Set Locaties=Product.CycleCountTypeWMS ; Herbruik van veld voor PCData locatie + If Locaties[";" + { + Set PCDataLocatie="" + Set I=0 + While $L($P(Locaties,";",$I(I))) + { + If $P($P(Locaties,";",I),":")=Familie + { + Set PCDataLocatie=$P($P(Locaties,";",I),":",2) + } + } + } Else { + Set PCDataLocatie=Locaties + } + + If PCDataLocatie'?1"A"2N1"_"3N + + { + Set PCDataLocatie="" ;$$GeefZonderLocatie(Familie) + } + Quit PCDataLocatie + +GeefZonderLocatie(Familie) + Quit:Familie="TAX" "A02_099" + Quit:Familie="LBX" "A04_099" + Quit "" Index: OBJTimpl/BestandVerwerker.cls.xml =================================================================== diff -u -r66310 -r70681 --- OBJTimpl/BestandVerwerker.cls.xml (.../BestandVerwerker.cls.xml) (revision 66310) +++ OBJTimpl/BestandVerwerker.cls.xml (.../BestandVerwerker.cls.xml) (revision 70681) @@ -23,6 +23,10 @@ c:\WMSExchange\AdminNaarObjtArchive + +c:\WMSExchange\AdminNaarObjtError + + 30 @@ -33,6 +37,7 @@ 0 @@ -56,14 +64,21 @@ Set Writer=##class(%XML.Writer).%New() Set Writer.NoXMLDeclaration=1 Set Writer.Indent=1 - Set sc=Writer.OutputToFile(..MaakBestandsnaam(Label)) + Set PadEnFile=..MaakBestandsnaam(Label) + Set sc=Writer.OutputToFile(PadEnFile) - Quit:$$$ISERR(sc) sc - - Set Writer.Charset="UTF-8" - Do Writer.RootElement("Root") - Do Writer.Object(px) - Do Writer.EndRootElement() + If $$$ISERR(sc) + { + Do ##class(vhLib.Logger).%New("OBJT_WMS").Error("Bestand NIET geschreven",Label _ " : Pad en bestand " _ PadEnFile_" Error: "_$$ParseStatus^vhLib(sc) , 1) + } + Else + { + Set Writer.Charset="UTF-8" + Do Writer.RootElement("Root") + Do Writer.Object(px) + Do Writer.EndRootElement() + Do ##class(vhLib.Logger).%New("OBJT_WMS").Info("Bestand geschreven",Label _ " : Pad en bestand " _ PadEnFile) + } ]]> @@ -107,9 +122,13 @@ 1 10000 + { + Do SCANDIR^vhDEV(..#OntvangArchiefMap,"*.*","RemFiles","X",..#OpkuisNaDagen) + Do SCANDIR^vhDEV(..#VerstuurArchiefMap,"*.*","RemFiles","X",..#OpkuisNaDagen) + Do SCANDIR^vhDEV(..#VerstuurErrorMap,"*.*","RemFiles","X",..#OpkuisNaDagen*2) + Kill ^EWREC("P","OBJTFileCnt") + } ]]> Index: OBJTimpl/Herbevoorrading/ZendHerbevoorrading.cls.xml =================================================================== diff -u -r68790 -r70681 --- OBJTimpl/Herbevoorrading/ZendHerbevoorrading.cls.xml (.../ZendHerbevoorrading.cls.xml) (revision 68790) +++ OBJTimpl/Herbevoorrading/ZendHerbevoorrading.cls.xml (.../ZendHerbevoorrading.cls.xml) (revision 70681) @@ -2,7 +2,7 @@ -Doorgeven van ontvangen goederen naar OBJT. De receptielijn wordt automatisch gestockeerd. +Herbevoorrading van de Kardex %RegisteredObject @@ -18,18 +18,26 @@ -1 + +De drempel wordt bepaald door een aantal keer de gemiddelde dagafname +2 + +Indien onder de drempel dan wordt er aantal keer de gemiddelde dagafname genomen 2 + +Aantal keer de standaardafwijking 2 + +Aantal keer de standaardafwijking 2 Index: OBJTimpl/Herbevoorrading/OphalenVoorraad.cls.xml =================================================================== diff -u -r68871 -r70681 --- OBJTimpl/Herbevoorrading/OphalenVoorraad.cls.xml (.../OphalenVoorraad.cls.xml) (revision 68871) +++ OBJTimpl/Herbevoorrading/OphalenVoorraad.cls.xml (.../OphalenVoorraad.cls.xml) (revision 70681) @@ -90,7 +90,7 @@ _ " it.NAME ITEMID" _ " ,sum(case wl.Name WHEN'OPSLAG' THEN [QTYALLOCATED] ELSE 0 end) as QTYALLOCATED" _ " ,sum(case wl.Name WHEN 'OPSLAG' THEN [QTYONHAND] ELSE 0 end) as QTYONHAND" - _ " ,sum(case wl.Name WHEN 'IN' THEN [QTYONHAND] ELSE 0 end) as QTYINBOUND" + _ " ,sum(case wl.Name WHEN 'IN' THEN [QTYONHAND] WHEN 'REPL' THEN [QTYONHAND] ELSE 0 end) as QTYINBOUND" _ " FROM [OBJT_INVENTORYRECORD] ir" _ " join objt_item it on it.OID=itemoid" _ " join OBJT_WAREHOUSE wh on ir.WAREHOUSEOID=wh.OID " Index: PV.mac.rou =================================================================== diff -u -r69293 -r70681 --- PV.mac.rou (.../PV.mac.rou) (revision 69293) +++ PV.mac.rou (.../PV.mac.rou) (revision 70681) @@ -4,6 +4,157 @@ #include BL.Derde.LevSpecifiek q + +HFL + Read "Klant:",HflKlant + Do NL(HflKlant) + Do BE(HflKlant) + Quit + +NL(Klant) + quit:Klant'?1"NL".E + do ##class(zTryout.JWI.Haefele.UrlGenerator).%New().GenereerEen(12,"8SH88xGWpyaTSiSba3ptxQ--",Klant) + +BE(Klant) + quit:Klant'?1"BE".E + do ##class(zTryout.JWI.Haefele.UrlGenerator).%New().GenereerEen(7,"k0uGXfFcFjZZFa7InVf7aw--",Klant) + Quit + +HISTTAB(Jaar) + Set Jaar=$G(Jaar,2022) + Set Device=$$OPEN^vhDEV(,"TAB productie.txt","W","T") + Use Device + Write "ORDNr KLNr PRNr Identnummer Korttekst Pallet Aantal Tijdstip",! + Set Vanaf=$zdh(Jaar_"0101",8) + Set Tot=$zdh(Jaar_"1231",8) + Set Cnt=0 + Set PRNr=4137846 + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do ;Quit:PRNr=532738 + . Set Key="" + . Kill Cache + . Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) + . Quit:ProdGrp'="TA.B" + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + .. Set Rec=^PRHIST(PRNr,Key) + .. Quit:+$P(Rec,"\")'=+$H + .. Quit:$P(Rec,"\",5)'="M" + .. Quit:$P(Rec,"\",4)'?1(1"I") + .. Set Qty=$P(Rec,"\",2) + .. Set Ref=$P(Rec,"\",7) + .. Set KLNr=$P(Rec,"\",6) + .. Set Datum=+$P(Rec,"\") + .. Set ORDNr=$O(^ORD("IP",PRNr,"")) + .. Set KLNr="" + .. Set:ORDNr KLNr=$P($G(^KO1(ORDNr,"F")),"\",1) + .. Set Loc="" Set Cnt=0 + .. For Set Loc=$O(^PRHIST(PRNr,Key,Loc)) Quit:Loc="" Do + ... Set Cnt=Cnt+1 + ... Write ORDNr,*9,KLNr,*9,PRNr,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst),*9,$P(^PRHIST(PRNr,Key,Loc),"\",1),*9,$P(^PRHIST(PRNr,Key,Loc),"\",2),*9,$zdt($P(^PRHIST(PRNr,Key,Loc),"\",3),8),! + .. If Cnt=0 Do + ... Write PRNr,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst) + + Do CLOSE^vhDEV(Device) + Write Cnt + Quit + +HISTEXPORT() + Set Device=$$OPEN^vhDEV(,"HIST export.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 + . Set Key="" + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + .. Set Rec=^PRHIST(PRNr,Key) + .. Set Tijdstip=$P(Rec,"\") + .. Quit:+TijdstipGVP)&&(GVP'=1) AantalUG=AantalUG+1,StuksG=StuksG+Qty-(Qty#GVP)-$S((Pal>0):Qty\Pal*Pal,1:0) ; zonder volle paletten . Set:Pal>0&&($P(Rec,"\",4)="U") AantalP=AantalP+(Qty\Pal) Quit + +HISTJAAR + For Jaar=2017:1:2022 Do + . Do HISTOUT(Jaar) + +HISTOUT(Jaar) + Set Device=$$OPEN^vhDEV(,"Statistiek Picklijnen"_Jaar_".txt","W","T") + Use Device + Write "PRNr Identnummer Korttekst KLNr #Lijnen #Stuks Datum Type ProdGrp",! + Set Vanaf=$zdh(Jaar_"0101",8) + Set Tot=$zdh(Jaar_"1231",8) + Set Cnt=0 + Set PRNr="" ;532737 + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do ;Quit:PRNr=532738 + . Set Key="" + . Kill Cache + . Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + .. Set Rec=^PRHIST(PRNr,Key) + .. ;Set MPRNr=$P(Rec,"\",15) + .. ;Quit:MPRNr&&($$$ProductGet(MPRNr,$$$LeveranciersNr)=$$$LevHalux) + .. Quit:+$P(Rec,"\")