Index: BL/MB/UGLYPicking/ReceptieProductie.cls.xml =================================================================== diff -u -r17175 -r17177 --- BL/MB/UGLYPicking/ReceptieProductie.cls.xml (.../ReceptieProductie.cls.xml) (revision 17175) +++ BL/MB/UGLYPicking/ReceptieProductie.cls.xml (.../ReceptieProductie.cls.xml) (revision 17177) @@ -885,7 +885,7 @@ ;Checken of er C-records niet zijn verstuurd, indien dit het geval is: afsluiten! Dan moet in het ;programma eerst deze verwerkt/verwijderd worden! - Quit:($D(^aRecProdRecsToSend)) $LB(-3,"Enkele synchronisatie-berichten van een vorig doorsturen zijn niet verwerkt. Verwerk/verwijder deze eerst.") + Quit:($D(^aRecProdRecsToSend($J))) $LB(-3,"Enkele synchronisatie-berichten van een vorig doorsturen zijn niet verwerkt. Verwerk/verwijder deze eerst.") ;Locken van toeleveringen+bijhorende producten. Indien niet gelukt, unlock all & quit New ProductNr,BufKey,BKVolgNr,aLockToelevs,PBLine,TLNr,TLUNr @@ -1040,8 +1040,8 @@ Set UserID=$P(BufferLine,SEP,7) ;Set RCPKey=##class(BL.MB.UGLYPicking.ReceptieProductie).GetNewRCPKey(TLNr,TLUNr) - Set ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeySplitsNr)=$G(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeySplitsNr),0)+1 - Set RCPKey=^aRecProdRecsToSend(TLNr,TLUNr,$$$akeySplitsNr) + Set ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeySplitsNr)=$G(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeySplitsNr),0)+1 + Set RCPKey=^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeySplitsNr) Do AddToLog($C(9)_"Buffertype '"_bfrRGID_"', VolgNr "_bfrVolgNr_", LijnNr "_bfrLijnNr_" is gekoppeld aan TLNr: "_TLNr_", TLUNr: "_TLUNr_", SplitsNr: "_RCPKey_".") New C @@ -1092,8 +1092,8 @@ ;Set ^UPRCP("R",TLNr,TLUNr,RCPKey)=RRec ;Toevoegen van C-records die zoëven werden opgebouwd - m ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey)=C - s ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCompleet)=($G(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCompleet),0) || Compleet) ;eens 1, altijd 1 + m ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey)=C + s ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCompleet)=($G(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCompleet),0) || Compleet) ;eens 1, altijd 1 Quit $LB(1,"Koppeling-record succesvol opgebouwd.") @@ -1102,27 +1102,27 @@ Do AddToLog("") Do AddToLog("Bezig met verwerken van synchronisatie-bericht(en)...") ; --- ^aRecProdRecsToSend doorlopen en compleet enkel '1' maken indien: --- - ; * ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET") gelijk aan één is (dwz, de lijn is compleet gekoppeld of een backorder is afgezet) + ; * ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET") gelijk aan één is (dwz, de lijn is compleet gekoppeld of een backorder is afgezet) ; * het moet gaan om de laatste regel, maw SplitsNr (of RCPKey) moet de laatste zijn New TLNr,TLUNr,RCPKey New ToelevCompleet Set (TLNr,TLUNr,RCPKey)="" - For Set TLNr=$O(^aRecProdRecsToSend(TLNr)) Quit:(TLNr="") Do - . For Set TLUNr=$O(^aRecProdRecsToSend(TLNr,TLUNr)) Quit:(TLUNr="") Do + For Set TLNr=$O(^aRecProdRecsToSend($J,TLNr)) Quit:(TLNr="") Do + . For Set TLUNr=$O(^aRecProdRecsToSend($J,TLNr,TLUNr)) Quit:(TLUNr="") Do .. ;Tevens ook een test uitvoeren of akeyCRec en akeyCompleet aanwezig zijn, zoniet sluiten - .. If '$D(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCompleet)) Do Quit - ... Kill ^aRecProdRecsToSend(TLNr,TLUNr) + .. If '$D(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCompleet)) Do Quit + ... Kill ^aRecProdRecsToSend($J,TLNr,TLUNr) ... $$$WriteToLog("Killed incomplete CRec entry ('Complete' missing): TLNr="_TLNr_", TLUNr="_TLUNr) - .. If '$D(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec)) Do Quit - ... Kill ^aRecProdRecsToSend(TLNr,TLUNr) + .. If '$D(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec)) Do Quit + ... Kill ^aRecProdRecsToSend($J,TLNr,TLUNr) ... $$$WriteToLog("Killed incomplete CRec entry ('CRec' missing): TLNr="_TLNr_", TLUNr="_TLUNr) - .. Set ToelevCompleet=^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCompleet) + .. Set ToelevCompleet=^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCompleet) .. Quit:('ToelevCompleet) ;indien 0, dan zijn de C-Recs van deze toelevlijn ook al 0 en dan moet er niks wo gedaan - .. Set RCPKey=$O(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey),-1) ;laatste c-rec van toelevlijn opvragen - .. Set ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET")=1 ;deze is compleet - .. For Set RCPKey=$O(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey)) Quit:(RCPKey="") Do - ... Set ^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET")=0 ;de rest is 'not complete' natuurlijk + .. Set RCPKey=$O(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey),-1) ;laatste c-rec van toelevlijn opvragen + .. Set ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET")=1 ;deze is compleet + .. For Set RCPKey=$O(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey)) Quit:(RCPKey="") Do + ... Set ^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey,"COMPLEET")=0 ;de rest is 'not complete' natuurlijk $$$WriteToLog("Voorbereiding C-recs voltooid...") @@ -1132,15 +1132,15 @@ Set (TLNr,TLUNr,RCPKey)="" /// JBL : TO DO : checken of TLNR in gebruik is. - For Set TLNr=$O(^aRecProdRecsToSend(TLNr)) Quit:((TLNr="") || (ProcessErrorStr'="")) Do - . For Set TLUNr=$O(^aRecProdRecsToSend(TLNr,TLUNr)) Quit:((TLUNr="") || (ProcessErrorStr'="")) Do - .. For Set RCPKey=$O(^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey)) Quit:((RCPKey="") || (ProcessErrorStr'="")) Do - ... m C=^aRecProdRecsToSend(TLNr,TLUNr,$$$akeyCRec,RCPKey) + For Set TLNr=$O(^aRecProdRecsToSend($J,TLNr)) Quit:((TLNr="") || (ProcessErrorStr'="")) Do + . For Set TLUNr=$O(^aRecProdRecsToSend($J,TLNr,TLUNr)) Quit:((TLUNr="") || (ProcessErrorStr'="")) Do + .. For Set RCPKey=$O(^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey)) Quit:((RCPKey="") || (ProcessErrorStr'="")) Do + ... m C=^aRecProdRecsToSend($J,TLNr,TLUNr,$$$akeyCRec,RCPKey) ... $$$WriteToLog("Processing C-rec TLNr: "_TLNr_", TLUNr: "_TLUNr_", RCPKey:"_RCPKey_", Type: "_$G(C,"unknown")) ... Set ProcessErrorStr=##class(BL.MB.UGLYPicking.General).ProcessCRec(.C) If ProcessErrorStr="" Do - . Kill ^aRecProdRecsToSend + . Kill ^aRecProdRecsToSend($J) . Do AddToEndOfLog("Ok.") Else Do Quit $LB(-1,ProcessErrorStr) . $$$WriteToLogEx("Process error: "_ProcessErrorStr,$$$clRed) Index: UI/MB/ReceptieProductie/MainForm.cls.xml =================================================================== diff -u -r17175 -r17177 --- UI/MB/ReceptieProductie/MainForm.cls.xml (.../MainForm.cls.xml) (revision 17175) +++ UI/MB/ReceptieProductie/MainForm.cls.xml (.../MainForm.cls.xml) (revision 17177) @@ -1493,10 +1493,10 @@ If ##class(BL.MB.UGLYPicking.ReceptieProductie).SynchronizeRecsAvailable() Do . New Question . Set Question="Het doorsturen heeft vorige keer fouten veroorzaakt zodat sommige"_$C(13,10) - . Set Question=Question_"synchronisatie-berichten niet werden verwerkt. Wenst u dit nu te doen?" - . Quit:(MApplication.MessageBox(Question,..Form.Caption,$$$MBICONQUESTION+$$$MBYESNO+$$$MBDEFBUTTON1)=$$$mrNo) - . Do ..pmiSynchronizeClick($LB(+..pmiSynchronize)) - + . Set Question=Question_"synchronisatie-berichten niet werden verwerkt."_$C(13,10) + . Set Question=Question_"Gelieve contact op te nemen met IT, zij moeten verdere afhandeling doen." + . Do MApplication.MessageBox(Question,..Form.Caption,$$$MBICONQUESTION+$$$MBYESNO+$$$MBDEFBUTTON1) + . Do ..sendMailNaarIT() q $$$OK ]]> @@ -2850,18 +2850,7 @@ . Set Question="Er is een fout opgetreden tijdens het synchroniseren:"_$C(13,10) . Set Question=Question_$LI(Status,2)_$C(13,10,13,10)_"Gelieve contact op te nemen met IT, zij moeten verdere afhandeling doen." . Do MApplication.MessageBox(Question,..Form.Caption,$$$MBICONERROR+$$$MBOKCANCEL+$$$MBDEFBUTTON2) - . Set From = $$$SystemMail("ReceptieProductie") - . Set lbTo = $LB("ict_sysop@vanhoecke.be") - . Set Subject = "Fout tijdens synchroniseren oude berichten." - . Set Body = "Fout tijdens synchroniseren van oude berichten."_$C(13,10) - . Set Body = Body_$C(13,10) - . Set Body = Body_"Data in "_$Name(^aRecProdRecsToSend($J))_" : "_$C(13,10) - . Set Body = Body_$$ArrayToText^vhLib($Name(^aRecProdRecsToSend($J))) - . Set Body = Body_$C(13,10) - . Set Body = Body_"Te verwijderen via : "_$C(13,10) - . Set Body = Body_"Do ##class(BL.MB.UGLYPicking.ReceptieProductie).DeleteSynchronizeRecs("_$J_")" - . - . Do SendMiniMailForced^vhLib.Mail(From,lbTo,Subject,Body) + . Do ..sendMailNaarIT($J) . $$$WriteToLog("Fout tijdens versturen van oude synchronisatie-berichten!") Else Do ;SUCCESS . $$$WriteToLog("Synchronisatie-berichten succesvol verstuurd!") @@ -2872,6 +2861,33 @@ ]]> + +Job:%String="" + + + Args:%String cache