Index: BL/MB/UGLYPicking/Receptie.cls.xml
===================================================================
diff -u -r39040 -r39586
--- BL/MB/UGLYPicking/Receptie.cls.xml (.../Receptie.cls.xml) (revision 39040)
+++ BL/MB/UGLYPicking/Receptie.cls.xml (.../Receptie.cls.xml) (revision 39586)
@@ -117,8 +117,10 @@
+
+JBL opmerking : ProdIsInKOM mag weg want wordt nergens meer gebruikt, enkel doorgegeven
1
-
+
cache
0
%Library.List
@@ -127,7 +129,6 @@
dan is de toelevering reeds afgewerkt
- ... New Rec
- ... Set Rec=^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)
- ... Set $P(Rec,SEP,$$$bsnScanTime)=$H ;ScanTime opnieuw instellen...
- ... Set ^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)=Rec
- .. Set:(($LI(Status)>0) && (ZonderToeleveringBeperking)) Status=$LB(2,"Product '"_ProductNr_"' succesvol ingescand. "_$LI(Status,2))
- .. Set:(($LI(Status)>0) && (GebruikDeelAantalVanDezeToelevering)) Status=$LB(0)
- . Else Do ;Bufferlijn bestaat reeds, assoc toeleveringsnummer opgegeven, lijn op maximum scanaantal instellen
- .. New TotalQty
- .. Set TotalQty=..GetTotalQtyViaProdNr(ProductNr,UseThisTLNr)
- .. Do ..SetBufferQtyDone(bfrRGID,bfrVolgNr,LijnNr,TotalQty)
- .. Do ..SetBufferAssocToelev(bfrRGID,bfrVolgNr,LijnNr,UseThisTLNr)
- .. Set:($LI(Status)>0) Status=$LB(2,"Product '"_ProductNr_"' ingesteld op maximum waarde ("_TotalQty_"). "_$LI(Status,2))
-
+ If AttachTLNrAndQuitIfLineExists && (ToeleveringID'="") && MagTotaalToeleveringRecepteren && (LijnNr'=0) Do Quit $LB(4,"Product '"_ProductNr_"' gekoppeld aan toelevering '""', scanaantal ongewijzigd.")
+ . Do ..SetBufferAssocToelev(bfrRGID,bfrVolgNr,LijnNr,ToeleveringID)
+
+ If LijnNr'=0 {
+ If (ToeleveringID="") { ;Bufferlijn bestaat reeds, geen assoc toeleveringsnummer meegegeven, inhoud van de lijn gewoon +1
+ Set Status=..INCBufferQty(bfrRGID,bfrVolgNr,LijnNr)
+ If $LI(Status)=1 { ;Indien status=2 => dan is de toelevering reeds afgewerkt
+ New Rec
+ Set Rec=^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)
+ Set $P(Rec,SEP,$$$bsnScanTime)=$H ;ScanTime opnieuw instellen...
+ Set ^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)=Rec
+ }
+ Set:($LI(Status)>0) Status=$LB(2,"Product '"_ProductNr_"' succesvol ingescand. "_$LI(Status,2))
+ } ElseIf (ToeleveringID'="") && MagTotaalToeleveringRecepteren { ;Bufferlijn bestaat reeds, assoc toeleveringsnummer opgegeven, lijn op maximum scanaantal instellen
+ New TotalQty
+ Set TotalQty=..GetTotalQtyViaProdNr(ProductNr,ToeleveringID)
+ Do ..SetBufferQtyDone(bfrRGID,bfrVolgNr,LijnNr,TotalQty)
+ Do ..SetBufferAssocToelev(bfrRGID,bfrVolgNr,LijnNr,ToeleveringID)
+ Set:($LI(Status)>0) Status=$LB(2,"Product '"_ProductNr_"' ingesteld op maximum waarde ("_TotalQty_"). "_$LI(Status,2))
+ }ElseIf (ToeleveringID'="") && 'MagTotaalToeleveringRecepteren{
+ Set Status=..INCBufferQty(bfrRGID,bfrVolgNr,LijnNr)
+ If $LI(Status)=1 { ;Indien status=2 => dan is de toelevering reeds afgewerkt
+ Do ..SetBufferAssocToelev(bfrRGID,bfrVolgNr,LijnNr,ToeleveringID)
+ }
+ }
+ }
+
Quit:($LI(Status)'=0) Status
+
//---------------------------------------------------------------------------------------------
// 3. Afdalen in ^TO("IP",ProductNr), ToeleveringsNummers ophalen
// OPBOUW: ^TO("IP",ProductNr,TLNr,TLUNr)
@@ -213,56 +211,48 @@
Set AantalToeleveringenFound=0, TotalQty=0
Set ProdIsInKOM=0, ErrorList=""
+
; ===[ NODE 3: TLNr ]===
- If ZonderToeleveringBeperking Do
+ If ToeleveringID="" Do
. New tmpStatus,TLNr
. Set TLNr=""
. For Set TLNr=$O(^TO("IP",ProductNr,TLNr)) Quit:(TLNr="") Do
.. Set tmpStatus=..FIsToeleveringsNrAllowed(TLNr)
.. Quit:($LI(tmpStatus)'=1)
.. Do atbRunThroughToelev(ProductNr,TLNr,.ProdIsInKOM,.ErrorList,.TotalQty,.AantalToeleveringenFound)
Else Do ;Indien TLNr opgegeven, enkel deze meetellen in bufferlijn
- . Do atbRunThroughToelev(ProductNr,UseThisTLNr,.ProdIsInKOM,.ErrorList,.TotalQty,.AantalToeleveringenFound)
+ . Do atbRunThroughToelev(ProductNr,ToeleveringID,.ProdIsInKOM,.ErrorList,.TotalQty,.AantalToeleveringenFound)
New QtyDone
- Set QtyDone=..GetQtyDoneViaProdNr(ProductNr,,,,,UseThisTLNr)
+ Set QtyDone=..GetQtyDoneViaProdNr(ProductNr,,,,,ToeleveringID)
If (TotalQty = QtyDone)
{
Quit $LB(3,"Het bestelde aantal voor de toelevering is volledig gescand.")
}
+
;De Qty die initieel in de buffer komt te staan (zelf opgegeven, TLNr aanwezig->TotalQty, anders 1)
- Set StartQty=$G(StartQty,$S(ZonderToeleveringBeperking:1,1:TotalQty-QtyDone))
+ Set StartQty=$G(StartQty)
+ If StartQty = "" {
+ If MagTotaalToeleveringRecepteren{
+ Set StartQty = TotalQty-QtyDone
+ }Else{
+ Set StartQty = 1
+ }
+ }
Quit:(StartQty<0) $LB(-5,"Interne fout: starthoeveelheid("_StartQty_") is kleiner dan nul.")
Quit:(StartQty>TotalQty) $LB(-6,"Interne fout: starthoeveelheid("_StartQty_") is groter dan aantal in toeleveringen("_TotalQty_").")
Quit:(ErrorList'="") $LB(-2,ErrorList)
Quit:(AantalToeleveringenFound=0) $LB(-3,"Product '"_ProductNr_"' heeft toeleveringen, maar deze kunnen niet verwerkt worden met dit programma (ongeldige leverancier(s)).")
-
- /// JBL, sorry voor de commentaar, maar ik denk dat hier gebeurd :
- /// SITUATIE 1 : (ZonderToeleveringBeperking)
- /// UseThisTLNr = ""
- /// Dan wordt hier een nieuwe lijn in buffer aangemaakt als het product er nog niet in zat.
- ///
- /// SITUATIE 2 : (MetToeleveringBeperking)
- ///; - UseThisTLNr = ToeleveringsNr
- ; Enkel het product (met ProductNr) van de toelevering (met UseThisTLNr) wordt toegevoegd,
- ; dit met maximaal aantal
- /// op dat moment wordt het totaal aantal toegevoegd aan de buffer met de toeleveringID
- /// Wat er nu is bijgekomen is dat de property 'GebruikTotaalAantalIndienUseThisTLNr' optioneel is bijgekomen.
- /// Ik vermoed dat onderstaand vroeger enkel mocht uitgevoerd worden als
- /// - UseThisTLNr ingevuld was, want bij lege UseThisTLNr hij kwam niet tot hier door de early quits
- /// Onderstaande code mag dus vanaf heden enkel uitgevoerd worden als
- /// - UseThisTLNr ingevuld is
- /// - GebruikTotaalAantalIndienUseThisTLNr = 1
- If ((ZonderToeleveringBeperking) || (MetToeleveringBeperking && GebruikTotaalAantalIndienUseThisTLNr)) {
- ;AllesOK: Aan buffer toevoegen
- New Rec,LijnNr
- Set Rec=ProductNr_SEP_Dossier_SEP_PalletID_SEP_Locatie_SEP_StartQty_SEP_$H_SEP_UserID_SEP_$G(UseThisTLNr)
- Set LijnNr=..GetNewLijnNr(bfrRGID,bfrVolgNr)
- Set ^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)=Rec
- }
+
+ ;AllesOK: Aan buffer toevoegen
+ New Rec,LijnNr
+ Set Rec=ProductNr_SEP_Dossier_SEP_PalletID_SEP_Locatie_SEP_StartQty_SEP_$H_SEP_UserID_SEP_ToeleveringID
+ Set LijnNr=..GetNewLijnNr(bfrRGID,bfrVolgNr)
+ Set ^UPRCP("B",bfrRGID,bfrVolgNr,LijnNr)=Rec
+
Quit $LB(1,"Product '"_ProductNr_"' succesvol toegevoegd aan buffer '"_bfrRGID_"'("_AantalToeleveringenFound_" toelevering(en)).")
;========================================================================================================
@@ -275,7 +265,7 @@
. Set TLLNr=^TO("IP",ProductNr,TLNr,TLUNr)
. Set ToeleveringsQty=..FGetToeleveringsQty(TLNr,TLLNr)
. If ToeleveringsQty=-1 Do
- .. Set ErrorList=ErrorList_"Het bestelde aantal van toelevering '"_TLNr_"' is onbekend. "
+ .. Set ErrorList=ErrorList_"Het bestelde aantal van toelevering '"_TLNr_"' is onbekend voor lijn "_TLUNr
. Else Do
.. Set TotalQty=TotalQty+ToeleveringsQty
Set AantalToeleveringenFound=AantalToeleveringenFound+1
@@ -289,7 +279,7 @@
@@ -622,8 +612,7 @@
Set:(CloseTime="") CloseTime=$H ;Eventuele error opvangen
Set CloseTime=$ZDT(CloseTime,2,2)
Set Msg=ReceptieGroep_" receptie afgesloten door '"_UserId_"' op "_CloseTime_$S(DoMailOnly:" (mail delayed).",1:".")
- ; geen mails meer PV 05 03 2012
- Set Status=$$$OK ;$$SendMiniMail^vhLib($$$SystemMail("Receptie-UGLY"),EmailList,"UGLY Receptie "_CloseTime,Msg)
+ Set Status=$$SendMiniMail^vhLib($$$SystemMail("Receptie-UGLY"),EmailList,"UGLY Receptie "_CloseTime,Msg)
;Error?
If $$$ISERR(Status) Do Quit $LB(-2,$$ParseStatus^vhLib(Status))
@@ -1399,28 +1388,12 @@
]]>
-
-
-Controle of de Toelevering onmiddellijk op de GLS vrachtwagen kan geplaatst worden.
-1
-bfrRGID:%Library.String,bfrVolgNr:%Library.String
-cache
-0
-%Library.Boolean
-document
-literal
-
-
-
Geeft LijnNr terug bij overeenkomst
1
-bfrRGID:%Library.String,bfrVolgNr:%Library.String,ProductNr:%Library.String,Locatie:%Library.String,PalletID:%Library.String
+bfrRGID:%Library.String,bfrVolgNr:%Library.String,ProductNr:%Library.String,Locatie:%Library.String,PalletID:%Library.String,ToeleveringID:%String=""
cache
0
%Library.Integer
@@ -1438,7 +1411,8 @@
. If $P(Rec,SEP,1)=ProductNr Do
.. If $P(Rec,SEP,4)=Locatie Do
... If $P(Rec,SEP,3)=PalletID Do
- .... Set Found=Loop ;Geef LijnNr terug bij overeenkomst
+ .... If ((ToeleveringID="") || ($P(Rec,SEP,8)=ToeleveringID)) Do
+ ..... Set Found=Loop ;Geef LijnNr terug bij overeenkomst
Quit Found
]]>
@@ -1461,7 +1435,7 @@
RGID:%String,VolgNr:%String
%String
@@ -2171,25 +2145,64 @@
+
+
+
+1
+ProductID:%String,RGID:%String,VolgNr:%Integer
+1
+1
+%Integer
+
+
+
+1
+ProductID:%String,Aantal:%Integer,RGID:%String,BufferVolgNr:%Integer
+1
+%List
+
+