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 + +