diff --git a/Jenkinsfile b/Jenkinsfile index 3104ba9..c398d69 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { steps { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=332']) { + withEnv(['NEXT_BUILD_NUMBER=333']) { // env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.versionNumberBeta = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') diff --git a/NKC_WF/Controllers/getMUCssController.cs b/NKC_WF/Controllers/getMUCssController.cs index 47437ef..6f99e40 100644 --- a/NKC_WF/Controllers/getMUCssController.cs +++ b/NKC_WF/Controllers/getMUCssController.cs @@ -57,14 +57,18 @@ namespace NKC_WF.Controllers // se vuoto lo calcolo... answ = ComLib.getCurrentCss(sheetID); } - // salvo ANCHE per foglio 0... - memLayer.ML.setRSV(redKeyZero, answ, 60); - + // salvo ANCHE per foglio 0... per 5 minuti + memLayer.ML.setRSV(redKeyZero, answ, 60 * 5); } else { // leggo ultimo... - answ = memLayer.ML.getRSV(redKeyZero); + try + { + answ = memLayer.ML.getRSV(redKeyZero); + } + catch + { } } // restituisco css return answ; diff --git a/NKC_WF/Web.config b/NKC_WF/Web.config index 78879a8..e2f7bc7 100644 --- a/NKC_WF/Web.config +++ b/NKC_WF/Web.config @@ -6,397 +6,411 @@ -
-
-
-
+
+
+
+
- - + + - + - - + + - + - - - + + + - + + - - - - - - - + + + + + + + - - + + - - - - - - + + + + + + - - - + + + - + - - - + + + - - + + - - - - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + - + - - - - + + + + - - - - - + + + + + @@ -404,20 +418,20 @@ See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for more information on remote access and securing ELMAH. --> - + - + - + no action"); - resetSelection(false); + resetSelection(); doRaiseEv = true; break; case codeType.Item: @@ -254,7 +254,7 @@ namespace NKC_WF.WebUserControls break; default: cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action"); - resetSelection(false); + resetSelection(); break; } return doRaiseEv; @@ -279,7 +279,7 @@ namespace NKC_WF.WebUserControls var tabOrdini = DataLayer.man.taOL.getByCart(rawData); if (tabOrdini.Count == 0) { - displError($"CART: Order not found for Cart {rawData}, {traduci("ErrPleaseRetry")}", true); + displError($"{traduci("KS_PIS_CartNotFound")} {rawData}, {traduci("ErrPleaseRetry")}"); resetCart(); } else @@ -290,7 +290,7 @@ namespace NKC_WF.WebUserControls // controllo se trovo righe... if (tabPLD.Count == 0) { - displError($"KIT REQuest: PackList not found for Cart {rawData} --> OrdExtCode {rigaOrd.OrderExtCode}, {traduci("ErrPleaseRetry")}", true); + displError($"KIT REQuest: PackList not found for Cart {rawData} --> OrdExtCode {rigaOrd.OrderExtCode}, {traduci("ErrPleaseRetry")}"); resetCart(); } else @@ -313,7 +313,7 @@ namespace NKC_WF.WebUserControls // --> metto cart in scarico e registro LOG come se avesse appena letto 1:1 ogni Dtmx DataLayer.man.taPLog.closeCart(codeInt); // mostro che ho fatto - displInfo($"OK: CART removed {rawData}", true); + displInfo($"OK: CART removed {rawData}"); lastObject = ""; // resetto BIN & CART resetBin(); @@ -322,7 +322,7 @@ namespace NKC_WF.WebUserControls else { lastObject = rawData; - displInfo($"Cart already completed, please read CART another time: Cart {rawData}", true); + displInfo($"Cart already completed, please read CART another time: Cart {rawData}"); } resetCart(); } @@ -333,7 +333,7 @@ namespace NKC_WF.WebUserControls var tabPLCheck = DataLayer.man.taPLC.GetData(rawData); if (tabPLCheck.Count == 0) { - displError($"ERROR evaluating CART: {rawData}", true); + displError($"ERROR evaluating CART: {rawData}"); resetCart(); } else @@ -347,7 +347,7 @@ namespace NKC_WF.WebUserControls { // --> metto cart in scarico e registro LOG come se avesse appena letto 1:1 ogni Dtmx DataLayer.man.taPLog.acquireCart(rawData, currIpAddress(), user_std.UtSn.userNameAD); - displInfo($"OK: CART acquired {rawData} - item confirmed", true); + displInfo($"OK: CART acquired {rawData} - item confirmed"); lastObject = ""; // eseguo comando x spostare i PAINT nel cart corretto... DataLayer.man.taKL.updateCartForBin(rawData); @@ -358,12 +358,12 @@ namespace NKC_WF.WebUserControls else { lastObject = rawData; - displError($"Please read CART another time: Cart {rawData}", true); + displError($"Please read CART another time: Cart {rawData}"); } } else { - displError($"ERROR CART contains KIT already on download: {rawData}", true); + displError($"ERROR CART contains KIT already on download: {rawData}"); resetCart(); } } @@ -377,7 +377,7 @@ namespace NKC_WF.WebUserControls // PRIMO: verifico SE ho delle righe valide... if (tabOKIB.Count == 0) { - displError($"BIN: Code not found {rawData}, {traduci("ErrPleaseRetry")}", true); + displError($"BIN: Code not found {rawData}, {traduci("ErrPleaseRetry")}"); // reset preliminare resetBin(); } @@ -386,7 +386,7 @@ namespace NKC_WF.WebUserControls var listPainted = tabOKIB.Where(x => !x.IsPaintDateNull()).ToList(); if (listPainted.Count == 0) { - displError($"BIN: Paint Date missing for item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}, {traduci("ErrPleaseRetry")}", true); + displError($"BIN: Paint Date missing for item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}, {traduci("ErrPleaseRetry")}"); // reset preliminare resetBin(); } @@ -395,7 +395,7 @@ namespace NKC_WF.WebUserControls var listAvailable = tabOKIB.Where(x => !x.IsPaintDateNull() && x.IsOnCartDateNull()).ToList(); if (listAvailable.Count == 0) { - displError($"BIN: No item available for pickup on target CART for code {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}, {traduci("ErrPleaseRetry")}", true); + displError($"BIN: No item available for pickup on target CART for code {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}, {traduci("ErrPleaseRetry")}"); // reset preliminare resetBin(); } @@ -405,7 +405,7 @@ namespace NKC_WF.WebUserControls var listCartAvailable = tabOKIB.Where(x => !x.IsCartKitStartNull() && x.IsCartKitEndNull()).ToList(); if (listCartAvailable.Count == 0) { - displError($"BIN: No CART available to proceed: {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}", true); + displError($"BIN: No CART available to proceed: {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}"); // reset preliminare resetBin(); } @@ -423,7 +423,7 @@ namespace NKC_WF.WebUserControls var listBinNotCompleted = tabOKIB.Where(x => !x.IsCartKitStartNull() && x.IsCartKitEndNull() && !x.IsBinKitStartNull() && x.IsBinKitEndNull()).ToList(); if (listBinNotCompleted.Count == 0) { - displError($"BIN: already completed: {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}", true); + displError($"BIN: already completed: {rawData} | item {tabOKIB[0].ItemDesc} | order {tabOKIB[0].OrderExtCode}"); // reset preliminare resetBin(); } @@ -443,7 +443,7 @@ namespace NKC_WF.WebUserControls { // chiedo seconda lettura lastObject = rawData; - displError($"Please read BIN another time: BIN {rawData}", true); + displError($"Please read BIN another time: BIN {rawData}"); // reset preliminare resetBin(); } @@ -458,7 +458,7 @@ namespace NKC_WF.WebUserControls tabItem = DataLayer.man.taIL.getBySearch(codeInt, rawData, 0, 999); if (tabItem.Count == 0) { - displError($"{traduci("ErrPartNotFound")} {rawData}, {traduci("ErrPleaseRetry")}", true); + displError($"{traduci("ErrPartNotFound")} {rawData}, {traduci("ErrPleaseRetry")}"); showItemDetail(false, null, true); } else if (tabItem.Count == 1) @@ -469,7 +469,7 @@ namespace NKC_WF.WebUserControls if (!itemRow.IsOnCartDateNull()) { // se caricato --> mostro che è già a posto - displError($"{traduci("ErrPartAlreadyOnCart")} {rawData}, {traduci("ErrPleaseRetry")}", true); + displError($"{traduci("ErrPartAlreadyOnCart")} {rawData}, {traduci("ErrPleaseRetry")}"); resetItem(); } else @@ -489,7 +489,7 @@ namespace NKC_WF.WebUserControls // PRIMO: verifico SE ho delle righe valide... if (tabOKOI.Count == 0) { - displError($"{traduci("ErrPartNotFound")} {rawData}, {traduci("ErrPleaseRetry")}", true); + displError($"{traduci("ErrPartNotFound")} {rawData}, {traduci("ErrPleaseRetry")}"); // reset preliminare resetOtherItem(); } @@ -498,7 +498,7 @@ namespace NKC_WF.WebUserControls var listAvailable = tabOKOI.Where(x => x.IsOnCartDateNull()).ToList(); if (listAvailable.Count == 0) { - displError($"{traduci("ErrPartNoItemAvail")} {rawData} | item {tabOKOI[0].OtherItemDesc} | order {tabOKOI[0].OrderExtCode}, {traduci("ErrPleaseRetry")}", true); + displError($"{traduci("ErrPartNoItemAvail")} {rawData} | item {tabOKOI[0].OtherItemDesc} | order {tabOKOI[0].OrderExtCode}, {traduci("ErrPleaseRetry")}"); // reset preliminare resetOtherItem(); } @@ -508,7 +508,7 @@ namespace NKC_WF.WebUserControls var listCartAvailable = tabOKOI.Where(x => !x.IsCartKitStartNull() && x.IsCartKitEndNull()).ToList(); if (listCartAvailable.Count == 0) { - displError($"{traduci("ErrPartNoCartAvail")}: {rawData} | item {tabOKOI[0].OtherItemDesc} | order {tabOKOI[0].OrderExtCode}", true); + displError($"{traduci("ErrPartNoCartAvail")}: {rawData} | item {tabOKOI[0].OtherItemDesc} | order {tabOKOI[0].OrderExtCode}"); // reset preliminare resetOtherItem(); } @@ -618,47 +618,29 @@ namespace NKC_WF.WebUserControls /// Mostra INFO ed effettua reset vari... /// /// - /// - protected void displInfo(string infoMessage, bool resetStatus) + protected void displInfo(string infoMessage) { lblSuccessMsg.Text = infoMessage; divError.Visible = false; divInfo.Visible = true; - resetSelection(resetStatus); + resetSelection(); } /// /// Mostra ERROR ed effettua reset vari... /// /// - /// - protected void displError(string errorMessage, bool resetStatus) + protected void displError(string errorMessage) { lblErrorMsg.Text = errorMessage; divError.Visible = true; divInfo.Visible = false; - resetSelection(resetStatus); + resetSelection(); } /// /// Reset selezione item + blocchi suggerimento + sel REDIS x pagina unload /// - /// - protected void resetSelection(bool resetStatus) + protected void resetSelection() { - if (resetStatus) - { - try - { - // SE item esiste... - var tabItem = DataLayer.man.taIL.getBySearch(itemIdSelected, itemIdSelected.ToString(), 0, 999); - if (tabItem.Count == 1) - { - // riporto item a status 1... - DataLayer.man.taIL.updateStatus(itemIdSelected, 1, PlaceId); - } - } - catch - { } - } // elimino item sel... itemIdSelected = 0; resetShowData(); @@ -677,7 +659,7 @@ namespace NKC_WF.WebUserControls divError.Visible = showError; if (showError) { - displError("Item not found", true); + displError("Item not found"); } if (showItem) { @@ -702,33 +684,31 @@ namespace NKC_WF.WebUserControls switch (itemRow.StatusID) { case 0: - displError("ERROR: Item not ready", false); + displError("ERROR: Item not ready"); break; case 1: case 2: case 100: - // salvo che è in STATO 2 (picked up) - DataLayer.man.taIL.updateStatus(itemRow.ItemID, 2, PlaceId); doUpdate(); break; case 3: - displError("Item already on CART!", false); + displError("Item already on CART!"); break; case 4: // fino a concorrenza qta richiesta sposto, POI do errori - displError("ALL Item already scanned on BIN!", false); + displError("ALL Item already scanned on BIN!"); break; case 5: - displError("Item already at KIT STATION!", false); + displError("Item already at KIT STATION!"); break; case 990: - displError("Item declared SCRAP!", false); + displError("Item declared SCRAP!"); break; case 991: - displError("Item declared SCRAP with CNC program created!", false); + displError("Item declared SCRAP with CNC program created!"); break; default: - displError("ERROR: Item status UNKNOWN!", false); + displError("ERROR: Item status UNKNOWN!"); break; } } @@ -796,9 +776,7 @@ namespace NKC_WF.WebUserControls protected void lbtCancel_Click(object sender, EventArgs e) { - // resetto item selezionato... - DataLayer.man.taIL.updateStatus(itemIdSelected, 1, PlaceId); - resetSelection(true); + resetSelection(); showItemDetail(false, null, false); } protected void lbtResetSel_Click(object sender, EventArgs e) @@ -809,7 +787,7 @@ namespace NKC_WF.WebUserControls resetShowData(); // resetto sheet selezionato... DataLayer.man.taIL.updateSheetStatusPU(tabSheet[0].SheetID, PlaceId); - resetSelection(true); + resetSelection(); showItemDetail(false, null, false); } } diff --git a/NKC_WF/WebUserControls/cmp_labelsPrint.ascx.cs b/NKC_WF/WebUserControls/cmp_labelsPrint.ascx.cs index 72ac3fc..ca87b46 100644 --- a/NKC_WF/WebUserControls/cmp_labelsPrint.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_labelsPrint.ascx.cs @@ -421,11 +421,6 @@ namespace NKC_WF.WebUserControls protected void lbtCancel_Click(object sender, EventArgs e) { - // FIXME TODO va eliminata?!?!?!? - // resetto item selezionato... - DataLayer.man.taIL.updateStatus(itemIdSelected, 1, PlaceId); - - resetDisplay(true); showItemDetail(false, null, false); } diff --git a/NKC_WF/WebUserControls/cmp_stackLoading.ascx b/NKC_WF/WebUserControls/cmp_stackLoading.ascx index 202abc5..9ae9b8a 100644 --- a/NKC_WF/WebUserControls/cmp_stackLoading.ascx +++ b/NKC_WF/WebUserControls/cmp_stackLoading.ascx @@ -6,10 +6,10 @@
-

<%: traduci("ProdSimul") %>

+

<%: traduci("ProdSimul") %>

- <%: traduci("Advance") %> #<%: traduci("Prod") %> + <%: traduci("Advance") %> #<%: traduci("Prod") %>
@@ -21,25 +21,28 @@
-
- <%: traduci("Batch") %> +
+ <%: traduci("Batch") %> -
- <%: traduci("TotBunk") %> -
-
+
<%: traduci("BatchCurrent") %> -
- <%: traduci("TotSheets") %> -
-
- <%: traduci("DueDate") %> +
+ <%: traduci("DueDate") %> -
- <%: traduci("TotItems") %> - +
+
+ <%: traduci("TotBunk") %> + +
+
+ <%: traduci("TotSheets") %> + +
+
+ <%: traduci("TotItems") %> +
diff --git a/NKC_WF/WebUserControls/cmp_stackLoading.ascx.cs b/NKC_WF/WebUserControls/cmp_stackLoading.ascx.cs index 29d3f25..da261dd 100644 --- a/NKC_WF/WebUserControls/cmp_stackLoading.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_stackLoading.ascx.cs @@ -31,7 +31,6 @@ namespace NKC_WF.WebUserControls private void fixDisplay() { cmp_barcode.Visible = enableBCode; - frmView.Visible = !enableBCode; } public bool enableBCode @@ -48,6 +47,7 @@ namespace NKC_WF.WebUserControls } } + /// /// Comando barcode letto /// @@ -101,9 +101,24 @@ namespace NKC_WF.WebUserControls } private void Cmp_barcode_eh_doRefresh(object sender, EventArgs e) { + bool doRaiseEv = false; // processo evento.. lastCmd = cmp_barcode.inputAcquired.ToUpper(); + doRaiseEv = processLastCmd(doRaiseEv); + // reset comando + cmp_barcode.inputAcquired = ""; + // aggiorno... + doUpdate(); + // se richiesto faccio raiseEvent + if (doRaiseEv) + { + cmp_stackNextloading.doUpdate(); + } + } + + private bool processLastCmd(bool doRaiseEv) + { if (string.IsNullOrEmpty(lastCmd)) { doRaiseEv = true; @@ -112,27 +127,16 @@ namespace NKC_WF.WebUserControls decodedData decoData = DataLayer.man.decodeBcode(lastCmd); switch (decoData.codeType) { - case codeType.UNK: - cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action"); - doRaiseEv = true; - break; - case codeType.Item: - case codeType.ItemGeneric: - cmp_barcode.showOutput("text-warning", $"Item - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Material: - cmp_barcode.showOutput("badge badge-warning", $"Material - ignored: {decoData.description}"); - doRaiseEv = true; - break; - case codeType.Sheet: - cmp_barcode.showOutput("badge badge-warning", $"Sheet - ignored: {decoData.description}"); - doRaiseEv = true; - break; case codeType.Stack: // verifico SE lo stack esista... - DS_App.StackListDataTable tabStack = DataLayer.man.taSTL.getByKey(decoData.codeInt); - if (tabStack.Count == 0) + DS_App.StackListDataTable tabStack = null; + try + { + tabStack = DataLayer.man.taSTL.getByKey(decoData.codeInt); + } + catch + { } + if (tabStack != null && tabStack.Count == 0) { cmp_barcode.showOutput("badge badge-danger", $"BUNK NOT FOUND: {decoData.description}"); doRaiseEv = true; @@ -202,25 +206,15 @@ namespace NKC_WF.WebUserControls } } break; - case codeType.Batch: - cmp_barcode.showOutput("badge badge-warning", $"Batch - ignored: {decoData.description}"); - doRaiseEv = true; - break; default: + cmp_barcode.showOutput("text-danger", $"Data Ignored: {decoData.rawData} --> no action"); doRaiseEv = true; break; } - // reset comando - cmp_barcode.resetInput(); - // aggiorno... - doUpdate(); - // se richiesto faccio raiseEvent - if (doRaiseEv) - { - cmp_stackNextloading.doUpdate(); - raiseEvent(); - } + + return doRaiseEv; } + protected bool currentBunkAlreadyWorking(int StackIdRequested) { bool answ = false; @@ -280,7 +274,7 @@ namespace NKC_WF.WebUserControls protected void checkVisibility() { lblLoaded.Visible = StackId != 0; - frmView.Visible = !lblLoaded.Visible && !enableBCode; + frmView.Visible = !lblLoaded.Visible; // fix div di simulazione divSim.Visible = (memLayer.ML.CRS("environment") == "DEV" && !enableBCode); } @@ -291,6 +285,11 @@ namespace NKC_WF.WebUserControls } + protected void timerLoad_Tick(object sender, EventArgs e) + { + checkVisibility(); + cmp_stackNextloading.doUpdate(); + } protected void frmView_DataBound(object sender, EventArgs e) { diff --git a/NKC_WF/WebUserControls/cmp_stackNextloading.ascx b/NKC_WF/WebUserControls/cmp_stackNextloading.ascx index 8527084..9e57969 100644 --- a/NKC_WF/WebUserControls/cmp_stackNextloading.ascx +++ b/NKC_WF/WebUserControls/cmp_stackNextloading.ascx @@ -50,7 +50,7 @@ <%: traduci("Items") %>
-
+
<%: traduci("Items") %>
@@ -85,10 +85,10 @@
-
+
<%: traduci("NoNextBunk") %>
-
+
<%: traduci("BatchComplete") %>
diff --git a/NKC_WF/WebUserControls/cmp_stackNextloading.ascx.cs b/NKC_WF/WebUserControls/cmp_stackNextloading.ascx.cs index f03b1ad..13cf0af 100644 --- a/NKC_WF/WebUserControls/cmp_stackNextloading.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_stackNextloading.ascx.cs @@ -49,7 +49,10 @@ namespace NKC_WF.WebUserControls get { int answ = 0; - int.TryParse(frmViewNext.SelectedValue.ToString(), out answ); + if (frmViewNext.SelectedValue != null) + { + int.TryParse(frmViewNext.SelectedValue.ToString(), out answ); + } return answ; } } diff --git a/NKC_WF/site/MachineLoadSmart.aspx b/NKC_WF/site/MachineLoadSmart.aspx index f50d47c..d4d7fd4 100644 --- a/NKC_WF/site/MachineLoadSmart.aspx +++ b/NKC_WF/site/MachineLoadSmart.aspx @@ -7,16 +7,11 @@

<%: traduci("MachineLoad") %>

- - - -
-
- -
-
-
-
+
+
+ +
+
diff --git a/NKC_WF/site/MachineLoadSmart.aspx.cs b/NKC_WF/site/MachineLoadSmart.aspx.cs index a60db68..4d5ce6f 100644 --- a/NKC_WF/site/MachineLoadSmart.aspx.cs +++ b/NKC_WF/site/MachineLoadSmart.aspx.cs @@ -23,10 +23,5 @@ namespace NKC_WF.site { cmp_stackLoading.doUpdate(); } - - protected void timerLoad_Tick(object sender, EventArgs e) - { - forceRefresh(); - } } } \ No newline at end of file diff --git a/NKC_WF/site/MachineLoadSmart.aspx.designer.cs b/NKC_WF/site/MachineLoadSmart.aspx.designer.cs index 3727818..7d15274 100644 --- a/NKC_WF/site/MachineLoadSmart.aspx.designer.cs +++ b/NKC_WF/site/MachineLoadSmart.aspx.designer.cs @@ -14,24 +14,6 @@ namespace NKC_WF.site public partial class MachineLoadSmart { - /// - /// Controllo upnlBCode. - /// - /// - /// Campo generato automaticamente. - /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. - /// - protected global::System.Web.UI.UpdatePanel upnlBCode; - - /// - /// Controllo timerLoad. - /// - /// - /// Campo generato automaticamente. - /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. - /// - protected global::System.Web.UI.Timer timerLoad; - /// /// Controllo cmp_stackLoading. ///