Completato porting controllo sterrTaglio a derivazione daUserControBCodeMan
This commit is contained in:
+116
-116
@@ -5,122 +5,122 @@ using System.Web.UI;
|
||||
|
||||
namespace GMW
|
||||
{
|
||||
public partial class Post_SterrTaglio : System.Web.UI.Page
|
||||
public partial class Post_SterrTaglio : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
updatePrinterPostazione();
|
||||
// fix css...
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
// imposto pos abilitata x cancellazione
|
||||
mod_storicoAzioniOperatore1.IdxPosizione2del = memLayer.ML.cdvi("IdxPosizioneSterrati");
|
||||
// pulisco dir temp dai file dei cartellini stampati
|
||||
reportPrinter.obj.pulisciDir();
|
||||
}
|
||||
// update vari...
|
||||
doUpdate();
|
||||
mod_storicoAzioniOperatore1.eh_stampa += new EventHandler(mod_storicoAzioniOperatore1_eh_stampa);
|
||||
mod_sterrTaglio.eh_reqUpdate += mod_PostRX_NT1_eh_reqUpdate;
|
||||
mod_selLineaNtDt1.eh_lineSelected += mod_selLineaNtDt1_eh_doRefresh;
|
||||
mod_selLineaNtDt1.eh_showHideStorico += mod_selLineaNtDt1_eh_showHideStorico;
|
||||
}
|
||||
/// <summary>
|
||||
/// Handles the showHideStorico event of the mod_selLineaNtDt1_eh control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
private void mod_selLineaNtDt1_eh_showHideStorico(object sender, EventArgs e)
|
||||
{
|
||||
fixStorico();
|
||||
}
|
||||
/// <summary>
|
||||
/// Handles the doRefresh event of the mod_selLineaNtDt1_eh control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
private void mod_selLineaNtDt1_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
doUpdate();
|
||||
mod_sterrTaglio.doResetData();
|
||||
mod_sterrTaglio.doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// richiesta update del controllo SAO
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void mod_PostRX_NT1_eh_reqUpdate(object sender, EventArgs e)
|
||||
{
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorna messaggi e css
|
||||
/// </summary>
|
||||
private void updateMessCss()
|
||||
{
|
||||
lblWarning.Text = Postazione.warningText;
|
||||
lblMessaggi.Text = Postazione.messaggiText;
|
||||
pnlAll.CssClass = Postazione.CssClass;
|
||||
}
|
||||
/// <summary>
|
||||
/// richiesta (ri)stampa UDC
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void mod_storicoAzioniOperatore1_eh_stampa(object sender, EventArgs e)
|
||||
{
|
||||
mod_sterrTaglio.ristampa();
|
||||
}
|
||||
/// <summary>
|
||||
/// sistemo visualizzazione pannelli
|
||||
/// </summary>
|
||||
private void fixPanels()
|
||||
{
|
||||
// default: moduli NON visibili SE non ho linea indicata..
|
||||
bool enableBtn = false;
|
||||
if (Postazione.currCodCella != "") enableBtn = true;
|
||||
mod_sterrTaglio.Visible = enableBtn;
|
||||
fixStorico();
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper traduzione
|
||||
/// </summary>
|
||||
/// <param name="lemma"></param>
|
||||
/// <returns></returns>
|
||||
public string traduci(object lemma)
|
||||
{
|
||||
return user_std.UtSn.Traduci(lemma.ToString());
|
||||
}
|
||||
/// <summary>
|
||||
/// toggle controllo storico
|
||||
/// </summary>
|
||||
private void fixStorico()
|
||||
{
|
||||
pnlSAO.Visible = Postazione.showStorico;
|
||||
}
|
||||
/// <summary>
|
||||
/// update generale controlli
|
||||
/// </summary>
|
||||
private void doUpdate()
|
||||
{
|
||||
updateMessCss();
|
||||
fixPanels();
|
||||
mod_storicoAzioniOperatore1.doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// calcola postazione corrente (ip, name, printer)
|
||||
/// </summary>
|
||||
private void updatePrinterPostazione()
|
||||
{
|
||||
Postazione.IP = Request.UserHostName;
|
||||
Postazione.setupPrinter();
|
||||
// mostro warning se postazione non configurata...
|
||||
if (Postazione.printer == "n.d.")
|
||||
{
|
||||
lblWarning.Text = traduci("lblWarnPostNonConf");
|
||||
}
|
||||
}
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
updatePrinterPostazione();
|
||||
// fix css...
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
// imposto pos abilitata x cancellazione
|
||||
mod_storicoAzioniOperatore1.IdxPosizione2del = memLayer.ML.cdvi("IdxPosizioneSterrati");
|
||||
// pulisco dir temp dai file dei cartellini stampati
|
||||
reportPrinter.obj.pulisciDir();
|
||||
}
|
||||
// update vari...
|
||||
doUpdate();
|
||||
mod_storicoAzioniOperatore1.eh_stampa += new EventHandler(mod_storicoAzioniOperatore1_eh_stampa);
|
||||
mod_sterrTaglio.eh_ucev += Mod_finiti_eh_ucev;
|
||||
mod_selLineaNtDt1.eh_lineSelected += mod_selLineaNtDt1_eh_doRefresh;
|
||||
mod_selLineaNtDt1.eh_showHideStorico += mod_selLineaNtDt1_eh_showHideStorico;
|
||||
}
|
||||
/// <summary>
|
||||
/// Handles the showHideStorico event of the mod_selLineaNtDt1_eh control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
private void mod_selLineaNtDt1_eh_showHideStorico(object sender, EventArgs e)
|
||||
{
|
||||
fixStorico();
|
||||
}
|
||||
/// <summary>
|
||||
/// Handles the doRefresh event of the mod_selLineaNtDt1_eh control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
private void mod_selLineaNtDt1_eh_doRefresh(object sender, EventArgs e)
|
||||
{
|
||||
doUpdate();
|
||||
mod_sterrTaglio.doResetData();
|
||||
mod_sterrTaglio.doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// richiesta update del controllo SAO
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void Mod_finiti_eh_ucev(object sender, EventArgs e)
|
||||
{
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorna messaggi e css
|
||||
/// </summary>
|
||||
private void updateMessCss()
|
||||
{
|
||||
lblWarning.Text = Postazione.warningText;
|
||||
lblMessaggi.Text = Postazione.messaggiText;
|
||||
pnlAll.CssClass = Postazione.CssClass;
|
||||
}
|
||||
/// <summary>
|
||||
/// richiesta (ri)stampa UDC
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void mod_storicoAzioniOperatore1_eh_stampa(object sender, EventArgs e)
|
||||
{
|
||||
mod_sterrTaglio.ristampa();
|
||||
}
|
||||
/// <summary>
|
||||
/// sistemo visualizzazione pannelli
|
||||
/// </summary>
|
||||
private void fixPanels()
|
||||
{
|
||||
// default: moduli NON visibili SE non ho linea indicata..
|
||||
bool enableBtn = false;
|
||||
if (Postazione.currCodCella != "") enableBtn = true;
|
||||
mod_sterrTaglio.Visible = enableBtn;
|
||||
fixStorico();
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper traduzione
|
||||
/// </summary>
|
||||
/// <param name="lemma"></param>
|
||||
/// <returns></returns>
|
||||
public string traduci(object lemma)
|
||||
{
|
||||
return user_std.UtSn.Traduci(lemma.ToString());
|
||||
}
|
||||
/// <summary>
|
||||
/// toggle controllo storico
|
||||
/// </summary>
|
||||
private void fixStorico()
|
||||
{
|
||||
pnlSAO.Visible = Postazione.showStorico;
|
||||
}
|
||||
/// <summary>
|
||||
/// update generale controlli
|
||||
/// </summary>
|
||||
private void doUpdate()
|
||||
{
|
||||
updateMessCss();
|
||||
fixPanels();
|
||||
mod_storicoAzioniOperatore1.doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// calcola postazione corrente (ip, name, printer)
|
||||
/// </summary>
|
||||
private void updatePrinterPostazione()
|
||||
{
|
||||
Postazione.IP = Request.UserHostName;
|
||||
Postazione.setupPrinter();
|
||||
// mostro warning se postazione non configurata...
|
||||
if (Postazione.printer == "n.d.")
|
||||
{
|
||||
lblWarning.Text = traduci("lblWarnPostNonConf");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,298 +5,298 @@ using System.Web.UI.WebControls;
|
||||
|
||||
namespace GMW.WebUserControls
|
||||
{
|
||||
public partial class mod_finiti : GMW_data.UserControlBCodeMan
|
||||
public partial class mod_finiti : GMW_data.UserControlBCodeMan
|
||||
{
|
||||
/// <summary>
|
||||
/// Imposta variabili specifiche classe
|
||||
/// </summary>
|
||||
public override void setupVariabili()
|
||||
{
|
||||
/// <summary>
|
||||
/// Imposta variabili specifiche classe
|
||||
/// </summary>
|
||||
public override void setupVariabili()
|
||||
{
|
||||
flusso = "FI";
|
||||
statoUDC = "Fin";
|
||||
eventoUDC = "UDC_FINWIP";
|
||||
eventoUDC_qta = "UDC_QTY";
|
||||
codLineaKo = "W2100";
|
||||
tipoUdcLinea = "Finito";
|
||||
IdxPosizioneIn = memLayer.ML.cdvi("IdxPosizioneTrattati");
|
||||
IdxPosizioneOut = memLayer.ML.cdvi("IdxPosizioneFiniti");
|
||||
IdxPosizioneOutTempName = "IdxPosizioneFinTemp";
|
||||
sVarIdxCella = "IdxCellaLineaFiniti";
|
||||
IdxPosizioneOutTemp = memLayer.ML.cdvi(IdxPosizioneOutTempName);
|
||||
tipoCartCurr = tipoCartellino.cartFiniti;
|
||||
enableBCodeParticolare = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Codice AL target
|
||||
/// </summary>
|
||||
public override string destAL
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblAL.Text.Trim();
|
||||
}
|
||||
set
|
||||
{
|
||||
lblAL.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla particolare selezionato
|
||||
/// </summary>
|
||||
public override void checkParticolare()
|
||||
{
|
||||
if (currParticolare != "")
|
||||
{
|
||||
lblParticolareAttivo.Text = string.Format("Particolare selezionato <b>{0}</b>", currParticolare);
|
||||
// aggiungo descrizione del particolare
|
||||
string descr = "";
|
||||
string disegno = "";
|
||||
getDescrDisegnoParticolare(currParticolare, ref descr, ref disegno);
|
||||
lblDescrAttivo.Text = descr;
|
||||
lblDisegno.Text = disegno;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblParticolareAttivo.Text = "...";
|
||||
lblDescrAttivo.Text = "";
|
||||
lblDisegno.Text = "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// sistemo labels oggetti
|
||||
/// </summary>
|
||||
public override void traduciObj()
|
||||
{
|
||||
base.traduciObj();
|
||||
// buttons
|
||||
btnEmptyNote.Text = traduci("btnEmptyNote");
|
||||
}
|
||||
/// <summary>
|
||||
/// num pezzi dell'ultimo UDC del particolare generato
|
||||
/// </summary>
|
||||
public override int pezziUdc
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = base.pezziUdc;
|
||||
if (answ == 0)
|
||||
{
|
||||
answ = memLayer.ML.cdvi("QtaImballoFiniti");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// valore barcode
|
||||
/// </summary>
|
||||
public override string barcodeIn
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtBarcode.Text.Trim();
|
||||
}
|
||||
set
|
||||
{
|
||||
txtBarcode.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// qta pezzi TOTALE
|
||||
/// </summary>
|
||||
public override int qta
|
||||
{
|
||||
get
|
||||
{
|
||||
int qta = 0;
|
||||
try
|
||||
{
|
||||
qta = Convert.ToInt32(txtQta.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return qta;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtQta.Text = value.ToString();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Note utente effettive
|
||||
/// </summary>
|
||||
public override string campoNote
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtNote.Text.Trim();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
txtNote.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// IMposta e legge imballo selezionato
|
||||
/// </summary>
|
||||
public override string imballoSel
|
||||
{
|
||||
get
|
||||
{
|
||||
return ddlImballi.SelectedValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
ddlImballi.SelectedValue = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// crea eventualmente UDC per particolare in AL di destinazione e restituisce codice UDC
|
||||
/// </summary>
|
||||
/// <param name="forceMove">Forza lo spostamento a idxCella corrente...</param>
|
||||
/// <param name="createUdcOut">indica se si debba creare UDC in uscita se mancasse...</param>
|
||||
public override string checkCreaUDC(bool forceMove, bool createUdcOut)
|
||||
{
|
||||
string udcDest = base.checkCreaUDC(forceMove, createUdcOut);
|
||||
grViewDest.DataBind();
|
||||
return udcDest;
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorna tabella + focus a barcode
|
||||
/// </summary>
|
||||
public override void doUpdate()
|
||||
{
|
||||
base.doUpdate();
|
||||
grView.DataBind();
|
||||
grViewDest.DataBind();
|
||||
txtBarcode.Focus();
|
||||
// raise dell'evento
|
||||
raiseEvent(ucEvType.ReqUpdateParent);
|
||||
}
|
||||
/// <summary>
|
||||
/// controllo l'abilitazione alla stampa UDC:
|
||||
/// - particolare ok
|
||||
/// - qta > 0
|
||||
/// - udc da consumo totale/parziale
|
||||
/// altrimenti disabilito btn stampa
|
||||
/// </summary>
|
||||
public override void checkStampa()
|
||||
{
|
||||
bool stampaOk = false;
|
||||
//controllo siano inseriti valori qta
|
||||
if (qta > 0 && grViewDest.SelectedIndex >= 0)
|
||||
{
|
||||
// controllo ci siano particolare
|
||||
if (currParticolare != "")
|
||||
{
|
||||
stampaOk = true;
|
||||
txtNote.Focus();
|
||||
}
|
||||
}
|
||||
divNote.Visible = stampaOk;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gestione reset
|
||||
/// </summary>
|
||||
public override void doResetData()
|
||||
{
|
||||
grViewDest.SelectedIndex = -1;
|
||||
base.doResetData();
|
||||
}
|
||||
/// <summary>
|
||||
/// traduce gli header delle colonne
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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 = "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// evento selezione grView destinazione: ricarico dati!
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grViewDest_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// ricarico dati dell'UDC come particolare e quantità...
|
||||
currUDC = grViewDest.SelectedDataKey["UDC"].ToString();
|
||||
if (MagClass.magazzino.checkUDC(currUDC))
|
||||
{
|
||||
currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Particolare;
|
||||
qta = Convert.ToInt32(DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Qta);
|
||||
selezionaImballo();
|
||||
}
|
||||
Postazione.messaggiText = traduci("partSelected");
|
||||
Postazione.warningText = "";
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
doChecks();
|
||||
doUpdate();
|
||||
// fisso focus su note!
|
||||
txtNote.Focus();
|
||||
}
|
||||
/// <summary>
|
||||
/// sistema modalità input
|
||||
/// </summary>
|
||||
public override void setVisibility()
|
||||
{
|
||||
bool showBtn = false;
|
||||
// ora controllo btn quantità
|
||||
if (grViewDest.SelectedIndex >= 0)
|
||||
{
|
||||
showBtn = true;
|
||||
}
|
||||
divQta.Visible = showBtn;
|
||||
}
|
||||
/// <summary>
|
||||
/// reset della selezione
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public override void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
grViewDest.SelectedIndex = -1;
|
||||
base.btnReset_Click(sender, e);
|
||||
}
|
||||
/// <summary>
|
||||
/// gestione specifica update qta
|
||||
/// </summary>
|
||||
public override void aggiornaQta()
|
||||
{
|
||||
base.aggiornaQta();
|
||||
grViewDest.SelectedIndex = -1;
|
||||
setVisibility();
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// qui la selezione è x scaricare...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
consumaUdc(grView.SelectedValue.ToString());
|
||||
doUpdate();
|
||||
}
|
||||
flusso = "FI";
|
||||
statoUDC = "Fin";
|
||||
eventoUDC = "UDC_FINWIP";
|
||||
eventoUDC_qta = "UDC_QTY";
|
||||
codLineaKo = "W2100";
|
||||
tipoUdcLinea = "Finito";
|
||||
IdxPosizioneIn = memLayer.ML.cdvi("IdxPosizioneTrattati");
|
||||
IdxPosizioneOut = memLayer.ML.cdvi("IdxPosizioneFiniti");
|
||||
IdxPosizioneOutTempName = "IdxPosizioneFinTemp";
|
||||
sVarIdxCella = "IdxCellaLineaFiniti";
|
||||
IdxPosizioneOutTemp = memLayer.ML.cdvi(IdxPosizioneOutTempName);
|
||||
tipoCartCurr = tipoCartellino.cartFiniti;
|
||||
enableBCodeParticolare = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Codice AL target
|
||||
/// </summary>
|
||||
public override string destAL
|
||||
{
|
||||
get
|
||||
{
|
||||
return lblAL.Text.Trim();
|
||||
}
|
||||
set
|
||||
{
|
||||
lblAL.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla particolare selezionato
|
||||
/// </summary>
|
||||
public override void checkParticolare()
|
||||
{
|
||||
if (currParticolare != "")
|
||||
{
|
||||
lblParticolareAttivo.Text = string.Format("Particolare selezionato <b>{0}</b>", currParticolare);
|
||||
// aggiungo descrizione del particolare
|
||||
string descr = "";
|
||||
string disegno = "";
|
||||
getDescrDisegnoParticolare(currParticolare, ref descr, ref disegno);
|
||||
lblDescrAttivo.Text = descr;
|
||||
lblDisegno.Text = disegno;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblParticolareAttivo.Text = "...";
|
||||
lblDescrAttivo.Text = "";
|
||||
lblDisegno.Text = "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// sistemo labels oggetti
|
||||
/// </summary>
|
||||
public override void traduciObj()
|
||||
{
|
||||
base.traduciObj();
|
||||
// buttons
|
||||
btnEmptyNote.Text = traduci("btnEmptyNote");
|
||||
}
|
||||
/// <summary>
|
||||
/// num pezzi dell'ultimo UDC del particolare generato
|
||||
/// </summary>
|
||||
public override int pezziUdc
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = base.pezziUdc;
|
||||
if (answ == 0)
|
||||
{
|
||||
answ = memLayer.ML.cdvi("QtaImballoFiniti");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// valore barcode
|
||||
/// </summary>
|
||||
public override string barcodeIn
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtBarcode.Text.Trim();
|
||||
}
|
||||
set
|
||||
{
|
||||
txtBarcode.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// qta pezzi TOTALE
|
||||
/// </summary>
|
||||
public override int qta
|
||||
{
|
||||
get
|
||||
{
|
||||
int qta = 0;
|
||||
try
|
||||
{
|
||||
qta = Convert.ToInt32(txtQta.Text.Trim());
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return qta;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtQta.Text = value.ToString();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Note utente effettive
|
||||
/// </summary>
|
||||
public override string campoNote
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtNote.Text.Trim();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
txtNote.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// IMposta e legge imballo selezionato
|
||||
/// </summary>
|
||||
public override string imballoSel
|
||||
{
|
||||
get
|
||||
{
|
||||
return ddlImballi.SelectedValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
ddlImballi.SelectedValue = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// crea eventualmente UDC per particolare in AL di destinazione e restituisce codice UDC
|
||||
/// </summary>
|
||||
/// <param name="forceMove">Forza lo spostamento a idxCella corrente...</param>
|
||||
/// <param name="createUdcOut">indica se si debba creare UDC in uscita se mancasse...</param>
|
||||
public override string checkCreaUDC(bool forceMove, bool createUdcOut)
|
||||
{
|
||||
string udcDest = base.checkCreaUDC(forceMove, createUdcOut);
|
||||
grViewDest.DataBind();
|
||||
return udcDest;
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorna tabella + focus a barcode
|
||||
/// </summary>
|
||||
public override void doUpdate()
|
||||
{
|
||||
base.doUpdate();
|
||||
grView.DataBind();
|
||||
grViewDest.DataBind();
|
||||
txtBarcode.Focus();
|
||||
// raise dell'evento
|
||||
raiseEvent(ucEvType.ReqUpdateParent);
|
||||
}
|
||||
/// <summary>
|
||||
/// controllo l'abilitazione alla stampa UDC:
|
||||
/// - particolare ok
|
||||
/// - qta > 0
|
||||
/// - udc da consumo totale/parziale
|
||||
/// altrimenti disabilito btn stampa
|
||||
/// </summary>
|
||||
public override void checkStampa()
|
||||
{
|
||||
bool stampaOk = false;
|
||||
//controllo siano inseriti valori qta
|
||||
if (qta > 0 && grViewDest.SelectedIndex >= 0)
|
||||
{
|
||||
// controllo ci siano particolare
|
||||
if (currParticolare != "")
|
||||
{
|
||||
stampaOk = true;
|
||||
txtNote.Focus();
|
||||
}
|
||||
}
|
||||
divNote.Visible = stampaOk;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gestione reset
|
||||
/// </summary>
|
||||
public override void doResetData()
|
||||
{
|
||||
grViewDest.SelectedIndex = -1;
|
||||
base.doResetData();
|
||||
}
|
||||
/// <summary>
|
||||
/// traduce gli header delle colonne
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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 = "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// evento selezione grView destinazione: ricarico dati!
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grViewDest_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// ricarico dati dell'UDC come particolare e quantità...
|
||||
currUDC = grViewDest.SelectedDataKey["UDC"].ToString();
|
||||
if (MagClass.magazzino.checkUDC(currUDC))
|
||||
{
|
||||
currParticolare = DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Particolare;
|
||||
qta = Convert.ToInt32(DataProxy.obj.taCartellini.stp_getByUdc(currUDC)[0].Qta);
|
||||
selezionaImballo();
|
||||
}
|
||||
Postazione.messaggiText = traduci("partSelected");
|
||||
Postazione.warningText = "";
|
||||
Postazione.CssClass = "stileComandoOk";
|
||||
doChecks();
|
||||
doUpdate();
|
||||
// fisso focus su note!
|
||||
txtNote.Focus();
|
||||
}
|
||||
/// <summary>
|
||||
/// sistema modalità input
|
||||
/// </summary>
|
||||
public override void setVisibility()
|
||||
{
|
||||
bool showBtn = false;
|
||||
// ora controllo btn quantità
|
||||
if (grViewDest.SelectedIndex >= 0)
|
||||
{
|
||||
showBtn = true;
|
||||
}
|
||||
divQta.Visible = showBtn;
|
||||
}
|
||||
/// <summary>
|
||||
/// reset della selezione
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public override void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
grViewDest.SelectedIndex = -1;
|
||||
base.btnReset_Click(sender, e);
|
||||
}
|
||||
/// <summary>
|
||||
/// gestione specifica update qta
|
||||
/// </summary>
|
||||
public override void aggiornaQta()
|
||||
{
|
||||
base.aggiornaQta();
|
||||
grViewDest.SelectedIndex = -1;
|
||||
setVisibility();
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// qui la selezione è x scaricare...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
consumaUdc(grView.SelectedValue.ToString());
|
||||
doUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_sterrTaglio.ascx.cs" Inherits="GMW.WebUserControls.mod_sterrTaglio" %>
|
||||
|
||||
<% if (false)
|
||||
{ %>
|
||||
{ %>
|
||||
<webopt:BundleReference ID="BundleReference1" runat="server" Path="~/Content/css" />
|
||||
<webopt:BundleReference ID="BundleReference2" runat="server" Path="~/Content/themes/base/css" />
|
||||
<% } %>
|
||||
@@ -9,179 +9,179 @@
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<div class="card bg-success small">
|
||||
<div class="card-header">
|
||||
<b>
|
||||
<asp:Label runat="server" ID="lblUdcParent"><%: traduci("UDC") %></asp:Label></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<div class="row">
|
||||
<div class="col-12" style="font-size: 0.8em;">
|
||||
<asp:GridView ID="grView" runat="server" AllowPaging="false" AllowSorting="True" AutoGenerateColumns="False"
|
||||
OnDataBound="grView_DataBound"
|
||||
DataKeyNames="UDC" DataSourceID="ods" OnPageIndexChanged="grView_PageIndexChanged"
|
||||
OnSorted="grView_Sorted" Width="100%" OnSelectedIndexChanged="grView_SelectedIndexChanged">
|
||||
<RowStyle CssClass="ctrRowStyle" />
|
||||
<AlternatingRowStyle CssClass="ctrAltRowStyle" />
|
||||
<EditRowStyle CssClass="ctrEditRowStyle" />
|
||||
<SelectedRowStyle CssClass="ctrSelRowStyle" />
|
||||
<FooterStyle CssClass="ctrFooter" />
|
||||
<PagerStyle CssClass="ctrHeaderPager" ForeColor="White" HorizontalAlign="Center" />
|
||||
<HeaderStyle CssClass="ctrHeaderPager" ForeColor="White" Font-Bold="True" />
|
||||
<EmptyDataRowStyle CssClass="ctrRowStyle" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label runat="server" ID="lblNoRecord" Text='<%# traduci("noRecord") %>' />
|
||||
</EmptyDataTemplate>
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="UDC" SortExpression="UDC">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUDC" runat="server" Text='<%# Eval("UDC") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Particolare" SortExpression="Particolare">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblParticolare" runat="server" Text='<%# Eval("Particolare") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Qta" SortExpression="Qta" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblQta" runat="server" Text='<%# Eval("Qta","{0:#}") %>' />
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Select" OnClientClick="return confirm('Confermi consumo completato?')" CssClass="text-danger"><i class="fa fa-trash"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getUdcDetailByIdxCella" TypeName="GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter" OnDataBinding="ods_DataBinding">
|
||||
<SelectParameters>
|
||||
<asp:SessionParameter Name="IdxCella" Type="Int32" SessionField="IdxCellaLineaST" DefaultValue="0" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:Label ID="lblNumRec" runat="server" CssClass="didascalia" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="card bg-success small">
|
||||
<div class="card-header">
|
||||
<b>
|
||||
<asp:Label runat="server" ID="lblUdcParent"><%: traduci("UDC") %></asp:Label></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<div class="row">
|
||||
<div class="col-12" style="font-size: 0.8em;">
|
||||
<asp:GridView ID="grView" runat="server" AllowPaging="false" AllowSorting="True" AutoGenerateColumns="False"
|
||||
OnDataBound="grView_DataBound"
|
||||
DataKeyNames="UDC" DataSourceID="ods" OnPageIndexChanged="grView_PageIndexChanged"
|
||||
OnSorted="grView_Sorted" Width="100%" OnSelectedIndexChanged="grView_SelectedIndexChanged">
|
||||
<RowStyle CssClass="ctrRowStyle" />
|
||||
<AlternatingRowStyle CssClass="ctrAltRowStyle" />
|
||||
<EditRowStyle CssClass="ctrEditRowStyle" />
|
||||
<SelectedRowStyle CssClass="ctrSelRowStyle" />
|
||||
<FooterStyle CssClass="ctrFooter" />
|
||||
<PagerStyle CssClass="ctrHeaderPager" ForeColor="White" HorizontalAlign="Center" />
|
||||
<HeaderStyle CssClass="ctrHeaderPager" ForeColor="White" Font-Bold="True" />
|
||||
<EmptyDataRowStyle CssClass="ctrRowStyle" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label runat="server" ID="lblNoRecord" Text='<%# traduci("noRecord") %>' />
|
||||
</EmptyDataTemplate>
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="UDC" SortExpression="UDC">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUDC" runat="server" Text='<%# Eval("UDC") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Particolare" SortExpression="Particolare">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblParticolare" runat="server" Text='<%# Eval("Particolare") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Qta" SortExpression="Qta" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblQta" runat="server" Text='<%# Eval("Qta","{0:#}") %>' />
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Select" OnClientClick="return confirm('Confermi consumo completato?')" CssClass="text-danger"><i class="fa fa-trash"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getUdcDetailByIdxCella" TypeName="GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter" OnDataBinding="ods_DataBinding">
|
||||
<SelectParameters>
|
||||
<asp:SessionParameter Name="IdxCella" Type="Int32" SessionField="IdxCellaLineaST" DefaultValue="0" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:Label ID="lblNumRec" runat="server" CssClass="didascalia" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblParticolareAttivo" Font-Size="3em" Text="" />
|
||||
</div>
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblDescrAttivo" Font-Size="2em" Text="" ToolTip="particolare" />
|
||||
<br />
|
||||
<asp:Label runat="server" ID="lblDisegno" Font-Size="1.8em" Text="" ForeColor="#FFFFFF" Font-Bold="true" ToolTip="disegno" />
|
||||
</div>
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblBarcode" Text="Barcode" />
|
||||
<br />
|
||||
<asp:TextBox runat="server" ID="txtBarcode" Height="1.2em" Width="100%" Font-Size="3em" AutoPostBack="True" Style="text-align: center" TabIndex="1" />
|
||||
</div>
|
||||
<div id="divNote" runat="server">
|
||||
<div>
|
||||
<%: traduci("Note") %>
|
||||
</div>
|
||||
<div>
|
||||
<asp:TextBox runat="server" ID="txtNote" Height="4em" Width="100%" Font-Size="2em" TextMode="MultiLine" TabIndex="2" />
|
||||
<asp:Button runat="server" ID="btnEmptyNote" Height="3em" Width="100%" OnClick="btnEmptyNote_Click" TabIndex="3" CssClass="btn btn-default" />
|
||||
</div>
|
||||
<div style="padding: 4px 0px;">
|
||||
<asp:LinkButton runat="server" ID="lbtStampaUDC" Width="100%" CssClass="btn btn-warning btn-lg" TabIndex="4" OnClick="btnStampa_Click"><i aria-hidden='true' class='fa fa-print fa-2x'></i> <%: traduci("btnStampaUdc") %></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblParticolareAttivo" Font-Size="3em" Text="" />
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="card bg-primary text-light small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("Destinazione") %></b> (AL)
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<div class="bg-primary text-light">
|
||||
<asp:Label runat="server" ID="lblAL" />
|
||||
</div>
|
||||
<div style="font-size: 0.9em;">
|
||||
<asp:GridView ID="grViewDest" runat="server" AllowSorting="True" AutoGenerateColumns="False"
|
||||
DataKeyNames="UDC" DataSourceID="odsDest" Width="100%" OnSelectedIndexChanged="grViewDest_SelectedIndexChanged">
|
||||
<RowStyle CssClass="ctrRowStyle" />
|
||||
<AlternatingRowStyle CssClass="ctrAltRowStyle" />
|
||||
<EditRowStyle CssClass="ctrEditRowStyle" />
|
||||
<SelectedRowStyle CssClass="ctrSelRowStyle" />
|
||||
<FooterStyle CssClass="ctrFooter" />
|
||||
<PagerStyle CssClass="ctrHeaderPager" ForeColor="White" HorizontalAlign="Center" />
|
||||
<HeaderStyle CssClass="ctrHeaderPager" ForeColor="White" Font-Bold="True" />
|
||||
<EmptyDataRowStyle CssClass="ctrRowStyle" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label runat="server" ID="lblNoRecord" Text='<%# traduci("noRecord") %>' />
|
||||
</EmptyDataTemplate>
|
||||
<Columns>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<HeaderTemplate>
|
||||
<asp:LinkButton ID="btnReset" runat="server" OnClick="btnReset_Click" CssClass="btn btn-default btn-sm"><i class="fa fa-refresh"></i> <%: traduci("Reset") %></asp:LinkButton>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtnEditQty" runat="server" CausesValidation="False" CommandName="Select" CssClass="text-success"><i class='<%# cssGlyphByQty(Eval("Qta"))%>'></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="UDC" SortExpression="UDC">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUDC" runat="server" Text='<%# Eval("UDC") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Particolare" SortExpression="Particolare">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblParticolare" runat="server" Text='<%# Eval("Particolare") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Qta" SortExpression="Qta" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<span style="padding: 0px 4px;">
|
||||
<b>
|
||||
<asp:Label ID="lblQta" runat="server" Text='<%# Eval("Qta","{0:#}") %>' /></b>
|
||||
</span>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Confermi eliminazione?')" CssClass="text-danger" Visible='<%# canDelete(Eval("Qta")) %>'><i class="fa fa-trash"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="odsDest" runat="server" OldValuesParameterFormatString="{0}"
|
||||
SelectMethod="getByAL" TypeName="GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter" DeleteMethod="deleteQuery">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="UDC" Type="String" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="lblAL" DefaultValue="AL0000" Name="AL" PropertyName="Text" Type="String" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblDescrAttivo" Font-Size="2em" Text="" ToolTip="particolare" />
|
||||
<br />
|
||||
<asp:Label runat="server" ID="lblDisegno" Font-Size="1.8em" Text="" ForeColor="#FFFFFF" Font-Bold="true" ToolTip="disegno" />
|
||||
</div>
|
||||
<div>
|
||||
<asp:Label runat="server" ID="lblBarcode" Text="Barcode" />
|
||||
<br />
|
||||
<asp:TextBox runat="server" ID="txtBarcode" Height="1.2em" Width="100%" Font-Size="3em" AutoPostBack="True" Style="text-align: center" TabIndex="1" />
|
||||
</div>
|
||||
<div id="divNote" runat="server">
|
||||
<div>
|
||||
<%: traduci("Note") %>
|
||||
</div>
|
||||
<div>
|
||||
<asp:TextBox runat="server" ID="txtNote" Height="4em" Width="100%" Font-Size="2em" TextMode="MultiLine" TabIndex="2" />
|
||||
<asp:Button runat="server" ID="btnEmptyNote" Height="3em" Width="100%" OnClick="btnEmptyNote_Click" TabIndex="3" CssClass="btn btn-default" />
|
||||
</div>
|
||||
<div style="padding: 4px 0px;">
|
||||
<asp:LinkButton runat="server" ID="lbtStampaUDC" Width="100%" CssClass="btn btn-warning btn-lg" TabIndex="4" OnClick="btnStampa_Click"><i aria-hidden='true' class='fa fa-print fa-2x'></i> <%: traduci("btnStampaUdc") %></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="card bg-primary text-light small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("Destinazione") %></b> (AL)
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<div class="bg-primary text-light">
|
||||
<asp:Label runat="server" ID="lblAL" />
|
||||
</div>
|
||||
<div style="font-size: 0.9em;">
|
||||
<asp:GridView ID="grViewDest" runat="server" AllowSorting="True" AutoGenerateColumns="False"
|
||||
DataKeyNames="UDC" DataSourceID="odsDest" Width="100%" OnSelectedIndexChanged="grViewDest_SelectedIndexChanged">
|
||||
<RowStyle CssClass="ctrRowStyle" />
|
||||
<AlternatingRowStyle CssClass="ctrAltRowStyle" />
|
||||
<EditRowStyle CssClass="ctrEditRowStyle" />
|
||||
<SelectedRowStyle CssClass="ctrSelRowStyle" />
|
||||
<FooterStyle CssClass="ctrFooter" />
|
||||
<PagerStyle CssClass="ctrHeaderPager" ForeColor="White" HorizontalAlign="Center" />
|
||||
<HeaderStyle CssClass="ctrHeaderPager" ForeColor="White" Font-Bold="True" />
|
||||
<EmptyDataRowStyle CssClass="ctrRowStyle" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label runat="server" ID="lblNoRecord" Text='<%# traduci("noRecord") %>' />
|
||||
</EmptyDataTemplate>
|
||||
<Columns>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<HeaderTemplate>
|
||||
<asp:LinkButton ID="btnReset" runat="server" OnClick="btnReset_Click" CssClass="btn btn-default btn-sm"><i class="fa fa-refresh"></i> <%: traduci("Reset") %></asp:LinkButton>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtnEditQty" runat="server" CausesValidation="False" CommandName="Select" CssClass="text-success"><i class='<%# cssGlyphByQty(Eval("Qta"))%>'></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="UDC" SortExpression="UDC">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblUDC" runat="server" Text='<%# Eval("UDC") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Particolare" SortExpression="Particolare">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblParticolare" runat="server" Text='<%# Eval("Particolare") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Qta" SortExpression="Qta" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<span style="padding: 0px 4px;">
|
||||
<b>
|
||||
<asp:Label ID="lblQta" runat="server" Text='<%# Eval("Qta","{0:#}") %>' /></b>
|
||||
</span>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Confermi eliminazione?')" CssClass="text-danger" Visible='<%# canDelete(Eval("Qta")) %>'><i class="fa fa-trash"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="odsDest" runat="server" OldValuesParameterFormatString="{0}"
|
||||
SelectMethod="getByAL" TypeName="GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter" DeleteMethod="deleteQuery">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="UDC" Type="String" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="lblAL" DefaultValue="AL0000" Name="AL" PropertyName="Text" Type="String" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="card bg-default small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("lblCesta") %></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<asp:TextBox runat="server" ID="txtCesta" Width="200px" Font-Size="28pt" Style="text-align: center" palceholder="num cesta" AutoPostBack="True" OnTextChanged="txtCesta_TextChanged" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="divQta" runat="server" class="card bg-default small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("Qta") %></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<asp:TextBox runat="server" ID="txtQta" Height="56px" Width="100%" Font-Size="32pt" Style="text-align: center" TabIndex="6" AutoPostBack="true" OnTextChanged="txtQta_TextChanged" />
|
||||
<asp:LinkButton runat="server" ID="lbtUpdQty" Font-Size="18pt" CssClass="btn btn-success" Width="100%" OnClick="lbtUpdQty_Click"><i aria-hidden='true' class='fa fa-pencil'></i> <%: traduci("updateQty") %></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card bg-default small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("lblCesta") %></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<asp:TextBox runat="server" ID="txtCesta" Width="200px" Font-Size="28pt" Style="text-align: center" palceholder="num cesta" AutoPostBack="True" OnTextChanged="txtCesta_TextChanged" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="divQta" runat="server" class="card bg-default small">
|
||||
<div class="card-header">
|
||||
<b><%: traduci("Qta") %></b>
|
||||
</div>
|
||||
<div class="card-body bg-light text-dark">
|
||||
<asp:TextBox runat="server" ID="txtQta" Height="56px" Width="100%" Font-Size="32pt" Style="text-align: center" TabIndex="6" AutoPostBack="true" OnTextChanged="txtQta_TextChanged" />
|
||||
<asp:LinkButton runat="server" ID="lbtUpdQty" Font-Size="18pt" CssClass="btn btn-success" Width="100%" OnClick="lbtUpdQty_Click"><i aria-hidden='true' class='fa fa-pencil'></i> <%: traduci("updateQty") %></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,95 +6,40 @@ using System.Web.UI.WebControls;
|
||||
|
||||
namespace GMW.WebUserControls
|
||||
{
|
||||
public partial class mod_sterrTaglio : System.Web.UI.UserControl
|
||||
public partial class mod_sterrTaglio : GMW_data.UserControlBCodeMan
|
||||
{
|
||||
/// <summary>
|
||||
/// flusso associato (hard coded) a sterrati
|
||||
/// Imposta variabili specifiche classe
|
||||
/// </summary>
|
||||
protected string flusso = "ST";
|
||||
/// <summary>
|
||||
/// stato associato (hard coded) a sterrati
|
||||
/// </summary>
|
||||
protected string statoUDC = "Sterr";
|
||||
/// <summary>
|
||||
/// tipo di evento associato alla creazione dell'UDC
|
||||
/// </summary>
|
||||
protected string eventoUDC = "UDC_STTA";
|
||||
/// <summary>
|
||||
/// tipo di evento associato alla modifica qta dell'UDC
|
||||
/// </summary>
|
||||
protected string eventoUDC_qta = "UDC_QTY";
|
||||
/// <summary>
|
||||
/// dati x verifica CodSoggetto / matricola
|
||||
/// </summary>
|
||||
protected string preCodSogg = memLayer.ML.AppConf["prefCodSogg"];
|
||||
public event EventHandler eh_reqUpdate;
|
||||
/// <summary>
|
||||
/// stringa UID univoca
|
||||
/// </summary>
|
||||
public string uid
|
||||
public override void setupVariabili()
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.UniqueID.Replace("$", "_").Replace("-", "_");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// caricamento pagina
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
qta = 0;
|
||||
// imposto destAL
|
||||
destAL = AlByCella;
|
||||
traduciObj();
|
||||
idxCella = Postazione.currIdxCella;
|
||||
checkNumKeyIn();
|
||||
}
|
||||
setVisibility();
|
||||
doChecks();
|
||||
}
|
||||
/// <summary>
|
||||
/// verifico se ci sia in sessione un input da NumKeyb e nel caso lometto in barcodeIn e processo...
|
||||
/// </summary>
|
||||
private void checkNumKeyIn()
|
||||
{
|
||||
if (memLayer.ML.isInSessionObject("numKeyIn"))
|
||||
{
|
||||
barcodeIn = memLayer.ML.StringSessionObj("numKeyIn");
|
||||
// svuoto valore in sessione...
|
||||
memLayer.ML.emptySessionVal("numKeyIn");
|
||||
// controllo barcode...
|
||||
checkBarcode();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// IDX cella associata alla linea corrente
|
||||
/// </summary>
|
||||
protected int idxCella
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
if (memLayer.ML.isInSessionObject("IdxCellaLineaST"))
|
||||
{
|
||||
answ = memLayer.ML.IntSessionObj("IdxCellaLineaST");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal("IdxCellaLineaST", value);
|
||||
}
|
||||
/// <summary>
|
||||
/// flusso associato (hard coded) a sterrati
|
||||
/// </summary>
|
||||
flusso = "ST";
|
||||
/// <summary>
|
||||
/// stato associato (hard coded) a sterrati
|
||||
/// </summary>
|
||||
statoUDC = "Sterr";
|
||||
eventoUDC = "UDC_STTA";
|
||||
eventoUDC_qta = "UDC_QTY";
|
||||
codLineaKo = "W1000";
|
||||
tipoUdcLinea = "Sterratura";
|
||||
#if true
|
||||
IdxPosizioneIn = memLayer.ML.cdvi("IdxPosizioneSterrati");
|
||||
#endif
|
||||
IdxPosizioneOut = memLayer.ML.cdvi("IdxPosizioneSterratiTemp");
|
||||
IdxPosizioneOutTempName = "IdxPosizioneSterratiTemp";
|
||||
sVarIdxCella = "IdxCellaLineaST";
|
||||
IdxPosizioneOutTemp = memLayer.ML.cdvi(IdxPosizioneOutTempName);
|
||||
tipoCartCurr = tipoCartellino.cartSterr;
|
||||
enableBCodeParticolare = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Codice AL associato alla cella corrente...
|
||||
/// </summary>
|
||||
protected string AlByCella
|
||||
public override string AlByCella
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -119,7 +64,7 @@ namespace GMW.WebUserControls
|
||||
/// <summary>
|
||||
/// Codice AL target
|
||||
/// </summary>
|
||||
protected string destAL
|
||||
public override string destAL
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -131,51 +76,9 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// richiesta (ri)stampa UDC
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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 Sterratura {0}", udcReq), tipoLog.EXCEPTION);
|
||||
}
|
||||
#if false
|
||||
if (false) MagClass.magazzino.taSAO.insertQuery(adesso, MagClass.magazzino.CodSoggCurrUser, Postazione.name, Postazione.IP, udcReq, particolare, "stampaUDC", "Ri-Stampato UDC Sterratura");
|
||||
#endif
|
||||
// raise dell'evento
|
||||
if (eh_reqUpdate != null)
|
||||
{
|
||||
eh_reqUpdate(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// udc da stampare
|
||||
/// </summary>
|
||||
protected string udcReq
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.StringSessionObj("udcSelSAO");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla particolare selezionato
|
||||
/// </summary>
|
||||
private void checkParticolare()
|
||||
public override void checkParticolare()
|
||||
{
|
||||
if (currParticolare != "")
|
||||
{
|
||||
@@ -202,18 +105,9 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// effettua controlli visibilità
|
||||
/// </summary>
|
||||
private void doChecks()
|
||||
{
|
||||
checkBarcode();
|
||||
checkStampa();
|
||||
checkParticolare();
|
||||
}
|
||||
/// <summary>
|
||||
/// sistemo labels oggetti
|
||||
/// </summary>
|
||||
private void traduciObj()
|
||||
public override void traduciObj()
|
||||
{
|
||||
//txtBox
|
||||
txtQta.Text = memLayer.ML.cdv("QtaImballoSterr");
|
||||
@@ -221,152 +115,9 @@ namespace GMW.WebUserControls
|
||||
btnEmptyNote.Text = traduci("btnEmptyNote");
|
||||
}
|
||||
/// <summary>
|
||||
/// restituisce il nome della pagina corrente
|
||||
/// </summary>
|
||||
protected string PagCorrente
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = "";
|
||||
Uri MyUrl = Request.Url;
|
||||
string delimStr = "/";
|
||||
char[] delimiter = delimStr.ToCharArray();
|
||||
string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter);
|
||||
int n = finalUrl.Length;
|
||||
answ = finalUrl[n - 1].ToString();
|
||||
DataLayer_AnagGen.PermessiRow riga = (DataLayer_AnagGen.PermessiRow)user_std.UtSn.permessi.Select(string.Format("URL = '{0}'", answ))[0];
|
||||
answ = riga.NOME;
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper traduzione
|
||||
/// </summary>
|
||||
/// <param name="lemma"></param>
|
||||
/// <returns></returns>
|
||||
public string traduci(object lemma)
|
||||
{
|
||||
return user_std.UtSn.Traduci(lemma.ToString());
|
||||
}
|
||||
/// <summary>
|
||||
/// indica il codice articolo correntemente selezionato
|
||||
/// </summary>
|
||||
protected string currParticolare
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.StringSessionObj(string.Format("currParticolare_{0}", uid));
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal(string.Format("currParticolare_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel"));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// indica UDC correntemente selezionato
|
||||
/// </summary>
|
||||
protected string currUDC
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.StringSessionObj(string.Format("UDC_{0}", uid));
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal(string.Format("UDC_{0}", uid), value, memLayer.ML.confReadBool("keepParticolareSel"));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// indica se i caratteri vadano forzati a maiuscoli
|
||||
/// </summary>
|
||||
public bool forceUppercase
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.confReadBool("forceUppercase");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// num pezzi dell'ultimo UDC del particolare generato
|
||||
/// </summary>
|
||||
public int pezziUdc
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
answ = (int)MagClass.magazzino.taCartellini.getLastByParticolareStato(memLayer.ML.StringSessionObj("CodCS"), currParticolare, statoUDC, false)[0].Qta;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// decodifica il tipo barcode acquisito
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// valore barcode
|
||||
/// </summary>
|
||||
public string barcodeIn
|
||||
public override string barcodeIn
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -380,7 +131,7 @@ namespace GMW.WebUserControls
|
||||
/// <summary>
|
||||
/// qta pezzi TOTALE
|
||||
/// </summary>
|
||||
public int qta
|
||||
public override int qta
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -399,15 +150,30 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Note utente effettive
|
||||
/// </summary>
|
||||
public override string campoNote
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtNote.Text.Trim();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
txtNote.Text = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// controlla se ci sia un barcode
|
||||
/// </summary>
|
||||
private void checkBarcode()
|
||||
public override void checkBarcode()
|
||||
{
|
||||
if (barcodeIn != "")
|
||||
{
|
||||
Postazione.messaggiText = string.Format("Barcode digitato: {0}", barcodeIn);
|
||||
Postazione.warningText = "";
|
||||
switch (tipoBCode)
|
||||
switch (MagClass.tipoBCode_L3(barcodeIn))
|
||||
{
|
||||
case tipoCodiceBarcode.UDC:
|
||||
// effettuo controlli che destAL siano disponibili...
|
||||
@@ -466,7 +232,7 @@ namespace GMW.WebUserControls
|
||||
else
|
||||
{
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
udcDest = checkCreaUDC();
|
||||
udcDest = checkCreaUDC(true, true);
|
||||
|
||||
// verifico che NON SIA GIA' associato...
|
||||
bool udcGiaAssociato = false;
|
||||
@@ -487,7 +253,7 @@ namespace GMW.WebUserControls
|
||||
Postazione.messaggiText += " - Attenzione, UDC già caricato!";
|
||||
Postazione.CssClass = "stileComandoKo";
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
checkCreaUDC();
|
||||
checkCreaUDC(true, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -608,35 +374,14 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
barcodeIn = "";
|
||||
}
|
||||
#if false
|
||||
else
|
||||
{
|
||||
Postazione.messaggiText = traduci("AttesaBCode");
|
||||
Postazione.CssClass = "stileAttesa";
|
||||
}
|
||||
#endif
|
||||
txtBarcode.Focus();
|
||||
}
|
||||
/// <summary>
|
||||
/// effettua consumo UDC
|
||||
/// </summary>
|
||||
/// <param name="oldUdc"></param>
|
||||
private void consumaUdc(string oldUdc)
|
||||
{
|
||||
// se è consumabile (IdxPosizione > 0)...
|
||||
if (MagClass.magazzino.udcMpIsConsumabile(oldUdc))
|
||||
{
|
||||
// consumo UDC
|
||||
MagClass.magazzino.scaricaUdcMpWip(oldUdc, Request.UserHostName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// crea eventualmente UDC per particolare in AL di destinazione e restituisce codice UDC
|
||||
/// </summary>
|
||||
/// <param name="qty"></param>
|
||||
/// <param name="particolare"></param>
|
||||
private string checkCreaUDC()
|
||||
/// <param name="forceMove">Forza lo spostamento a idxCella corrente...</param>
|
||||
/// <param name="createUdcOut">indica se si debba creare UDC in uscita se mancasse...</param>
|
||||
public override string checkCreaUDC(bool forceMove, bool createUdcOut)
|
||||
{
|
||||
string udcDest = "";
|
||||
DateTime adesso = DateTime.Now;
|
||||
@@ -677,24 +422,17 @@ namespace GMW.WebUserControls
|
||||
grViewDest.DataBind();
|
||||
return udcDest;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// aggiorna tabella + focus a barcode
|
||||
/// </summary>
|
||||
public void doUpdate()
|
||||
public override void doUpdate()
|
||||
{
|
||||
idxCella = Postazione.currIdxCella;
|
||||
destAL = AlByCella;
|
||||
setVisibility();
|
||||
checkStampa();
|
||||
base.doUpdate();
|
||||
grView.DataBind();
|
||||
grViewDest.DataBind();
|
||||
txtBarcode.Focus();
|
||||
// raise dell'evento
|
||||
if (eh_reqUpdate != null)
|
||||
{
|
||||
eh_reqUpdate(this, new EventArgs());
|
||||
}
|
||||
raiseEvent(ucEvType.ReqUpdateParent);
|
||||
}
|
||||
/// <summary>
|
||||
/// controllo l'abilitazione alla stampa UDC:
|
||||
@@ -703,7 +441,7 @@ namespace GMW.WebUserControls
|
||||
/// - udc da consumo totale/parziale
|
||||
/// altrimenti disabilito btn stampa
|
||||
/// </summary>
|
||||
private void checkStampa()
|
||||
public override void checkStampa()
|
||||
{
|
||||
bool stampaOk = false;
|
||||
//controllo siano inseriti valori qta
|
||||
@@ -726,7 +464,7 @@ namespace GMW.WebUserControls
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnStampa_Click(object sender, EventArgs e)
|
||||
public override void btnStampa_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool needsRedirect = false;
|
||||
string[] stringSeparators = new string[] { "#" };
|
||||
@@ -806,7 +544,7 @@ namespace GMW.WebUserControls
|
||||
{
|
||||
// controllo SE esista già UDC in AL dest... altrimenti CREO!!!
|
||||
string udcDest = "";
|
||||
udcDest = checkCreaUDC();
|
||||
udcDest = checkCreaUDC(true,true);
|
||||
// associo UDC con quello di destinazione
|
||||
MagClass.magazzino.associaUdcParent(udcDest, udcParent, true);
|
||||
// registro creazione nuovo UDC
|
||||
@@ -834,15 +572,13 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
doUpdate();
|
||||
// raise dell'evento
|
||||
if (eh_reqUpdate != null)
|
||||
{
|
||||
eh_reqUpdate(this, new EventArgs());
|
||||
}
|
||||
raiseEvent(ucEvType.ReqUpdateParent);
|
||||
if (needsRedirect)
|
||||
{
|
||||
Response.Redirect(user_std.pagCorrente);
|
||||
}
|
||||
}
|
||||
#if false
|
||||
/// <summary>
|
||||
/// effettua il consumo di tutti gli UDC inviati come array di stringhe
|
||||
/// </summary>
|
||||
@@ -867,7 +603,7 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///associa nuovo UDC ad elenco UDC
|
||||
/// </summary>
|
||||
@@ -907,55 +643,16 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper per log con salvataggio dell'IP del chiamante
|
||||
/// </summary>
|
||||
/// <param name="_testoPre"></param>
|
||||
/// <returns></returns>
|
||||
public bool httpLog(string _testoPre)
|
||||
{
|
||||
bool answ = false;
|
||||
logger.lg.scriviLog(Postazione.IP + _testoPre);
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper per log con salvataggio dell'IP del chiamante
|
||||
/// </summary>
|
||||
/// <param name="_testoPre"></param>
|
||||
/// <returns></returns>
|
||||
public bool httpLog(string testoLog, tipoLog tipo)
|
||||
{
|
||||
bool answ = false;
|
||||
logger.lg.scriviLog(Postazione.IP + testoLog, tipo);
|
||||
return answ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// effettua reset dati
|
||||
/// </summary>
|
||||
public void doResetData()
|
||||
public override void doResetData()
|
||||
{
|
||||
// resetto i dati QtaTot e particolare...
|
||||
qta = 0;
|
||||
currParticolare = "";
|
||||
txtQta.Text = "";
|
||||
grViewDest.SelectedIndex = -1;
|
||||
doChecks();
|
||||
}
|
||||
/// <summary>
|
||||
/// svuoto le note
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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());
|
||||
}
|
||||
base.doResetData();
|
||||
}
|
||||
/// <summary>
|
||||
/// passo alla modalità IN
|
||||
@@ -966,49 +663,6 @@ namespace GMW.WebUserControls
|
||||
{
|
||||
Response.Redirect("SterrTaglioIN.aspx");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// effettua refresh (su db) del blocco postazione
|
||||
/// </summary>
|
||||
/// <param name="codLinea"></param>
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
protected void grView_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// fix dell'ODS
|
||||
checkFixOds();
|
||||
}
|
||||
protected void grView_Sorted(object sender, EventArgs e)
|
||||
{
|
||||
// fix dell'ODS
|
||||
checkFixOds();
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorno ods al binding..
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ods_DataBinding(object sender, EventArgs e)
|
||||
{
|
||||
// fix dell'ODS
|
||||
checkFixOds();
|
||||
}
|
||||
/// <summary>
|
||||
/// verifica se attivo filtro company e imposta ods di conseguenza...
|
||||
/// </summary>
|
||||
private void checkFixOds()
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// traduce gli header delle colonne
|
||||
/// </summary>
|
||||
@@ -1063,7 +717,7 @@ namespace GMW.WebUserControls
|
||||
/// <summary>
|
||||
/// sistema modalità input
|
||||
/// </summary>
|
||||
private void setVisibility()
|
||||
public override void setVisibility()
|
||||
{
|
||||
bool showBtn = false;
|
||||
// ora controllo btn quantità
|
||||
@@ -1078,30 +732,18 @@ namespace GMW.WebUserControls
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnReset_Click(object sender, EventArgs e)
|
||||
public override void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
grViewDest.SelectedIndex = -1;
|
||||
qta = 0;
|
||||
currUDC = "";
|
||||
currParticolare = "";
|
||||
setVisibility();
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// update Qty x UDC selezionato...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void lbtUpdQty_Click(object sender, EventArgs e)
|
||||
{
|
||||
aggiornaQta();
|
||||
base.btnReset_Click(sender, e);
|
||||
}
|
||||
|
||||
private void aggiornaQta()
|
||||
/// <summary>
|
||||
/// gestione specifica update qta
|
||||
/// </summary>
|
||||
public override void aggiornaQta()
|
||||
{
|
||||
MagClass.magazzino.taCartellini.updateQty(currUDC, MagClass.magazzino.CodSoggCurrUser, "U", eventoUDC_qta, qta);
|
||||
currUDC = "";
|
||||
currParticolare = "";
|
||||
base.aggiornaQta();
|
||||
grViewDest.SelectedIndex = -1;
|
||||
setVisibility();
|
||||
doUpdate();
|
||||
@@ -1130,26 +772,7 @@ namespace GMW.WebUserControls
|
||||
txtCesta.Text = txtCesta.Text.ToUpper().Trim().PadLeft(4, '0').Substring(0, 4);
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// fornisce in output la corretta classe css x icona
|
||||
/// </summary>
|
||||
/// <param name="qta"></param>
|
||||
/// <returns></returns>
|
||||
public string cssGlyphByQty(object _qta)
|
||||
{
|
||||
string answ = "fa fa-pencil";
|
||||
int qtaUDC = 0;
|
||||
try
|
||||
{
|
||||
qtaUDC = Convert.ToInt32(_qta);
|
||||
}
|
||||
catch { }
|
||||
if (qtaUDC > 0)
|
||||
{
|
||||
answ = "fa fa-print";
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// qui la selezione è x scaricare...
|
||||
/// </summary>
|
||||
@@ -1160,30 +783,5 @@ namespace GMW.WebUserControls
|
||||
consumaUdc(grView.SelectedValue.ToString());
|
||||
doUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// determina se sia possibile cancellare un record, se qta > 0
|
||||
/// </summary>
|
||||
/// <param name="_qta"></param>
|
||||
/// <returns></returns>
|
||||
public bool canDelete(object _qta)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(_qta) == 0;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// evento cambio qta
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void txtQta_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
aggiornaQta();
|
||||
}
|
||||
}
|
||||
}
|
||||
+80
-72
@@ -1,204 +1,212 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// <generato automaticamente>
|
||||
// Codice generato da uno strumento.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
|
||||
// il codice viene rigenerato.
|
||||
// </generato automaticamente>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace GMW.WebUserControls
|
||||
{
|
||||
|
||||
|
||||
namespace GMW.WebUserControls {
|
||||
|
||||
|
||||
public partial class mod_sterrTaglio {
|
||||
|
||||
/// <summary>
|
||||
/// BundleReference1 control.
|
||||
/// Controllo BundleReference1.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::Microsoft.AspNet.Web.Optimization.WebForms.BundleReference BundleReference1;
|
||||
|
||||
/// <summary>
|
||||
/// BundleReference2 control.
|
||||
/// Controllo BundleReference2.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::Microsoft.AspNet.Web.Optimization.WebForms.BundleReference BundleReference2;
|
||||
|
||||
/// <summary>
|
||||
/// grView control.
|
||||
/// Controllo lblUdcParent.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblUdcParent;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo grView.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView grView;
|
||||
|
||||
/// <summary>
|
||||
/// ods control.
|
||||
/// Controllo ods.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumRec control.
|
||||
/// Controllo lblNumRec.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumRec;
|
||||
|
||||
/// <summary>
|
||||
/// lblParticolareAttivo control.
|
||||
/// Controllo lblParticolareAttivo.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblParticolareAttivo;
|
||||
|
||||
/// <summary>
|
||||
/// lblDescrAttivo control.
|
||||
/// Controllo lblDescrAttivo.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDescrAttivo;
|
||||
|
||||
/// <summary>
|
||||
/// lblDisegno control.
|
||||
/// Controllo lblDisegno.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDisegno;
|
||||
|
||||
/// <summary>
|
||||
/// lblBarcode control.
|
||||
/// Controllo lblBarcode.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblBarcode;
|
||||
|
||||
/// <summary>
|
||||
/// txtBarcode control.
|
||||
/// Controllo txtBarcode.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtBarcode;
|
||||
|
||||
/// <summary>
|
||||
/// divNote control.
|
||||
/// Controllo divNote.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNote;
|
||||
|
||||
/// <summary>
|
||||
/// txtNote control.
|
||||
/// Controllo txtNote.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtNote;
|
||||
|
||||
/// <summary>
|
||||
/// btnEmptyNote control.
|
||||
/// Controllo btnEmptyNote.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnEmptyNote;
|
||||
|
||||
/// <summary>
|
||||
/// lbtStampaUDC control.
|
||||
/// Controllo lbtStampaUDC.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton lbtStampaUDC;
|
||||
|
||||
/// <summary>
|
||||
/// lblAL control.
|
||||
/// Controllo lblAL.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAL;
|
||||
|
||||
/// <summary>
|
||||
/// grViewDest control.
|
||||
/// Controllo grViewDest.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView grViewDest;
|
||||
|
||||
/// <summary>
|
||||
/// odsDest control.
|
||||
/// Controllo odsDest.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsDest;
|
||||
|
||||
/// <summary>
|
||||
/// txtCesta control.
|
||||
/// Controllo txtCesta.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCesta;
|
||||
|
||||
/// <summary>
|
||||
/// divQta control.
|
||||
/// Controllo divQta.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQta;
|
||||
|
||||
/// <summary>
|
||||
/// txtQta control.
|
||||
/// Controllo txtQta.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtQta;
|
||||
|
||||
/// <summary>
|
||||
/// lbtUpdQty control.
|
||||
/// Controllo lbtUpdQty.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton lbtUpdQty;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user