Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml
===================================================================
diff -u
--- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 0)
+++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 48118)
@@ -0,0 +1,41 @@
+
+
+
+TECH.RegisteredObject,TECH.Filter
+
+
+DOM.PM.ProductTypeAPI
+1
+
+
+
+ProductTypeApi:DOM.PM.ProductTypeAPI=""
+1
+1
+%Status
+1
+
+
+
+
+Value:%CacheString
+%Boolean
+
+
+
+
+PickingOpdrachtInfo:BL.Legacy.EWORDS.PickingOpdrachtInfo
+1
+%Boolean
+
+
+
+
+
+
Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml
===================================================================
diff -u
--- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml (revision 0)
+++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml (revision 48118)
@@ -0,0 +1,59 @@
+
+
+
+TECH.RegisteredObject,TECH.Iterator
+
+
+TECH.Iterator
+1
+
+
+
+TECH.Filter
+1
+
+
+
+%ListOfDataTypes
+1
+
+
+
+PickingOpdrachtInfoLijst:%ListOfDataTypes,Filter:TECH.Filter=""
+1
+1
+%Status
+1
+
+
+
+
+%Boolean
+
+
+
+
+%CacheString
+
+
+
+
+
+
+
+
+
+
Index: EWORDS.mac.rou
===================================================================
diff -u -r48109 -r48118
--- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48109)
+++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48118)
@@ -465,7 +465,7 @@
;
SAVE(NoAsk)
New R,Ok,Count,VerzW,VerzDat,DOutDate,DOutTime,VerzZ,LevAdr,CONSNr,Send,ORDNr,Check,Rembours,ChkBeletDone,OLU,LijnRec,ReturnLocal
- New PickingOpdrachtInfoLijst
+ New PickingOpdrachtInfo, PickingOpdrachtInfoLijst, PickingOpdrachtInfoIterator, FilterIterator
Set Ok=0
@@ -479,7 +479,6 @@
Quit:'Ok
- Set CONSNr=$$GETNUM^FLOW("KUL","KU1") ; Tijdelijk
Set R=$G(^HULP(%J,KLNr,"V"))
Set DOutDate=$P($P(R,D,2),","),DOutTime=$P(R,D,3),VerzZ=$P(R,D,4),VerzDat=$P(R,D,5)
Set ORDNr=$O(^HULP(%J,KLNr,"M","A",""))
@@ -488,7 +487,7 @@
// We gaan nagaan of er backorderlijnen moeten gesplitst worden. Indien de 2de piece is ingevuld moet die gebruikt worden als BO aantal.
// Achteraf maken we die piece leeg zodat de rest van de code zijn werk blijft doen.
Set OLU = ""
- Set PickingOpdrachtInfoLijst = ##class(%ListOfDataTypes).%New()
+ Set PickingOpdrachtInfoLijst = ##class(%ListOfDataTypes).%New()
For {
Set OLU=$O(^HULP(%J,KLNr,"M","A",ORDNr,OLU))
@@ -516,44 +515,66 @@
Set Aantal = $Piece(LijnRec, "\", 1)
- // ^HULP data is reeds aangemaakt bij aanroepen van de SAVE(), we bewaren deze data in PickingOpdrachtInfo
+ // ^HULP data, aangemaakt v��r aanroepen van SAVE(), bijhouden in PickingOpdrachtInfoLijst
Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU))
}
+ // Alle bestaande ^HULP-nodes voor opgegeven KlantNummer en OrderNummer verwijderen
+ Kill ^HULP(%J, KlantNummer, "M", "A", OrderNummer)
+
If 'DOutTime do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("DOutTime mag niet null zijn"))
+
Set LevAdr=^HULP(%J,KLNr,"C","LA")
+ Set FilterIterator = ##class(TECH.ListIterator).%New(##class(BL.Legacy.EWORDS.Save).GeefFilters())
- Do BLDCONS^EWORDS2(KLNr,$NA(^HULP(%J,KLNr,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen
- Do STORE^LOG("ORDW", CONSNr, "O", ##class(BL.Legacy.EWORDS.Save).GeefOrderNummers(CONSNr))
-
- Set ChkBeletDone=$G(ChkBeletDone)
- Do VERWERK^EWORDSS(CONSNr) ; Eventueel opsplitsen in groepen
-
- If $D(^ORDW("D",CONSNr)) {
- ; Kan bij terugname niet meer bestaan
- Do ShowKennisAnker^EWORDS5(KLNr,CONSNr,1)
- Do:$$ChkTRANSPORT(CONSNr) TRANSPORT(CONSNr)
+ While (FilterIterator.HasNext()) {
+ Set CONSNr = $$GETNUM^FLOW("KUL","KU1")
+ Set PickingOpdrachtInfoIterator = ##class(BL.Legacy.EWORDS.PickingOpdrachtInfoIterator).%New(PickingOpdrachtInfoLijst, FilterIterator.Next())
- Set R=^ORDW("D",CONSNr)
+ While (PickingOpdrachtInfoIterator.HasNext()) {
+ Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next()
+ Set ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) = PickingOpdrachtInfo.GeefData()
+ }
- Quit:$P(R,D,20)="K" Quit:$P(R,D,20)="B" Quit:$P(R,D,20)="C" Quit:ChkBeletDone="B"
+ Do BLDCONS^EWORDS2(KLNr,$NA(^HULP(%J,KLNr,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen
+ Do STORE^LOG("ORDW", CONSNr, "O", ##class(BL.Legacy.EWORDS.Save).GeefOrderNummers(CONSNr))
+
+ Set ChkBeletDone=$G(ChkBeletDone)
+ Do VERWERK^EWORDSS(CONSNr) ; Eventueel opsplitsen in groepen
- Set:ChkBeletDone="" Check=$$CHECK^EWORDS3(CONSNr,1),Rembours=$P(Check,D,2)
- If ChkBeletDone="",'Check!Rembours Do BELET^EWORDS3(CONSNr) Quit
-
- Quit:'$$MagazijnBeschikbaar(CONSNr)
-
- Set Send=$S($G(DOutSend)="L":0,1:1)
-
- If Send,DOutDate>$H {
- Set Send=$S(DOutSend="V":1,1:"")
- Set:Send="" Send=$$^vhTXTPOP("EWORDS","SENDWMS",,$$EXTNUM^vhLib.DataTypes(CONSNr,0,".",0),$$EXTDATE^vhLib.DataTypes(DOutDate))="V"
+ If $D(^ORDW("D",CONSNr)) {
+ ; Kan bij terugname niet meer bestaan
+ Do ShowKennisAnker^EWORDS5(KLNr,CONSNr,1)
+ Do:$$ChkTRANSPORT(CONSNr) TRANSPORT(CONSNr)
+
+ Set R=^ORDW("D",CONSNr)
+
+ Quit:$P(R,D,20)="K" Quit:$P(R,D,20)="B" Quit:$P(R,D,20)="C" Quit:ChkBeletDone="B"
+
+ Set:ChkBeletDone="" Check=$$CHECK^EWORDS3(CONSNr,1),Rembours=$P(Check,D,2)
+ If ChkBeletDone="",'Check!Rembours Do BELET^EWORDS3(CONSNr) Quit
+
+ Quit:'$$MagazijnBeschikbaar(CONSNr)
+
+ Set Send=$S($G(DOutSend)="L":0,1:1)
+
+ If Send,DOutDate>$H {
+ Set Send=$S(DOutSend="V":1,1:"")
+ Set:Send="" Send=$$^vhTXTPOP("EWORDS","SENDWMS",,$$EXTNUM^vhLib.DataTypes(CONSNr,0,".",0),$$EXTDATE^vhLib.DataTypes(DOutDate))="V"
+ }
+
+ If Send {
+ ; Doorsturen naar WMS
+ Set Send=$$WMSACTIV^EWRECS()
+ Do:Send SEND^EWORDSW(CONSNr)
+ }
}
- If Send {
- ; Doorsturen naar WMS
- Set Send=$$WMSACTIV^EWRECS()
- Do:Send SEND^EWORDSW(CONSNr)
+ Do PickingOpdrachtInfoIterator.Reset()
+
+ While (PickingOpdrachtInfoIterator.HasNext()) {
+ Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next()
+ Kill ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer())
}
}
Index: BL/Legacy/EWORDS/Save.cls.xml
===================================================================
diff -u -r48107 -r48118
--- BL/Legacy/EWORDS/Save.cls.xml (.../Save.cls.xml) (revision 48107)
+++ BL/Legacy/EWORDS/Save.cls.xml (.../Save.cls.xml) (revision 48118)
@@ -3,6 +3,19 @@
TECH.RegisteredObject
+
+1
+%ListOfDataTypes
+
+
+
1
ConsolidatieNummer:%String
Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml
===================================================================
diff -u
--- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 0)
+++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 48118)
@@ -0,0 +1,41 @@
+
+
+
+TECH.RegisteredObject,TECH.Filter
+
+
+DOM.PM.ProductTypeAPI
+1
+
+
+
+ProductTypeApi:DOM.PM.ProductTypeAPI=""
+1
+1
+%Status
+1
+
+
+
+
+Value:%CacheString
+%Boolean
+
+
+
+
+PickingOpdrachtInfo:BL.Legacy.EWORDS.PickingOpdrachtInfo
+1
+%Boolean
+
+
+
+
+
+