Index: BL/MB/UGLYPicking/Receptie.cls.xml
===================================================================
diff -u -r29059 -r39040
--- BL/MB/UGLYPicking/Receptie.cls.xml (.../Receptie.cls.xml) (revision 29059)
+++ BL/MB/UGLYPicking/Receptie.cls.xml (.../Receptie.cls.xml) (revision 39040)
@@ -117,10 +117,8 @@
-
-JBL opmerking : ProdIsInKOM mag weg want wordt nergens meer gebruikt, enkel doorgegeven
1
-
+
cache
0
%Library.List
@@ -129,6 +127,7 @@
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)
- }
- }
- }
-
+ If AttachTLNrAndQuitIfLineExists && (UseThisTLNr'="") && (LijnNr'=0) Do Quit $LB(4,"Product '"_ProductNr_"' gekoppeld aan toelevering '""', scanaantal ongewijzigd.")
+ . Do ..SetBufferAssocToelev(bfrRGID,bfrVolgNr,LijnNr,UseThisTLNr)
+
+
+ If LijnNr'=0 Do
+ . If ( ZonderToeleveringBeperking || (MetToeleveringBeperking && GebruikDeelAantalVanDezeToelevering)) Do ;Bufferlijn bestaat reeds, geen assoc toeleveringsnummer meegegeven, inhoud van de lijn gewoon +1
+ .. Set Status=..INCBufferQty(bfrRGID,bfrVolgNr,LijnNr)
+ .. If $LI(Status)=1 Do ;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) && (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))
+
Quit:($LI(Status)'=0) Status
-
//---------------------------------------------------------------------------------------------
// 3. Afdalen in ^TO("IP",ProductNr), ToeleveringsNummers ophalen
// OPBOUW: ^TO("IP",ProductNr,TLNr,TLUNr)
@@ -211,48 +213,56 @@
Set AantalToeleveringenFound=0, TotalQty=0
Set ProdIsInKOM=0, ErrorList=""
-
; ===[ NODE 3: TLNr ]===
- If ToeleveringID="" Do
+ If ZonderToeleveringBeperking 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,ToeleveringID,.ProdIsInKOM,.ErrorList,.TotalQty,.AantalToeleveringenFound)
+ . Do atbRunThroughToelev(ProductNr,UseThisTLNr,.ProdIsInKOM,.ErrorList,.TotalQty,.AantalToeleveringenFound)
New QtyDone
- Set QtyDone=..GetQtyDoneViaProdNr(ProductNr,,,,,ToeleveringID)
+ Set QtyDone=..GetQtyDoneViaProdNr(ProductNr,,,,,UseThisTLNr)
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)
- If StartQty = "" {
- If MagTotaalToeleveringRecepteren{
- Set StartQty = TotalQty-QtyDone
- }Else{
- Set StartQty = 1
- }
- }
+ Set StartQty=$G(StartQty,$S(ZonderToeleveringBeperking:1,1:TotalQty-QtyDone))
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)).")
-
- ;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
-
+
+ /// 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
+ }
Quit $LB(1,"Product '"_ProductNr_"' succesvol toegevoegd aan buffer '"_bfrRGID_"'("_AantalToeleveringenFound_" toelevering(en)).")
;========================================================================================================
@@ -265,7 +275,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 voor lijn "_TLUNr
+ .. Set ErrorList=ErrorList_"Het bestelde aantal van toelevering '"_TLNr_"' is onbekend. "
. Else Do
.. Set TotalQty=TotalQty+ToeleveringsQty
Set AantalToeleveringenFound=AantalToeleveringenFound+1
@@ -279,7 +289,7 @@
@@ -612,7 +622,8 @@
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:".")
- Set Status=$$SendMiniMail^vhLib($$$SystemMail("Receptie-UGLY"),EmailList,"UGLY Receptie "_CloseTime,Msg)
+ ; geen mails meer PV 05 03 2012
+ Set Status=$$$OK ;$$SendMiniMail^vhLib($$$SystemMail("Receptie-UGLY"),EmailList,"UGLY Receptie "_CloseTime,Msg)
;Error?
If $$$ISERR(Status) Do Quit $LB(-2,$$ParseStatus^vhLib(Status))
@@ -1388,12 +1399,28 @@
]]>
+
+
+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,ToeleveringID:%String=""
+bfrRGID:%Library.String,bfrVolgNr:%Library.String,ProductNr:%Library.String,Locatie:%Library.String,PalletID:%Library.String
cache
0
%Library.Integer
@@ -1411,8 +1438,7 @@
. If $P(Rec,SEP,1)=ProductNr Do
.. If $P(Rec,SEP,4)=Locatie Do
... If $P(Rec,SEP,3)=PalletID Do
- .... If ((ToeleveringID="") || ($P(Rec,SEP,8)=ToeleveringID)) Do
- ..... Set Found=Loop ;Geef LijnNr terug bij overeenkomst
+ .... Set Found=Loop ;Geef LijnNr terug bij overeenkomst
Quit Found
]]>
@@ -1435,7 +1461,7 @@
RGID:%String,VolgNr:%String
%String
@@ -2145,64 +2171,25 @@
-
-
-
-1
-ProductID:%String,RGID:%String,VolgNr:%Integer
-1
-1
-%Integer
-
-
-
-1
-ProductID:%String,Aantal:%Integer,RGID:%String,BufferVolgNr:%Integer
-1
-%List
-
-
Index: BL/MB/UGLYPicking/VerzendDirectControleur.cls.xml
===================================================================
diff -u
--- BL/MB/UGLYPicking/VerzendDirectControleur.cls.xml (revision 0)
+++ BL/MB/UGLYPicking/VerzendDirectControleur.cls.xml (revision 39040)
@@ -0,0 +1,200 @@
+
+
+
+
+BL.Derde.LevSpecifiek
+0
+%RegisteredObject
+
+
+
+Vandaag op transport en morgen leveren = Aantalwerkdagen=1, maar er mag 1 dag extra omdat DI1 in de namiddag wordt geproduceerd.
+2
+
+
+
+15
+
+
+
+DI1
+
+
+
+
+w ##class(BL.MB.UGLYPicking.VerzendDirectControleur).%New().ControleViaReceptieBuffer("TB",5)
+bfrRGID:%String,bfrVolgNr:%String
+%Library.String
+
+
+
+
+bfrRGID:%String,bfrVolgNr:%String
+1
+%Library.String
+
+
+
+
+ProductNr:%String
+1
+%String
+
+
+
+
+
+w ##class(BL.MB.UGLYPicking.VerzendDirectControleur).%New().ControleViaToelevering(247031)
+TOENr:%String
+%String
+
+
+
+
+ORDNr:%String
+%String
+
+
+
+
+KLNr,ORDNr
+1
+
+
+
+
+KLNr:%String,ORDNr:%String
+1
+%String
+
+
+
+
+KLNr:%String
+1
+0
+
+
+
+
+KLNr:%String,ORDNr:%String
+1
+MaximaleLeverdag FoutCode="Later leveren "_Datum
+
+ Set SomVanAantal=SomVanAantal+$P(Lijn,"\",3)
+ Set:SomVanAantal>..#MaxAantalLades FoutCode="Groot aantal "_SomVanAantal
+
+ Set PRNr=$P(Lijn,"\",2)
+ Set GenTyp=$P($$GENTYP^HAD(PRNr),"\",1,2)
+ Set GenTyp=$S(GenTyp="":"*",1:GenTyp)
+ Set:$P(GenTyp,"\")'?1(1"TBX",1"LBX",1"TAO") FoutCode="GenType geen lade "_GenTyp
+
+ Set:(MemGenTyp'="")&(MemGenTyp'=GenTyp) FoutCode="Verschillend GenType "_MemGenTyp_"="_GenTyp
+ Set MemGenTyp=GenTyp
+
+ ;w ORDNr," ",OLNr," ",PRNr," ",$P(^KPR(PRNr,0),"\")," ",$$EXTDATE^vhLib.DataTypes(Datum)," ",SomVanAantal," ",GenTyp,!
+ }
+ Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr))
+ }
+ Quit FoutCode
+]]>
+
+
+
+
+