Index: MRPRES.mac.rou =================================================================== diff -u -r69433 -r72928 --- MRPRES.mac.rou (.../MRPRES.mac.rou) (revision 69433) +++ MRPRES.mac.rou (.../MRPRES.mac.rou) (revision 72928) @@ -37,6 +37,8 @@ . Set HFPRNr=$P(HFRec,D,1) . Quit:('$P(^KPR(HFPRNr,2),D,15))&&($$GETSTOCK^PRODUKT4(HFPRNr,"F",,0,1)<1) ; Werkvloer product zonder voorraad in magazijn . Quit:($$$ProductGet(HFPRNr,$$$WerkvloerSubMag)?1"KANBAN".E) ; Kanban niet opnemen in transferorder + . If HFCode?1(1"PRBOONDE.",1"PRKOPLI.",1"PRKOPRE.",1"PRFRONTB.",1"PRFB.")3N,($$PRODGRP^PRODUKT(PRNr)="TA.B"),$$IsGemonteerdeBinnenlade(PRNr) Do ;TA'OR onderdelen te monteren bij binnenlade + . . Set @CRef@("TAX ASSEMBLAGE",HFPRNr,FabKey)=$P(ARRec,D,2)_"\"_$P(HFRecD,D,2) . If $L($P($G(^KPR(HFPRNr,15)),D,5)) Do ; Er is een herbestelpunt ingevuld daarom overlaten aan de SCAN^MRPSTOCK . . Set @CRef@("SCANONE",HFPRNr,FabKey)=$P(ARRec,D,2)_"\"_$P(HFRecD,D,2) ; deze moeten absoluut opgenomen worden in de SCANONE^MRPSTOCK omdat deze klaargezet is (ook al is deze meerdere dagen verder) . Else If ($P(ARRec,D,6)="W")||($P(ARRec,D,6)="P")||($P(ARRec,D,6)="F") Do ; Te kort op werkvloer wordt bepaald door ACTIVERING @@ -46,6 +48,15 @@ . . Set:$L(HFRecD) @CRef@("TO",HFPRNr,FabKey,HFCode,"D")=HFRecD Quit +IsGemonteerdeBinnenlade(PRNr) + Set ConfiguratorService = ##class(APPS.VKP.Maatwerk.impl.ConfiguratorService).%New() + Set AppsNaarEconConverter = ##class(ECONimpl.PM.Maatwerk.AppsConverter).%New() + + #dim IngegevenKenmerken As APPS.PM.Maatwerk.dto.IngegevenKenmerken = ConfiguratorService.GeefOnverwerkteKenmerkenVanProduct(PRNr) + Quit:'##class(APPS.PM.Maatwerk.impl.IngegevenKenmerkenTypeAPI.IsGemonteerdeLadeBepaler).%New().IsGemonteerdeLade(IngegevenKenmerken) -1 + #dim arKenmerken As %ArrayOfDataTypes = AppsNaarEconConverter.ConverteerAppsNaarEcon(IngegevenKenmerken).ToArray() + Quit arKenmerken.GetAt("Data.Kenmerken.Isbinnenlade")="true" + ONERES(CRef,FabKey,PRNr,QtyToe,Opties,Status,NoResDel) ; Controle en reservatie van HFprods ; Status via .Local @@ -142,7 +153,7 @@ If $D(@CRef@("TO"))||$D(@CRef@("SCANONE")) Do . Set TimeStamp=$H . Merge ^MRPRESLog($P(TimeStamp,",",1),$P(TimeStamp,",",2),"MARK")=@CRef - . Do ScanVoorraadProducten^MRPSTOCK(CRef,3) + . Do ScanVoorraadProducten^MRPSTOCK(CRef,2) . Merge ^MRPRESLog($P(TimeStamp,",",1),$P(TimeStamp,",",2),"FETCH")=@CRef . ;Do BalanceLiRe(CRef) . ;Merge ^MRPRESLog($P(TimeStamp,",",1),$P(TimeStamp,",",2),"BALANCE")=@CRef@("TO") @@ -155,9 +166,11 @@ . Merge ^MRPRESLog($P(TimeStamp,",",1),$P(TimeStamp,",",2),"MISSING")=@CRef@("MISSING") . If $D(@CRef@("MISSING")) Do . . Do ToonProductenNietInOrder($NAME(@CRef@("MISSING"))) + . Do AddAssemblageSubMag(CRef) ; Onderdelen naar de assemblage werkpost te brengen voor TAX + . Kill @CRef@("TAX ASSEMBLAGE") Do CleanHistoriek() Quit - + RETRY ; stap 0 : meer uitleg in documentatie bij zoektermen 'Klaarzetten en doorsturen van transferorders crashes' ; stap 1 : Opzoeken van de TimeStamp in MRPRESLog en hieronder de waarden 99999,99999 vervangen (uitgedrukt in $H) @@ -177,7 +190,7 @@ Set CRef="cache" Kill cache - Merge @CRef=^MRPRESLog(66382,44034,"MARK") zw @CRef + Merge @CRef=^MRPRESLog(66778,55603,"MARK") zw @CRef Do CLOSE(CRef) Quit @@ -203,6 +216,10 @@ . Kill ^MRPRESLog(Datum) Quit +AddAssemblageSubMag(CRef) ; Toevoegen aan de speciale pickopdracht 999999 in Pickstar + Do ##class(APPS.Halux.PPS.DocumentGenerator.PickingOnderdelenNaarAssemblage).%New().GenereerDocument($Name(@CRef@("TAX ASSEMBLAGE"))) + Quit + ToonProductenNietInOrder(OntbrekendeCRef) New Body,SubMag,PRNr,Aantal Set Body="Bij het klaarzetten werden volgende halffabrikaten niet opgenomen in een order :"