diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx b/GMW/WebUserControls/mod_PostFinMultOUT.ascx index 35dad63b..0a96fdbc 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx @@ -133,12 +133,14 @@
+ + - - + +
diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs index 4b2e47f8..2bbee142 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.cs @@ -6,906 +6,907 @@ using System.Web.UI.WebControls; namespace GMW.WebUserControls { - public partial class mod_PostFinMultOUT : GMW_data.UserControl + public partial class mod_PostFinMultOUT : GMW_data.UserControl + { + /// + /// flusso associato (hard coded) a FUSI + /// + protected string flusso = "FI"; + /// + /// stato associato (hard coded) a FUSI + /// + protected string statoUDC = "Fin"; + /// + /// tipo di evento associato alla creazione dell'UDC + /// + protected string eventoUDC = "UDC_FINITO"; + /// + /// dati x verifica CodSoggetto / matricola + /// + protected string preCodSogg = memLayer.ML.AppConf["prefCodSogg"]; + + public event EventHandler eh_reqUpdate; + + /// + /// caricamento pagina + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) { - /// - /// flusso associato (hard coded) a FUSI - /// - protected string flusso = "FI"; - /// - /// stato associato (hard coded) a FUSI - /// - protected string statoUDC = "Fin"; - /// - /// tipo di evento associato alla creazione dell'UDC - /// - protected string eventoUDC = "UDC_FINITO"; - /// - /// dati x verifica CodSoggetto / matricola - /// - protected string preCodSogg = memLayer.ML.AppConf["prefCodSogg"]; + if (!Page.IsPostBack) + { + Postazione.messaggiText = ""; + Postazione.warningText = ""; + traduciObj(); + CodBlocco = Postazione.currCodBlocco; + checkNumKeyIn(); + // reimposto eventuale particolare...?!? + currParticolare = "";// currParticolare; + grView.DataSourceID = "ods"; + lblUdcParent.Text = traduci("UDC"); + hfNumLast.Value = memLayer.ML.AppConf["numLastImb2Show"]; + } + doChecks(); + } + /// + /// verifico se ci sia in sessione un input da NumKeyb e nel caso lometto in barcodeIn e processo... + /// + private void checkNumKeyIn() + { + if (memLayer.ML.isInSessionObject("numKeyIn")) + { + barcodeIn = memLayer.ML.StringSessionObj("numKeyIn"); + // svuoto valore in sessione... + memLayer.ML.emptySessionVal("numKeyIn"); + // controllo barcode... + checkBarcode(); + } + } - public event EventHandler eh_reqUpdate; - - /// - /// caricamento pagina - /// - /// - /// - protected void Page_Load(object sender, EventArgs e) + /// + /// CodBLocco associato alla linea corrente + /// + protected string CodBlocco + { + get + { + string answ = ""; + if (memLayer.ML.isInSessionObject("CodBloccoLineaLFM_OUT")) { - if (!Page.IsPostBack) - { - Postazione.messaggiText = ""; - Postazione.warningText = ""; - traduciObj(); - CodBlocco = Postazione.currCodBlocco; - checkNumKeyIn(); - // reimposto eventuale particolare...?!? - currParticolare = "";// currParticolare; - grView.DataSourceID = "ods"; - lblUdcParent.Text = traduci("UDC"); - } - doChecks(); + answ = memLayer.ML.StringSessionObj("CodBloccoLineaLFM_OUT"); } - /// - /// verifico se ci sia in sessione un input da NumKeyb e nel caso lometto in barcodeIn e processo... - /// - private void checkNumKeyIn() + return answ; + } + set + { + memLayer.ML.setSessionVal("CodBloccoLineaLFM_OUT", value); + } + } + /// + /// richiesta (ri)stampa UDC + /// + /// + /// + public void ristampa() + { + bool fatto = false; + // registro ri-stampa UDC + DateTime adesso = DateTime.Now; + // calcolo particolare... + DS_magazzino.ElencoCartelliniRow rigaUDC; + string particolare = ""; + try + { + rigaUDC = MagClass.magazzino.taCartellini.getByUdc(udcReq)[0]; + particolare = rigaUDC.Particolare; + fatto = MagClass.magazzino.ristampaUdc(udcReq, Postazione.printer, Request.UserHostName); + } + catch + { + logger.lg.scriviLog(string.Format("Errore recupero particolare UDC Finito LM OUT {0}", udcReq), tipoLog.EXCEPTION); + } + if (fatto) MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, udcReq, particolare, "stampaUDC", "Ri-Stampato UDC Finito LM OUT"); + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } + } + /// + /// udc da stampare + /// + protected string udcReq + { + get + { + return memLayer.ML.StringSessionObj("udcSelSAO"); + } + } + /// + /// controlla particolare selezionato + /// + private void checkParticolare() + { + if (currParticolare != "") + { + lblParticolareAttivo.Text = string.Format("{0}", currParticolare); + //lblParticolareAttivo.Text = string.Format("Particolare selezionato {0}", currParticolare); + lblPart.Text = currParticolare; + // aggiungo descrizione del particolare + string descr = ""; + string disegno = ""; + try { - if (memLayer.ML.isInSessionObject("numKeyIn")) - { - barcodeIn = memLayer.ML.StringSessionObj("numKeyIn"); - // svuoto valore in sessione... - memLayer.ML.emptySessionVal("numKeyIn"); - // controllo barcode... - checkBarcode(); - } + DS_magazzino.AnagParticolariRow riga = MagClass.magazzino.taAnagPart.likeSearch(currParticolare, memLayer.ML.StringSessionObj("CodCS"))[0]; + descr = riga.DescParticolare; + disegno = string.Format("( {0} )", riga.DisegnoGrezzo); } - - /// - /// CodBLocco associato alla linea corrente - /// - protected string CodBlocco + catch + { } + lblDescrAttivo.Text = descr; + lblDisegno.Text = disegno; + } + else + { + lblParticolareAttivo.Text = "..."; + lblDescrAttivo.Text = ""; + lblDisegno.Text = ""; + } + } + /// + /// effettua controlli visibilità + /// + private void doChecks() + { + checkBarcode(); + checkStampa(); + checkParticolare(); + } + /// + /// sistemo labels oggetti + /// + private void traduciObj() + { + //txtBox + txtQta.Text = memLayer.ML.cdv("QtaImballoFiniti"); + // buttons + btnEmptyNote.Text = traduci("btnEmptyNote"); + } + /// + /// indica il codice articolo correntemente selezionato + /// + protected string currParticolare + { + get + { + return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid)); + //return hfCurrPart.Value; + } + set + { + memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); + hfCurrPart.Value = value; + } + } + /// + /// indica data minima ingresso x validità UDC + /// + protected DateTime minDt + { + get + { + return Convert.ToDateTime(hfMinDt.Value); + } + set + { + hfMinDt.Value = value.ToString(); + } + } + /// + /// indica data minima ingresso x validità UDC + /// + protected DateTime maxDt + { + get + { + return Convert.ToDateTime(hfMaxDt.Value); + } + set + { + hfMaxDt.Value = value.ToString(); + } + } + /// + /// indica il numero max di UDC x cella + /// + protected int num4Cell + { + get + { + return Convert.ToInt32(hfNum4Cell.Value); + } + set + { + hfNum4Cell.Value = value.ToString(); + } + } + /// + /// num pezzi dell'ultimo UDC del particolare generato + /// + public int pezziUdc + { + get + { + int answ = 0; + try { - get - { - string answ = ""; - if (memLayer.ML.isInSessionObject("CodBloccoLineaLFM_OUT")) - { - answ = memLayer.ML.StringSessionObj("CodBloccoLineaLFM_OUT"); - } - return answ; - } - set - { - memLayer.ML.setSessionVal("CodBloccoLineaLFM_OUT", value); - } + answ = (int)MagClass.magazzino.taCartellini.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUDC)[0].Qta; } - /// - /// richiesta (ri)stampa UDC - /// - /// - /// - public void ristampa() + catch + { } + return answ; + } + } + /// + /// cod imballo dell'ultimo UDC del particolare generato + /// + public string lastCodImb + { + get + { + string answ = ""; + try { - bool fatto = false; - // registro ri-stampa UDC - DateTime adesso = DateTime.Now; - // calcolo particolare... - DS_magazzino.ElencoCartelliniRow rigaUDC; - string particolare = ""; + answ = MagClass.magazzino.taCartellini.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUDC)[0].CodImballo; + } + catch + { } + return answ; + } + } + /// + /// decodifica il tipo barcode acquisito + /// + public tipoCodiceBarcode tipoBCode + { + get + { + tipoCodiceBarcode answ = tipoCodiceBarcode.ND; + int trovati = 0; + int matricola = -1; + // provo a convertire in intero barcode x verifica eventuale matricola... + try + { + matricola = Convert.ToInt32(barcodeIn); + } + catch + { } + // controllo non si tratti di un comando... + string preCmd = memLayer.ML.AppConf["prefComandi"]; + if (barcodeIn.StartsWith(preCmd)) + { + answ = tipoCodiceBarcode.Comando; + } + else if ((TermClass.Ter.riconosciBarcode(barcodeIn) == tipoCodiceBarcode.Particolare)) // è un particolare... + { + answ = tipoCodiceBarcode.Particolare; + } + // controllo se sia un codice IMBALLO + else if (utils.obj.taSelImballi.getByImballo(barcodeIn).Rows.Count > 0) + { + // è imballo! + answ = tipoCodiceBarcode.Imballo; + } + else if (barcodeIn.StartsWith(preCodSogg)) + { + // cerco cod soggetto... + if (DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0).Rows.Count == 1) + { + answ = tipoCodiceBarcode.Operatore; + } + } + else if (matricola >= 0) + { + if (DataProxy.obj.taTrascSogg.getByKey("", matricola).Rows.Count == 1) + { + answ = tipoCodiceBarcode.Operatore; + } + } + else + { + try + { + // cerco tra gitterbox (UDC)... + trovati = MagClass.magazzino.taCartellini.getByUdc(barcodeIn).Rows.Count; + if (trovati > 0) + { + answ = tipoCodiceBarcode.UDC; + } + } + catch + { + } + } + return answ; + } + } + /// + /// valore barcode + /// + public string barcodeIn + { + get + { + return txtBarcode.Text.Trim(); + } + set + { + txtBarcode.Text = value; + } + } + /// + /// qta pezzi TOTALE + /// + public int qta + { + get + { + int qta = 0; + try + { + qta = Convert.ToInt32(txtQta.Text.Trim()); + } + catch + { } + return qta; + } + set + { + txtQta.Text = value.ToString(); + } + } + /// + /// controlla se ci sia un barcode + /// + private void checkBarcode() + { + if (barcodeIn != "") + { + Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn); + switch (tipoBCode) + { + case tipoCodiceBarcode.Comando: + if (barcodeIn == memLayer.ML.cdv("cmdReset")) + { + currParticolare = ""; + Response.Redirect(PagCorrente); + } + break; + case tipoCodiceBarcode.Imballo: + // cerco di selezionare! try { - rigaUDC = MagClass.magazzino.taCartellini.getByUdc(udcReq)[0]; - particolare = rigaUDC.Particolare; - fatto = MagClass.magazzino.ristampaUdc(udcReq, Postazione.printer, Request.UserHostName); + ddlImballi.SelectedValue = barcodeIn; } catch { - logger.lg.scriviLog(string.Format("Errore recupero particolare UDC Finito LM OUT {0}", udcReq), tipoLog.EXCEPTION); + Postazione.warningText = traduci("ERR-IMB-001"); + Postazione.CssClass = "stileComandoKo"; } - if (fatto) MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, udcReq, particolare, "stampaUDC", "Ri-Stampato UDC Finito LM OUT"); - // raise dell'evento - if (eh_reqUpdate != null) + break; + case tipoCodiceBarcode.Particolare: + // imposto il particolare corrente + currParticolare = barcodeIn; + processParticolare(); + break; + case tipoCodiceBarcode.UDC: + // procedo solo se UDC esistente + if (MagClass.magazzino.checkUDC(barcodeIn)) { - eh_reqUpdate(this, new EventArgs()); + // calcolo nuovo particolare + currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; + processParticolare(); } - } - /// - /// udc da stampare - /// - protected string udcReq - { - get + + break; + case tipoCodiceBarcode.Operatore: + // calcolo matricola utente + int MatrUtente = -1; + string preCodSogg = memLayer.ML.AppConf["prefCodSogg"]; + if (barcodeIn.StartsWith(preCodSogg)) { - return memLayer.ML.StringSessionObj("udcSelSAO"); - } - } - /// - /// controlla particolare selezionato - /// - private void checkParticolare() - { - if (currParticolare != "") - { - lblParticolareAttivo.Text = string.Format("{0}", currParticolare); - //lblParticolareAttivo.Text = string.Format("Particolare selezionato {0}", currParticolare); - lblPart.Text = currParticolare; - // aggiungo descrizione del particolare - string descr = ""; - string disegno = ""; - try - { - DS_magazzino.AnagParticolariRow riga = MagClass.magazzino.taAnagPart.likeSearch(currParticolare, memLayer.ML.StringSessionObj("CodCS"))[0]; - descr = riga.DescParticolare; - disegno = string.Format("( {0} )", riga.DisegnoGrezzo); - } - catch - { } - lblDescrAttivo.Text = descr; - lblDisegno.Text = disegno; + MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola; } else { - lblParticolareAttivo.Text = "..."; - lblDescrAttivo.Text = ""; - lblDisegno.Text = ""; + MatrUtente = Convert.ToInt32(barcodeIn); } - } - /// - /// effettua controlli visibilità - /// - private void doChecks() - { - checkBarcode(); - checkStampa(); - checkParticolare(); - } - /// - /// sistemo labels oggetti - /// - private void traduciObj() - { - //txtBox - txtQta.Text = memLayer.ML.cdv("QtaImballoFiniti"); - // buttons - btnEmptyNote.Text = traduci("btnEmptyNote"); - } - /// - /// indica il codice articolo correntemente selezionato - /// - protected string currParticolare - { - get + if (MatrUtente >= 0) { - return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid)); - //return hfCurrPart.Value; - } - set - { - memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel")); - hfCurrPart.Value = value; - } - } - /// - /// indica data minima ingresso x validità UDC - /// - protected DateTime minDt - { - get - { - return Convert.ToDateTime(hfMinDt.Value); - } - set - { - hfMinDt.Value = value.ToString(); - } - } - /// - /// indica data minima ingresso x validità UDC - /// - protected DateTime maxDt - { - get - { - return Convert.ToDateTime(hfMaxDt.Value); - } - set - { - hfMaxDt.Value = value.ToString(); - } - } - /// - /// indica il numero max di UDC x cella - /// - protected int num4Cell - { - get - { - return Convert.ToInt32(hfNum4Cell.Value); - } - set - { - hfNum4Cell.Value = value.ToString(); - } - } - /// - /// num pezzi dell'ultimo UDC del particolare generato - /// - public int pezziUdc - { - get - { - int answ = 0; - try - { - answ = (int)MagClass.magazzino.taCartellini.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUDC)[0].Qta; - } - catch - { } - return answ; - } - } - /// - /// cod imballo dell'ultimo UDC del particolare generato - /// - public string lastCodImb - { - get - { - string answ = ""; - try - { - answ = MagClass.magazzino.taCartellini.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUDC)[0].CodImballo; - } - catch - { } - return answ; - } - } - /// - /// decodifica il tipo barcode acquisito - /// - public tipoCodiceBarcode tipoBCode - { - get - { - tipoCodiceBarcode answ = tipoCodiceBarcode.ND; - int trovati = 0; - int matricola = -1; - // provo a convertire in intero barcode x verifica eventuale matricola... - try - { - matricola = Convert.ToInt32(barcodeIn); - } - catch - { } - // controllo non si tratti di un comando... - string preCmd = memLayer.ML.AppConf["prefComandi"]; - if (barcodeIn.StartsWith(preCmd)) - { - answ = tipoCodiceBarcode.Comando; - } - else if ((TermClass.Ter.riconosciBarcode(barcodeIn) == tipoCodiceBarcode.Particolare)) // è un particolare... - { - answ = tipoCodiceBarcode.Particolare; - } - // controllo se sia un codice IMBALLO - else if (utils.obj.taSelImballi.getByImballo(barcodeIn).Rows.Count > 0) - { - // è imballo! - answ = tipoCodiceBarcode.Imballo; - } - else if (barcodeIn.StartsWith(preCodSogg)) - { - // cerco cod soggetto... - if (DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0).Rows.Count == 1) - { - answ = tipoCodiceBarcode.Operatore; - } - } - else if (matricola >= 0) - { - if (DataProxy.obj.taTrascSogg.getByKey("", matricola).Rows.Count == 1) - { - answ = tipoCodiceBarcode.Operatore; - } - } - else - { - try - { - // cerco tra gitterbox (UDC)... - trovati = MagClass.magazzino.taCartellini.getByUdc(barcodeIn).Rows.Count; - if (trovati > 0) - { - answ = tipoCodiceBarcode.UDC; - } - } - catch - { - } - } - return answ; - } - } - /// - /// valore barcode - /// - public string barcodeIn - { - get - { - return txtBarcode.Text.Trim(); - } - set - { - txtBarcode.Text = value; - } - } - /// - /// qta pezzi TOTALE - /// - public int qta - { - get - { - int qta = 0; - try - { - qta = Convert.ToInt32(txtQta.Text.Trim()); - } - catch - { } - return qta; - } - set - { - txtQta.Text = value.ToString(); - } - } - /// - /// controlla se ci sia un barcode - /// - private void checkBarcode() - { - if (barcodeIn != "") - { - Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn); - switch (tipoBCode) - { - case tipoCodiceBarcode.Comando: - if (barcodeIn == memLayer.ML.cdv("cmdReset")) - { - currParticolare = ""; - Response.Redirect(PagCorrente); - } - break; - case tipoCodiceBarcode.Imballo: - // cerco di selezionare! - try - { - ddlImballi.SelectedValue = barcodeIn; - } - catch - { - Postazione.warningText = traduci("ERR-IMB-001"); - Postazione.CssClass = "stileComandoKo"; - } - break; - case tipoCodiceBarcode.Particolare: - // imposto il particolare corrente - currParticolare = barcodeIn; - processParticolare(); - break; - case tipoCodiceBarcode.UDC: - // procedo solo se UDC esistente - if (MagClass.magazzino.checkUDC(barcodeIn)) - { - // calcolo nuovo particolare - currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(barcodeIn)[0].Particolare; - processParticolare(); - } - - break; - case tipoCodiceBarcode.Operatore: - // calcolo matricola utente - int MatrUtente = -1; - string preCodSogg = memLayer.ML.AppConf["prefCodSogg"]; - if (barcodeIn.StartsWith(preCodSogg)) - { - MatrUtente = DataProxy.obj.taTrascSogg.getByKey(barcodeIn, 0)[0].CodMatricola; - } - else - { - MatrUtente = Convert.ToInt32(barcodeIn); - } - if (MatrUtente >= 0) - { - // salvo in sessione operatore con AUTH - OpAuth.startOpAuth(MatrUtente); - // mostro che ho autorizzato... - Postazione.messaggiText += traduci("userAuthRec"); - Postazione.CssClass = "stileComandoOk"; - Response.Redirect(user_std.pagCorrente); - } - else - { - Postazione.messaggiText += " - codice non riconosciuto!"; - Postazione.CssClass = "stileComandoND"; - } - break; - default: - // cerco se sia "0" = reset utente... - if (barcodeIn == memLayer.ML.CRS("resetCodSogg")) - { - // salvo in sessione operatore con AUTH - OpAuth.stopAuth(); - // mostro che ho autorizzato... - Postazione.messaggiText += traduci("userAuthRem"); - Postazione.CssClass = "stileComandoOk"; - Response.Redirect(user_std.pagCorrente); - } - Postazione.messaggiText += " - codice non riconosciuto!"; - Postazione.CssClass = "stileComandoND"; - break; - } - barcodeIn = ""; + // salvo in sessione operatore con AUTH + OpAuth.startOpAuth(MatrUtente); + // mostro che ho autorizzato... + Postazione.messaggiText += traduci("userAuthRec"); + Postazione.CssClass = "stileComandoOk"; + Response.Redirect(user_std.pagCorrente); } else { - Postazione.messaggiText = traduci("AttesaBCode"); - Postazione.CssClass = "stileAttesa"; + Postazione.messaggiText += " - codice non riconosciuto!"; + Postazione.CssClass = "stileComandoND"; } - txtBarcode.Focus(); + break; + default: + // cerco se sia "0" = reset utente... + if (barcodeIn == memLayer.ML.CRS("resetCodSogg")) + { + // salvo in sessione operatore con AUTH + OpAuth.stopAuth(); + // mostro che ho autorizzato... + Postazione.messaggiText += traduci("userAuthRem"); + Postazione.CssClass = "stileComandoOk"; + Response.Redirect(user_std.pagCorrente); + } + Postazione.messaggiText += " - codice non riconosciuto!"; + Postazione.CssClass = "stileComandoND"; + break; } - /// - /// Processa nuovo particoalre letto... - /// - private void processParticolare() - { - impostaParticolare(); - // cambio titolo x UDC aprent... - lblUdcParent.Text = traduci("UdcParentEffett"); + barcodeIn = ""; + } + else + { + Postazione.messaggiText = traduci("AttesaBCode"); + Postazione.CssClass = "stileAttesa"; + } + txtBarcode.Focus(); + } + /// + /// Processa nuovo particoalre letto... + /// + private void processParticolare() + { + impostaParticolare(); + // cambio titolo x UDC aprent... + lblUdcParent.Text = traduci("UdcParentEffett"); - // salvo tutti i valori dei parametri attuali e cambio ods x grView... - minDt = DateTime.Now.AddMinutes(-maxTime); - maxDt = DateTime.Now.AddMinutes(-minTime); - num4Cell = memLayer.ML.CRI("num4Cell"); + // salvo tutti i valori dei parametri attuali e cambio ods x grView... + minDt = DateTime.Now.AddMinutes(-maxTime); + maxDt = DateTime.Now.AddMinutes(-minTime); + num4Cell = memLayer.ML.CRI("num4Cell"); - // modifico per mostrare selezione degli UDC associabili a SX (non troppo vecchi ne nuovi, con num max x ogni linea) - grView.DataSourceID = "odsSpec"; - grView.DataBind(); + // modifico per mostrare selezione degli UDC associabili a SX (non troppo vecchi ne nuovi, con num max x ogni linea) + grView.DataSourceID = "odsSpec"; + grView.DataBind(); - // controllo che ci sia almeno un UDC in IN da associare, sennò errore!!! - if (grView.Rows.Count == 0) - { - currParticolare = ""; - Postazione.messaggiText += " - codice particolare non valido / non trovati UDC in ingresso."; - Postazione.CssClass = "stileComandoKo"; - } + // controllo che ci sia almeno un UDC in IN da associare, sennò errore!!! + if (grView.Rows.Count == 0) + { + currParticolare = ""; + Postazione.messaggiText += " - codice particolare non valido / non trovati UDC in ingresso."; + Postazione.CssClass = "stileComandoKo"; + } - } - /// - /// Valore negativo di minuti da sottrarre ad ADESSO x valore MASSIMO finestra dataOra ammissibile - /// - public int maxTime { get; set; } - /// - /// Valore negativo di minuti da sottrarre ad ADESSO x valore MINIMO finestra dataOra ammissibile - /// - public int minTime { get; set; } - /// - /// imposto i dati dal particolare corrente - /// - private void impostaParticolare() - { - // controllo esista il particolare scansionato - if (DataProxy.obj.taAnagParticolari.getByParticolare(currParticolare).Rows.Count == 0) - { - currParticolare = ""; - Postazione.messaggiText += " - codice particolare non valido / non trovato in RILPRO."; - Postazione.CssClass = "stileComandoKo"; - } - else - { - Postazione.messaggiText += " - impostato particolare!"; - Postazione.CssClass = "stileComandoOk"; - } - // leggo la qta dell'ultimo UDC del particolare, SE C'E', e la imposto... - if (pezziUdc > 0) - { - txtQta.Text = pezziUdc.ToString(); - } - else // rimette default - { - txtQta.Text = memLayer.ML.cdv("QtaImballoFiniti"); - } - if (lastCodImb != "") - { - selezionaImballo(); - } - } - /// - /// aggiorna tabella + focus a barcode - /// - public void doUpdate() - { - CodBlocco = Postazione.currCodBlocco; - checkStampa(); - grView.DataBind(); - txtBarcode.Focus(); - // raise dell'evento - if (eh_reqUpdate != null) - { - eh_reqUpdate(this, new EventArgs()); - } - } + } + /// + /// Valore negativo di minuti da sottrarre ad ADESSO x valore MASSIMO finestra dataOra ammissibile + /// + public int maxTime { get; set; } + /// + /// Valore negativo di minuti da sottrarre ad ADESSO x valore MINIMO finestra dataOra ammissibile + /// + public int minTime { get; set; } + /// + /// imposto i dati dal particolare corrente + /// + private void impostaParticolare() + { + // controllo esista il particolare scansionato + if (DataProxy.obj.taAnagParticolari.getByParticolare(currParticolare).Rows.Count == 0) + { + currParticolare = ""; + Postazione.messaggiText += " - codice particolare non valido / non trovato in RILPRO."; + Postazione.CssClass = "stileComandoKo"; + } + else + { + Postazione.messaggiText += " - impostato particolare!"; + Postazione.CssClass = "stileComandoOk"; + } + // leggo la qta dell'ultimo UDC del particolare, SE C'E', e la imposto... + if (pezziUdc > 0) + { + txtQta.Text = pezziUdc.ToString(); + } + else // rimette default + { + txtQta.Text = memLayer.ML.cdv("QtaImballoFiniti"); + } + if (lastCodImb != "") + { + selezionaImballo(); + } + } + /// + /// aggiorna tabella + focus a barcode + /// + public void doUpdate() + { + CodBlocco = Postazione.currCodBlocco; + checkStampa(); + grView.DataBind(); + txtBarcode.Focus(); + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } + } - public bool isExcluded(object dateTimeIn) + public bool isExcluded(object dateTimeIn) + { + bool answ = false; + DateTime dtIN = DateTime.Today; + DateTime adesso = DateTime.Now; + try + { + dtIN = Convert.ToDateTime(dateTimeIn); + } + catch + { } + // controllo DataOra IN nella linea multipla: se è < minimo tempo attraversamento oppure > max tempo attraversamento (da web.config) DEVE ESSERE BARRATA come ESCLUSA... + double etaUdc = adesso.Subtract(dtIN).TotalMinutes; + if (etaUdc < minTime || etaUdc > maxTime) + { + answ = true; + } + return answ; + } + /// + /// controllo l'abilitazione alla stampa UDC: + /// - particolare ok + /// - qta > 0 + /// - udc da consumo totale/parziale + /// altrimenti disabilito btn stampa + /// + private void checkStampa() + { + bool stampaOk = false; + //controllo siano inseriti valori qta + if (qta > 0) + { + // controllo se ho almeno 1 UDC associabile in INput... + if (grView.Rows.Count > 0) { - bool answ = false; - DateTime dtIN = DateTime.Today; - DateTime adesso = DateTime.Now; - try - { - dtIN = Convert.ToDateTime(dateTimeIn); - } - catch - { } - // controllo DataOra IN nella linea multipla: se è < minimo tempo attraversamento oppure > max tempo attraversamento (da web.config) DEVE ESSERE BARRATA come ESCLUSA... - double etaUdc = adesso.Subtract(dtIN).TotalMinutes; - if (etaUdc < minTime || etaUdc > maxTime) - { - answ = true; - } - return answ; + stampaOk = true; } - /// - /// controllo l'abilitazione alla stampa UDC: - /// - particolare ok - /// - qta > 0 - /// - udc da consumo totale/parziale - /// altrimenti disabilito btn stampa - /// - private void checkStampa() - { - bool stampaOk = false; - //controllo siano inseriti valori qta - if (qta > 0) - { - // controllo se ho almeno 1 UDC associabile in INput... - if (grView.Rows.Count > 0) - { - stampaOk = true; - } - } - divNote.Visible = stampaOk; - } - /// - /// genera i barcode di - /// - trattamenti - /// - nuovo x pezzi liquidi - /// e lancia la relativa stampa - /// - /// - /// - protected void btnStampa_Click(object sender, EventArgs e) - { - bool needsRedirect = false; - // verifico postazione x procedere... - if (Postazione.printer != "n.d.") - { - // verifico auth utente OPPURE se NON sia richiesta... - if (OpAuth.isAuth || !OpAuth.opAuthReq) - { - // ri-controllo particolare - if (currParticolare != "") - { - // ri controllo di avere UDC associabili - if (grView.Rows.Count > 0) - { - string newUdcChild = ""; - bool attrOk = false; - int qta = memLayer.ML.cdvi("QtaImballoFiniti"); - string noteTrim = txtNote.Text.Trim(); - noteTrim = string.Format("{0}{1}{2}", Postazione.currNomeLinea, Environment.NewLine, noteTrim); - try - { - qta = Convert.ToInt32(txtQta.Text); - } - catch - { } - // effettuo controlli che cod_soggetto e cod particolare siano disponibili... - string codSogg = ""; - string particolare = ""; - try - { - codSogg = MagClass.magazzino.CodSoggCurrUser; - particolare = currParticolare; - } - catch - { - } - if (codSogg != "" && particolare != "") - { - // genero cartellino - DateTime adesso = DateTime.Now; - try - { - string codImballo = ""; - try - { - codImballo = ddlImballi.SelectedValue; - } - catch - { - codImballo = memLayer.ML.cdv("CodImballoFiniti"); - } - // se NON HA selezionato prendo default... - if (codImballo == "" || codImballo == "-") - { - codImballo = memLayer.ML.cdv("CodImballoFiniti"); - } - // 2017.03.17 imposto qta 0 x evitare problemi se si bloccasse... - // creo nuovo UDC FINITO OUT multiple - qta zero! - newUdcChild = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, 0, 0, 0, adesso, 0, statoUDC, memLayer.ML.cdvi("IdxPosizioneFiniti"), "IdxPosizioneFiniti", eventoUDC, noteTrim, "", adesso.Year, Request.UserHostName); - - if (OpAuth.isAuth) - { - // salvo attributo dell'OpAuth... - MagClass.magazzino.taAtt2UDC.Insert(newUdcChild, memLayer.ML.CRS("attrOpAuth"), OpAuth.currAuth.CodSoggetto, DateTime.Now, codSogg); - // consumo una auth... - OpAuth.currAuth.remAuth--; - if (OpAuth.currAuth.remAuth == 0) - { - OpAuth.stopAuth(); - needsRedirect = true; - } - attrOk = true; - } - - // registro creazione nuovo UDC - MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, newUdcChild, particolare, "creaUDC", string.Format("Creato nuovo UDC Finito LM OUT, qta: {0} {1}", qta, noteTrim)); - } - catch (Exception exc) - { - httpLog(string.Format("Errore creazione UDC Finito LM OUT: {0}", exc), tipoLog.EXCEPTION); - } - // devo gestire associazione e consumo cartellini INPUT - if (newUdcChild != "" && attrOk) - { - // recupero TUTTI gli UDC parent... - DS_magazzino.v_UdcDetailDataTable tab = MagClass.magazzino.taDettUDC.getByCodBloccoPeriodoMult(CodCs, CodBlocco, currParticolare, minDt, maxDt, num4Cell); - //se li trova... - if (tab.Rows.Count > 0) - { - // uno alla volta li associo... - foreach (DS_magazzino.v_UdcDetailRow riga in tab) - { - associaUdc(newUdcChild, riga.UDC); - } - - // sistemo SOLO ORA la quantità - MagClass.magazzino.rettificaQtaUDC(newUdcChild, qta, Postazione.IP); - - // ora stampo il nuovo cartellino!!! - MagClass.magazzino.stampaUdc(newUdcChild, Postazione.printer, tipoCartellino.cartFiniti, Request.UserHostName); - // incremento timing... - adesso = DateTime.Now; - adesso = adesso.AddSeconds(2); - // registro stampa nuovo UDC - MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, newUdcChild, particolare, "stampaUDC", "Stampato UDC Finito LM OUT"); - } - } - // resetto - doResetData(); - } - else - { - httpLog(string.Format("Finiti LM OUT, Errore persi utente/particolare, ricarico!"), tipoLog.ERROR); - Response.Redirect("~/login.aspx"); - } - } - else - { - httpLog(string.Format("Finiti LM OUT, Errore controllo UDC associabili!"), tipoLog.ERROR); - Postazione.messaggiText += "Errore controllo UDC associabili"; - Postazione.CssClass = "stileComandoND"; - } - } - else - { - httpLog(string.Format("Finiti LM OUT, Errore controllo particolare!"), tipoLog.ERROR); - Postazione.messaggiText += "Errore controllo particolare"; - Postazione.CssClass = "stileComandoND"; - } - } - else - { - Postazione.messaggiText = traduci("noOpAuth"); - Postazione.CssClass = "stileComandoKo"; - httpLog(string.Format("Errore manca OpAuth x UDC anime"), tipoLog.ERROR); - } - } - else - { - Response.Redirect("~/menu.aspx"); - } - doUpdate(); - // raise dell'evento - if (eh_reqUpdate != null) - { - eh_reqUpdate(this, new EventArgs()); - } - if (needsRedirect) - { - Response.Redirect(user_std.pagCorrente); - } - } - - /// - /// effettua consumo UDC - /// - /// - private void consumaUdc(string oldUdc) - { - // se è consumabile (IdxPosizione > 0)... - if (MagClass.magazzino.udcMpIsConsumabile(oldUdc)) - { - // consumo UDC - MagClass.magazzino.scaricaUdcMpWip(oldUdc, Request.UserHostName); - } - } - /// - ///associa nuovo UDC ad elenco UDC - /// - /// UDC da associare come child - /// vettore di UDC da associare come parent - private void associaUdc(string newUdcChild, string UDC_Parent) - { - // se UDC è NON vuoto ed esiste - if (UDC_Parent != "" && MagClass.magazzino.checkUDC(UDC_Parent)) - { - MagClass.magazzino.associaUdcParent(newUdcChild, UDC_Parent, true); - } - } - /// - /// effettua reset dati - /// - public void doResetData() - { - // resetto i dati QtaTot e particolare... - qta = 0; - currParticolare = ""; - grView.DataSourceID = "ods"; - lblUdcParent.Text = traduci("UDC"); - txtQta.Text = ""; - doChecks(); - } - /// - /// svuoto le note - /// - /// - /// - protected void btnEmptyNote_Click(object sender, EventArgs e) - { - txtNote.Text = ""; - Postazione.messaggiText = traduci("AttesaBCode"); - Postazione.CssClass = "stileAttesa"; - // raise dell'evento - if (eh_reqUpdate != null) - { - eh_reqUpdate(this, new EventArgs()); - } - } - /// - /// effettua refresh (su db) del blocco postazione - /// - /// - private void refreshBloccoPost(string codLinea) - { - // resetto usi linee precedenti.. - MagClass.magazzino.taAL.resetPost(Postazione.name); - // se la linea non è "base" = "Sel linea", finisce x "0" - if (codLinea.Substring(codLinea.Length - 1) != "0") - { - // salvo su DB che sto occupando linea... - MagClass.magazzino.taAL.updatePost(codLinea, Postazione.name); - } - } - /// - /// cambio indice pagina - /// - /// - /// - protected void grView_PageIndexChanged(object sender, EventArgs e) - { - // fix dell'ODS - checkFixOds(); - } - protected void grView_Sorted(object sender, EventArgs e) - { - // fix dell'ODS - checkFixOds(); - } - /// - /// aggiorno ods al binding.. - /// - /// - /// - protected void ods_DataBinding(object sender, EventArgs e) - { - // fix dell'ODS - checkFixOds(); - } - /// - /// verifica se attivo filtro company e imposta ods di conseguenza... - /// - private void checkFixOds() - { - } - /// - /// traduce gli header delle colonne - /// - /// - /// - protected void grView_DataBound(object sender, EventArgs e) + } + divNote.Visible = stampaOk; + } + /// + /// genera i barcode di + /// - trattamenti + /// - nuovo x pezzi liquidi + /// e lancia la relativa stampa + /// + /// + /// + protected void btnStampa_Click(object sender, EventArgs e) + { + bool needsRedirect = false; + // verifico postazione x procedere... + if (Postazione.printer != "n.d.") + { + // verifico auth utente OPPURE se NON sia richiesta... + if (OpAuth.isAuth || !OpAuth.opAuthReq) { + // ri-controllo particolare + if (currParticolare != "") + { + // ri controllo di avere UDC associabili if (grView.Rows.Count > 0) { - LinkButton lb; - // aggiorno gli headers - foreach (TableCell cella in grView.HeaderRow.Cells) + string newUdcChild = ""; + bool attrOk = false; + int qta = memLayer.ML.cdvi("QtaImballoFiniti"); + string noteTrim = txtNote.Text.Trim(); + noteTrim = string.Format("{0}{1}{2}", Postazione.currNomeLinea, Environment.NewLine, noteTrim); + try + { + qta = Convert.ToInt32(txtQta.Text); + } + catch + { } + // effettuo controlli che cod_soggetto e cod particolare siano disponibili... + string codSogg = ""; + string particolare = ""; + try + { + codSogg = MagClass.magazzino.CodSoggCurrUser; + particolare = currParticolare; + } + catch + { + } + if (codSogg != "" && particolare != "") + { + // genero cartellino + DateTime adesso = DateTime.Now; + try { - try - { - lb = (LinkButton)cella.Controls[0]; - lb.Text = traduci(lb.Text); - } - catch - { } - } - int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1); - lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord); - } - else - { - lblNumRec.Text = ""; - } - } + string codImballo = ""; + try + { + codImballo = ddlImballi.SelectedValue; + } + catch + { + codImballo = memLayer.ML.cdv("CodImballoFiniti"); + } + // se NON HA selezionato prendo default... + if (codImballo == "" || codImballo == "-") + { + codImballo = memLayer.ML.cdv("CodImballoFiniti"); + } + // 2017.03.17 imposto qta 0 x evitare problemi se si bloccasse... + // creo nuovo UDC FINITO OUT multiple - qta zero! + newUdcChild = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, codImballo, "U", MagClass.magazzino.CodSoggCurrUser, 0, 0, 0, adesso, 0, statoUDC, memLayer.ML.cdvi("IdxPosizioneFiniti"), "IdxPosizioneFiniti", eventoUDC, noteTrim, "", adesso.Year, Request.UserHostName); - /// - /// preseleziono (se possibile) imballo... - /// - /// - /// - protected void ddlImballi_DataBound(object sender, EventArgs e) - { - selezionaImballo(); - } - /// - /// seleziona imballo corretto - /// - private void selezionaImballo() - { - string codImb = ""; - // cerco se c'è un imballo x particolare corrente... - if (currParticolare != "") - { - codImb = lastCodImb; + if (OpAuth.isAuth) + { + // salvo attributo dell'OpAuth... + MagClass.magazzino.taAtt2UDC.Insert(newUdcChild, memLayer.ML.CRS("attrOpAuth"), OpAuth.currAuth.CodSoggetto, DateTime.Now, codSogg); + // consumo una auth... + OpAuth.currAuth.remAuth--; + if (OpAuth.currAuth.remAuth == 0) + { + OpAuth.stopAuth(); + needsRedirect = true; + } + attrOk = true; + } + + // registro creazione nuovo UDC + MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, newUdcChild, particolare, "creaUDC", string.Format("Creato nuovo UDC Finito LM OUT, qta: {0} {1}", qta, noteTrim)); + } + catch (Exception exc) + { + httpLog(string.Format("Errore creazione UDC Finito LM OUT: {0}", exc), tipoLog.EXCEPTION); + } + // devo gestire associazione e consumo cartellini INPUT + if (newUdcChild != "" && attrOk) + { + // recupero TUTTI gli UDC parent... + DS_magazzino.v_UdcDetailDataTable tab = MagClass.magazzino.taDettUDC.getByCodBloccoPeriodoMult(CodCs, CodBlocco, currParticolare, minDt, maxDt, num4Cell); + //se li trova... + if (tab.Rows.Count > 0) + { + // uno alla volta li associo... + foreach (DS_magazzino.v_UdcDetailRow riga in tab) + { + associaUdc(newUdcChild, riga.UDC); + } + + // sistemo SOLO ORA la quantità + MagClass.magazzino.rettificaQtaUDC(newUdcChild, qta, Postazione.IP); + + // ora stampo il nuovo cartellino!!! + MagClass.magazzino.stampaUdc(newUdcChild, Postazione.printer, tipoCartellino.cartFiniti, Request.UserHostName); + // incremento timing... + adesso = DateTime.Now; + adesso = adesso.AddSeconds(2); + // registro stampa nuovo UDC + MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, Postazione.name, Postazione.IP, newUdcChild, particolare, "stampaUDC", "Stampato UDC Finito LM OUT"); + } + } + // resetto + doResetData(); + } + else + { + httpLog(string.Format("Finiti LM OUT, Errore persi utente/particolare, ricarico!"), tipoLog.ERROR); + Response.Redirect("~/login.aspx"); + } } else { - codImb = memLayer.ML.cdv("CodImballoFiniti"); + httpLog(string.Format("Finiti LM OUT, Errore controllo UDC associabili!"), tipoLog.ERROR); + Postazione.messaggiText += "Errore controllo UDC associabili"; + Postazione.CssClass = "stileComandoND"; } - try - { - // preseleziono - ddlImballi.SelectedValue = codImb; - } - catch - { } + } + else + { + httpLog(string.Format("Finiti LM OUT, Errore controllo particolare!"), tipoLog.ERROR); + Postazione.messaggiText += "Errore controllo particolare"; + Postazione.CssClass = "stileComandoND"; + } } + else + { + Postazione.messaggiText = traduci("noOpAuth"); + Postazione.CssClass = "stileComandoKo"; + httpLog(string.Format("Errore manca OpAuth x UDC anime"), tipoLog.ERROR); + } + } + else + { + Response.Redirect("~/menu.aspx"); + } + doUpdate(); + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } + if (needsRedirect) + { + Response.Redirect(user_std.pagCorrente); + } } + + /// + /// effettua consumo UDC + /// + /// + private void consumaUdc(string oldUdc) + { + // se è consumabile (IdxPosizione > 0)... + if (MagClass.magazzino.udcMpIsConsumabile(oldUdc)) + { + // consumo UDC + MagClass.magazzino.scaricaUdcMpWip(oldUdc, Request.UserHostName); + } + } + /// + ///associa nuovo UDC ad elenco UDC + /// + /// UDC da associare come child + /// vettore di UDC da associare come parent + private void associaUdc(string newUdcChild, string UDC_Parent) + { + // se UDC è NON vuoto ed esiste + if (UDC_Parent != "" && MagClass.magazzino.checkUDC(UDC_Parent)) + { + MagClass.magazzino.associaUdcParent(newUdcChild, UDC_Parent, true); + } + } + /// + /// effettua reset dati + /// + public void doResetData() + { + // resetto i dati QtaTot e particolare... + qta = 0; + currParticolare = ""; + grView.DataSourceID = "ods"; + lblUdcParent.Text = traduci("UDC"); + txtQta.Text = ""; + doChecks(); + } + /// + /// svuoto le note + /// + /// + /// + protected void btnEmptyNote_Click(object sender, EventArgs e) + { + txtNote.Text = ""; + Postazione.messaggiText = traduci("AttesaBCode"); + Postazione.CssClass = "stileAttesa"; + // raise dell'evento + if (eh_reqUpdate != null) + { + eh_reqUpdate(this, new EventArgs()); + } + } + /// + /// effettua refresh (su db) del blocco postazione + /// + /// + private void refreshBloccoPost(string codLinea) + { + // resetto usi linee precedenti.. + MagClass.magazzino.taAL.resetPost(Postazione.name); + // se la linea non è "base" = "Sel linea", finisce x "0" + if (codLinea.Substring(codLinea.Length - 1) != "0") + { + // salvo su DB che sto occupando linea... + MagClass.magazzino.taAL.updatePost(codLinea, Postazione.name); + } + } + /// + /// cambio indice pagina + /// + /// + /// + protected void grView_PageIndexChanged(object sender, EventArgs e) + { + // fix dell'ODS + checkFixOds(); + } + protected void grView_Sorted(object sender, EventArgs e) + { + // fix dell'ODS + checkFixOds(); + } + /// + /// aggiorno ods al binding.. + /// + /// + /// + protected void ods_DataBinding(object sender, EventArgs e) + { + // fix dell'ODS + checkFixOds(); + } + /// + /// verifica se attivo filtro company e imposta ods di conseguenza... + /// + private void checkFixOds() + { + } + /// + /// traduce gli header delle colonne + /// + /// + /// + protected void grView_DataBound(object sender, EventArgs e) + { + if (grView.Rows.Count > 0) + { + LinkButton lb; + // aggiorno gli headers + foreach (TableCell cella in grView.HeaderRow.Cells) + { + try + { + lb = (LinkButton)cella.Controls[0]; + lb.Text = traduci(lb.Text); + } + catch + { } + } + int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1); + lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord); + } + else + { + lblNumRec.Text = ""; + } + } + + /// + /// preseleziono (se possibile) imballo... + /// + /// + /// + protected void ddlImballi_DataBound(object sender, EventArgs e) + { + selezionaImballo(); + } + /// + /// seleziona imballo corretto + /// + private void selezionaImballo() + { + string codImb = ""; + // cerco se c'è un imballo x particolare corrente... + if (currParticolare != "") + { + codImb = lastCodImb; + } + else + { + codImb = memLayer.ML.cdv("CodImballoFiniti"); + } + try + { + // preseleziono + ddlImballi.SelectedValue = codImb; + } + catch + { } + } + } } \ No newline at end of file diff --git a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs index 0c3f55e5..5f0c0ae0 100644 --- a/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs +++ b/GMW/WebUserControls/mod_PostFinMultOUT.ascx.designer.cs @@ -210,6 +210,24 @@ namespace GMW.WebUserControls { /// protected global::System.Web.UI.WebControls.Label lblPart; + /// + /// Controllo hfCodStato. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.HiddenField hfCodStato; + + /// + /// Controllo hfNumLast. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.HiddenField hfNumLast; + /// /// Controllo ddlImballi. ///