Merge branch 'develop' into SDK
This commit is contained in:
+168
-19
@@ -126,23 +126,6 @@ namespace AppData
|
||||
return answ;
|
||||
}
|
||||
|
||||
//public object getEstAnsw(int BatchId)
|
||||
//{
|
||||
// List<nestReplyBatchFinal> answ = null;
|
||||
|
||||
// var collNAA = database.GetCollection<nestReplyBatchFinal>("NestAnswArchive");
|
||||
// // oggetto filtraggio x nest answ
|
||||
// var builderNAA = Builders<nestReplyBatchFinal>.Filter;
|
||||
// var filtBatchId = builderNAA.Eq(u => u.BatchID, BatchId);
|
||||
|
||||
// var datiCorrenti = collNAA.Find(filtBatchId);
|
||||
// foreach (var item in datiCorrenti)
|
||||
// {
|
||||
|
||||
// }
|
||||
// return answ;
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// restitusice ultima chiamata REST registrata su REDIS
|
||||
/// </summary>
|
||||
@@ -186,8 +169,6 @@ namespace AppData
|
||||
|
||||
#region definizione classi impiegate con PROD
|
||||
|
||||
|
||||
|
||||
public static string PositionStatusDescr(object value)
|
||||
{
|
||||
string answ = "";
|
||||
@@ -205,6 +186,12 @@ namespace AppData
|
||||
case BatchPosition.StackDone:
|
||||
answ = traduci("StackDone");
|
||||
break;
|
||||
case BatchPosition.Current:
|
||||
answ = traduci("StackCurrent");
|
||||
break;
|
||||
case BatchPosition.Completed:
|
||||
answ = traduci("StackCompleted");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1629,7 +1616,12 @@ namespace AppData
|
||||
// sostituisco
|
||||
dictData.Remove(deviceId);
|
||||
}
|
||||
// salvo!
|
||||
rawData = JsonConvert.SerializeObject(dictData);
|
||||
memLayer.ML.setRSV($"{redKeyBase}:ItemsSel", rawData);
|
||||
answ = true;
|
||||
// reset memoria redis del CSS x obbligare refresh...
|
||||
memLayer.ML.setRSV($"{redKeyBase}:Css", "");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
@@ -1704,6 +1696,163 @@ namespace AppData
|
||||
return currCss;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IP del device
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GetIPAddress()
|
||||
{
|
||||
HttpContext context = HttpContext.Current;
|
||||
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
|
||||
|
||||
if (!string.IsNullOrEmpty(ipAddress))
|
||||
{
|
||||
string[] addresses = ipAddress.Split(',');
|
||||
if (addresses.Length != 0)
|
||||
{
|
||||
return addresses[0];
|
||||
}
|
||||
}
|
||||
|
||||
return context.Request.ServerVariables["REMOTE_ADDR"];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calcola area REDIS per MACCHINA
|
||||
/// </summary>
|
||||
/// <param name="SheetID"></param>
|
||||
/// <returns></returns>
|
||||
public static string machineArea(string machineCod)
|
||||
{
|
||||
string answ = memLayer.ML.redHash($"currMachineData:{machineCod}");
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupera prossimo batch da DB (NEXT... da db x status... ok SOLO x singola macchina)
|
||||
/// </summary>
|
||||
protected int getNextBatch
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
var currData = DataLayer.man.taBL.getNextAvailable();
|
||||
if (currData.Count > 0)
|
||||
{
|
||||
answ = currData[0].BatchID;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupera SHEET da batch e sstati permessi...
|
||||
/// </summary>
|
||||
/// <param name="BatchID"></param>
|
||||
/// <param name="minVal"></param>
|
||||
/// <param name="maxVal"></param>
|
||||
/// <returns></returns>
|
||||
protected int getSheetIdByBatch(int BatchID, int minVal, int maxVal)
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
var tabSheet = DataLayer.man.taSHL.getByMLStatus(BatchID, minVal, maxVal);
|
||||
if (tabSheet.Count > 0)
|
||||
{
|
||||
answ = tabSheet[0].SheetID;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Fornisce un dictionary di valori ATTUALI per una specifica macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <returns></returns>
|
||||
public Dictionary<string, string> getCurrMachineData(string machineCod)
|
||||
{
|
||||
Dictionary<string, string> answ = new Dictionary<string, string>();
|
||||
// cerco in REDIS
|
||||
string rawData = memLayer.ML.getRSV(machineArea(machineCod));
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
answ = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
|
||||
}
|
||||
else
|
||||
{
|
||||
// recupero batch e sheet...
|
||||
int batchId = getNextBatch;
|
||||
// se non trovo creo un oggetto NUOVO e vuoto x ogni oggetto... e salvo...
|
||||
answ.Add("BatchID", batchId.ToString());
|
||||
answ.Add("SheetID_load", getSheetIdByBatch(batchId, 0, 1).ToString());
|
||||
answ.Add("SheetID_print", getSheetIdByBatch(batchId, 1, 2).ToString());
|
||||
answ.Add("SheetID_work", getSheetIdByBatch(batchId, 2, 3).ToString());
|
||||
answ.Add("SheetID_unload", getSheetIdByBatch(batchId, 3, 5).ToString());
|
||||
// serializzo e salvo!
|
||||
saveMachineData(machineCod, answ);
|
||||
}
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Salvataggio array dati di una macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <param name="paramsArray"></param>
|
||||
/// <returns></returns>
|
||||
public bool saveMachineData(string machineCod, Dictionary<string, string> paramsArray)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
// serializzo e salvo!
|
||||
string rawData = JsonConvert.SerializeObject(paramsArray);
|
||||
memLayer.ML.setRSV(machineArea(machineCod), rawData);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Fornisce un dictionary di valori ATTUALI per una specifica macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <param name="Key"></param>
|
||||
/// <param name="Val"></param>
|
||||
/// <returns></returns>
|
||||
public bool saveMachineParam(string machineCod, string Key, string Val)
|
||||
{
|
||||
bool answ = false;
|
||||
// recupero i dati
|
||||
try
|
||||
{
|
||||
var currData = getCurrMachineData(machineCod);
|
||||
// aggiorno il record
|
||||
if (currData.ContainsKey(Key))
|
||||
{
|
||||
currData[Key] = Val;
|
||||
}
|
||||
// oppure aggiungo...
|
||||
else
|
||||
{
|
||||
currData.Add(Key, Val);
|
||||
}
|
||||
// salvo...
|
||||
saveMachineData(machineCod, currData);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -17,7 +17,7 @@ pipeline {
|
||||
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=211']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=215']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.versionNumberBeta = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
|
||||
+1
-2
@@ -440,7 +440,6 @@ namespace NKC_SDK
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region classi per PROD
|
||||
|
||||
/// <summary>
|
||||
@@ -609,5 +608,5 @@ namespace NKC_SDK
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Cod" SortExpression="BinDtmx">
|
||||
<ItemTemplate>
|
||||
<b><asp:Label ID="Label1" runat="server" Text='<%# Eval("BinDtmx") %>' CssClass='<%# getCssByRatio(getRatio(Eval("TotItemLoad"),Eval("TotItem"))) %>' /></b>
|
||||
<b><asp:Label ID="Label1" runat="server" Text='<%# Eval("BinIndex","B{0}") %>' CssClass='<%# getCssByRatio(getRatio(Eval("TotItemLoad"),Eval("TotItem"))) %>' /></b>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="D/T" SortExpression="TotItem">
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Cod" SortExpression="CartDtmx">
|
||||
<ItemTemplate>
|
||||
<b><asp:Label ID="Label1" runat="server" Text='<%# Eval("CartDtmx") %>' CssClass='<%# getCssByRatio(getRatio(Eval("TotItemLoad"),Eval("TotItem"))) %>' /></b>
|
||||
<b><asp:Label ID="Label1" runat="server" Text='<%# Eval("CartIndex","C{0}") %>' CssClass='<%# getCssByRatio(getRatio(Eval("TotItemLoad"),Eval("TotItem"))) %>' /></b>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="D/T" SortExpression="TotItem">
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Activity" SortExpression="Position">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblPosition" runat="server" Text='<%# PStatus(Eval("Position")) %>' />
|
||||
<asp:Label ID="lblPosition" runat="server" Text='<%# BatchPositionStatus(Eval("Position")) %>' />
|
||||
</ItemTemplate>
|
||||
<ItemStyle CssClass="text-right" />
|
||||
</asp:TemplateField>
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace NKC_WF.WebUserControls
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if(!Page.IsPostBack)
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
checkVisibility();
|
||||
}
|
||||
@@ -24,7 +24,7 @@ namespace NKC_WF.WebUserControls
|
||||
grView.Visible = !divSelected.Visible;
|
||||
// imposto css titolo...
|
||||
string titleClass = "row font-weight-bold";
|
||||
if(divSelected.Visible)
|
||||
if (divSelected.Visible)
|
||||
{
|
||||
titleClass += " table-primary";
|
||||
}
|
||||
@@ -78,11 +78,11 @@ namespace NKC_WF.WebUserControls
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Converte il codice POSITION in effettivo campo
|
||||
/// Converte il codice POSITION di un BATCH in traduzione
|
||||
/// </summary>
|
||||
/// <param name="_status"></param>
|
||||
/// <returns></returns>
|
||||
public string PStatus(object _status)
|
||||
public string BatchPositionStatus(object _status)
|
||||
{
|
||||
string answ = ComLib.PositionStatusDescr(_status);
|
||||
return answ;
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
<%@ Register Src="~/WebUserControls/cmp_barcode.ascx" TagPrefix="uc1" TagName="cmp_barcode" %>
|
||||
|
||||
<div class="mx-0">
|
||||
<asp:HiddenField ID="hfBatchID" runat="server" />
|
||||
<asp:HiddenField ID="hfSheetID" runat="server" />
|
||||
<asp:HiddenField ID="hfDeviceId" runat="server" />
|
||||
<div class="card text-center" style="width: 100%;">
|
||||
<h4 class="card-header bg-secondary text-light"><%: traduci("MachineUnloadSmart") %></h4>
|
||||
<div class="card-body py-1">
|
||||
|
||||
@@ -12,35 +12,33 @@ namespace NKC_WF.WebUserControls
|
||||
/// <summary>
|
||||
/// ID univoco da IP
|
||||
/// </summary>
|
||||
protected string deviceId = "AAA";
|
||||
protected string DeviceId
|
||||
{
|
||||
set
|
||||
{
|
||||
hfDeviceId.Value = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
return hfDeviceId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Batch selezionato
|
||||
/// </summary>
|
||||
protected int BatchID;
|
||||
/// <summary>
|
||||
/// Sheet selezionato...
|
||||
/// </summary>
|
||||
protected int SheetID;
|
||||
/// <summary>
|
||||
/// IP del device
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected string GetIPAddress()
|
||||
protected int SheetID
|
||||
{
|
||||
System.Web.HttpContext context = System.Web.HttpContext.Current;
|
||||
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
|
||||
|
||||
if (!string.IsNullOrEmpty(ipAddress))
|
||||
set
|
||||
{
|
||||
string[] addresses = ipAddress.Split(',');
|
||||
if (addresses.Length != 0)
|
||||
{
|
||||
return addresses[0];
|
||||
}
|
||||
hfSheetID.Value = value.ToString();
|
||||
}
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
int.TryParse(hfSheetID.Value, out answ);
|
||||
return answ;
|
||||
}
|
||||
|
||||
return context.Request.ServerVariables["REMOTE_ADDR"];
|
||||
}
|
||||
protected string secOp
|
||||
{
|
||||
@@ -58,20 +56,34 @@ namespace NKC_WF.WebUserControls
|
||||
/// </summary>
|
||||
protected void updateCurrData()
|
||||
{
|
||||
//!!!FIXME!!! fare calcolo del VERO batch corrente...
|
||||
BatchID = 242;
|
||||
// FORSE 5/5?!?
|
||||
var sheetList = DataLayer.man.taSHL.getByMLStatus(BatchID, 3, 5);
|
||||
var sheetList = DataLayer.man.taSHL.getByMLStatus(BatchId, 3, 5);
|
||||
if (sheetList.Count > 0)
|
||||
{
|
||||
SheetID = sheetList[0].SheetID;
|
||||
}
|
||||
DeviceId = ComLib.GetIPAddress().Replace(".", "0").Replace(":", "0");
|
||||
}
|
||||
/// <summary>
|
||||
/// Batch corrente...
|
||||
/// </summary>
|
||||
public int BatchId
|
||||
{
|
||||
set
|
||||
{
|
||||
hfBatchID.Value = value.ToString();
|
||||
}
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
int.TryParse(hfBatchID.Value, out answ);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
deviceId = GetIPAddress().Replace(".", "_");
|
||||
resetIcons();
|
||||
updateCurrData();
|
||||
}
|
||||
@@ -143,7 +155,7 @@ namespace NKC_WF.WebUserControls
|
||||
case codeType.UNK:
|
||||
cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action");
|
||||
// elimino item sel...
|
||||
ComLib.resetItemPickup(SheetID, deviceId);
|
||||
ComLib.resetItemPickup(SheetID, DeviceId);
|
||||
doRaiseEv = true;
|
||||
break;
|
||||
case codeType.Item:
|
||||
@@ -183,7 +195,7 @@ namespace NKC_WF.WebUserControls
|
||||
default:
|
||||
cmp_barcode.showOutput("text-danger", $"Unknown Data: {decoData.rawData} --> no action");
|
||||
// elimino item sel...
|
||||
ComLib.resetItemPickup(SheetID, deviceId);
|
||||
ComLib.resetItemPickup(SheetID, DeviceId);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -197,8 +209,7 @@ namespace NKC_WF.WebUserControls
|
||||
{
|
||||
// salvo in item sel...
|
||||
updateCurrData();
|
||||
deviceId = GetIPAddress().Replace(".", "0").Replace(":", "0");
|
||||
ComLib.saveItemPickup(SheetID, deviceId, itemDtmx);
|
||||
ComLib.saveItemPickup(SheetID, DeviceId, itemDtmx);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -257,7 +268,7 @@ namespace NKC_WF.WebUserControls
|
||||
DataLayer.man.taIL.updateStatus(itemIdSelected, 4, "WRK001");
|
||||
lblDestination.Text = $"Item {itemIdSelected} PUT IN CART {rawData}";
|
||||
// elimino item sel...
|
||||
ComLib.resetItemPickup(SheetID, deviceId);
|
||||
ComLib.resetItemPickup(SheetID, DeviceId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -277,7 +288,7 @@ namespace NKC_WF.WebUserControls
|
||||
DataLayer.man.taIL.updateStatus(itemIdSelected, 5, "WRK001");
|
||||
lblDestination.Text = $"Item {itemIdSelected} PUT IN BIN {rawData}";
|
||||
// elimino item sel...
|
||||
ComLib.resetItemPickup(SheetID, deviceId);
|
||||
ComLib.resetItemPickup(SheetID, DeviceId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -14,6 +14,33 @@ namespace NKC_WF.WebUserControls
|
||||
public partial class cmp_unloadSmart
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Controllo hfBatchID.
|
||||
/// </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.HiddenField hfBatchID;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo hfSheetID.
|
||||
/// </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.HiddenField hfSheetID;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo hfDeviceId.
|
||||
/// </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.HiddenField hfDeviceId;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo cmp_barcode.
|
||||
/// </summary>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<uc1:cmp_MU_carts runat="server" ID="cmp_MU_carts" />
|
||||
</div>
|
||||
</div>
|
||||
<uc1:cmp_MU_suggestions runat="server" id="cmp_MU_suggestions" />
|
||||
<uc1:cmp_MU_suggestions runat="server" id="cmp_MU_suggestions" Visible="false"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<asp:HiddenField ID="hfBatchID" runat="server" />
|
||||
<uc1:cmp_unloadSmart runat="server" ID="cmp_unloadSmart" />
|
||||
</asp:Content>
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
namespace NKC_WF
|
||||
using System;
|
||||
|
||||
namespace NKC_WF
|
||||
{
|
||||
public partial class MachineUnloadSmart : BasePage
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
doUpdate();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Batch corrente...
|
||||
/// </summary>
|
||||
public int BatchId
|
||||
{
|
||||
set
|
||||
{
|
||||
hfBatchID.Value = value.ToString();
|
||||
}
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
int.TryParse(hfBatchID.Value, out answ);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggiorna componente principale e child components
|
||||
/// </summary>
|
||||
private void doUpdate()
|
||||
{
|
||||
//!!!FIXME!!! fare calcolo del VERO batch corrente...
|
||||
BatchId = 242; // fixed x test!
|
||||
// aggiorno child
|
||||
cmp_unloadSmart.BatchId = BatchId;
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
-14
@@ -7,18 +7,29 @@
|
||||
// </generato automaticamente>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace NKC_WF {
|
||||
|
||||
|
||||
public partial class MachineUnloadSmart {
|
||||
|
||||
/// <summary>
|
||||
/// Controllo cmp_unloadSmart.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::NKC_WF.WebUserControls.cmp_unloadSmart cmp_unloadSmart;
|
||||
}
|
||||
namespace NKC_WF
|
||||
{
|
||||
|
||||
|
||||
public partial class MachineUnloadSmart
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Controllo hfBatchID.
|
||||
/// </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.HiddenField hfBatchID;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo cmp_unloadSmart.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::NKC_WF.WebUserControls.cmp_unloadSmart cmp_unloadSmart;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user