// разбор параметров от главной формы private void AfterConstruct(object xx) { object[] x = (object[])xx; try { xMF = (MainF)(x[0]); bAutoMark = (bool)(x[1]); } catch { } xNSI = xMF.xNSI; //ehOldScan = new BarcodeScanner.BarcodeScanEventHandler(OnScanPL); ehOldScan = new BarcodeScanner.BarcodeScanEventHandler(OnScan); xMF.xBCScanner.BarcodeScan += ehOldScan; xHelpS = new Srv.HelpShow(this); lstHelp = new List <string>(new string[] { xMF.xFuncs.TryGetFuncKeys(AppC.F_UPLD_DOC).PadRight(CMD_SIGHN) + " - выгрузка сведений", xMF.xFuncs.TryGetFuncKeys(AppC.F_CHG_REC).PadRight(CMD_SIGHN) + " - новая паллетта", "->,<-".PadRight(CMD_SIGHN) + " - смена емкости", xMF.xFuncs.TryGetFuncKeys(AppC.F_EASYEDIT).PadRight(CMD_SIGHN) + " - новый документ", xMF.xFuncs.TryGetFuncKeys(AppC.F_LOAD_DOC).PadRight(CMD_SIGHN) + " - стрейчевание", xMF.xFuncs.TryGetFuncKeys(AppC.F_A4MOVE).PadRight(CMD_SIGHN) + " - режим стрейч", xMF.xFuncs.TryGetFuncKeys(AppC.F_KMCINF).PadRight(CMD_SIGHN) + " - без WMS", xMF.xFuncs.TryGetFuncKeys(AppC.F_QUIT).PadRight(CMD_SIGHN) + " - выход", xMF.xFuncs.TryGetFuncKeys(AppC.F_MARKWMS).PadRight(CMD_SIGHN) + " - возврат в главную" }); //System.Reflection.AssemblyName xAN = System.Reflection.Assembly.GetExecutingAssembly().GetName(); //string sV = xAN.Version.ToString(); //int nPoint = sV.LastIndexOf("."); //lHelp.Text = String.Format("<F1> - помощь v{0}", sV.Substring(nPoint)); xMF.CheckNSIState(false); this.Tag = null; // номер ID-точки tDevID.Text = sDevID = Smena.EnterPointID; chNewDoc.Checked = (sDevID.Length > 0)?false:true; enWrapMode = xMF.xPars.WrapMode; SetWrapp(); if (xMF.xPars.CanEditIDNum) { tDevID.Focus(); } else { tDevID.Enabled = false; if (sDevID.Length > 0) { MainCycleStart(sDevID, false); } } }
/// подготовить и отобразить содержимое SSCC private void ShowSSCCContent(DataTable dtZ, string sSSCC, ServerExchange xSE, AddrInfo xA, ref Srv.CurrFuncKeyHandler ehKeybHdl) { const int NP_LEN = 5; int nTotMest, nM; string sNP, sUser = "", sFIO = ""; char cExCh = '='; DataRow xd; DateTime dVyr; List <string> lKMC = new List <string>(), lCur = new List <string>(); FRACT fTotEd, fE; nTotMest = 0; fTotEd = 0; try { string sA = ""; try { sA = xA.AddrShow; } catch { } try { sUser = xSE.AnswerPars["USER"]; if ((sUser == AppC.SUSER) || (sUser == AppC.GUEST)) { sFIO = (sUser == AppC.SUSER) ? "Admin" : "Работник склада"; } else { NSI.RezSrch zS = xNSI.GetNameSPR(NSI.NS_USER, new object[] { sUser }, "NMP"); if (zS.bFind) { sFIO = sUser + '-' + zS.sName; } else { sFIO = sUser; } } } catch { sFIO = ""; } xInf = aKMCName(String.Format("{0} ({1}) {2}", sSSCC.Substring(2), sA, sFIO), false); xInf.Add(aKMCName("", true, cExCh)[0]); if (dtZ.Rows.Count > 0) { DataView dv = new DataView(dtZ, "", "KMC", DataViewRowState.CurrentRows); foreach (DataRowView dva in dv) { xd = dva.Row; try { nM = (int)xd["KOLM"]; } catch { nM = 0; } try { fE = (FRACT)xd["KOLE"]; } catch { fE = 0; } try { dVyr = DateTime.ParseExact((string)xd["DVR"], "yyyyMMdd", null); } catch { dVyr = DateTime.MinValue; } nTotMest += nM; fTotEd += fE; if (!lKMC.Contains((string)xd["KMC"])) { lKMC.Add((string)xd["KMC"]); } lCur.Add(String.Format("{0,4} {1}", xd["KRKMC"], xd["SNM"])); //lCur.Add(String.Format("{0} {1,6} {2,5:F1} {3,6} {4,7}", dVyr.ToString("dd.MM"), xd["NP"], xd["EMK"], nM, fE)); sNP = xd["NP"].ToString(); if (sNP.Length > NP_LEN) { sNP = sNP.Substring(sNP.Length - NP_LEN, NP_LEN); } else { sNP = sNP.PadLeft(NP_LEN); } lCur.Add(String.Format("{0} {1,5} {2,5:F1} {3,6} {4,7}", dVyr.ToString("dd.MM"), sNP, xd["EMK"], nM, fE)); lCur.Add(aKMCName("", true)[0]); } xInf.Add(String.Format("Всего SKU: {0} Мест:{1} Ед.:{2}", lKMC.Count, nTotMest, fTotEd)); xInf.Add(aKMCName("", true, cExCh)[0]); xInf.Add(" Двыр №пт Емк Мест Ед."); xInf.Add(aKMCName("", true, cExCh)[0]); xInf.AddRange(lCur); } else { xInf.Add("Нет сведений!"); Srv.PlayMelody(W32.MB_3GONG_EXCLAM); } //xHelpS.ShowInfo(xInf, ref ehKeybHdl); Srv.HelpShow xSSCCCont = new Srv.HelpShow(this); //xSSCCCont.ShowInfo(xInf, ref ehKeybHdl); xSSCCCont.ShowInfo(null, (tcMain.SelectedIndex == PG_DOC) ? dgDoc : (tcMain.SelectedIndex == PG_SCAN) ? dgDet : null, xInf, ref ehKeybHdl); } catch (Exception ex) { int ggg = 999; } }
private int AdrResult(ScanVarGP xSc, ref PSC_Types.ScDat scD, AddrInfo xA) { int nRec, nRet = AppC.RC_OK; DataRow dr; DialogResult dRez; nRet = ConvertAdr2Lst(xA, AppC.COM_ADR2CNT, "ROW", false, NSI.SRCDET.FROMADR); if (nRet == AppC.RC_OK) { nRec = xCLoad.dtZ.Rows.Count; if (nRec == 1) { scD = new PSC_Types.ScDat(new ScannerAll.BarcodeScannerEventArgs(ScannerAll.BCId.NoData, "")); //SetVirtScan(xCLoad.dtZ.Rows[0], ref scD, true, false); SetVirtScan(xCLoad.dtZ.Rows[0], ref scD, true, true); scD.nRecSrc = (int)NSI.SRCDET.FROMADR; xCDoc.xOper.SSCC = scD.sSSCC; // Если пришел адрес назначения if ((scD.xOp.xAdrDst != null) && (scD.xOp.xAdrDst.Addr.Length > 0)) { xCDoc.xOper.xAdrDst_Srv = scD.xOp.xAdrDst; // сохранить рекомендации сервера if (xDestInfo == null) { int FontS = 28, INFWIN_WIDTH = 230, INFWIN_HEIGHT = 90; System.Drawing.Rectangle recInf, screen = Screen.PrimaryScreen.Bounds; recInf = new System.Drawing.Rectangle((screen.Width - INFWIN_WIDTH) / 2, 200, INFWIN_WIDTH, INFWIN_HEIGHT); xDestInfo = new Srv.HelpShow(this, recInf, 1, FontS, 0); } xDestInfo.ShowInfo(new string[] { scD.xOp.xAdrDst.AddrShow }, ref ehCurrFunc); } scD.xOp = (xCDoc.xOper == null) ? new CurOper(false) : xCDoc.xOper; if ((xCDoc.xDocP.TypOper == AppC.TYPOP_DOCUM) || (xCDoc.xDocP.TypOper == AppC.TYPOP_KMPL) || (xCDoc.xDocP.TypOper == AppC.TYPOP_KMSN)) {// будет редактирование количества "отсканированной" продукции return(AppC.RC_CONTINUE); } // далее выполняется только для операций if (xCDoc.xDocP.TypOper == AppC.TYPOP_MOVE) { if (scD.tTyp == AppC.TYP_TARA.TARA_PODDON) {// для поддонов редактирования не будет scCur = scD; if (AddDet1(ref scD, out dr)) { //xCDoc.xOper.bObjOperScanned = true; xCDoc.xOper.SetOperObj(dr, xCDoc.xDocP.nTypD, false); //SetDetFields(false); if (dr != null) { drDet = dr; //dr["SSCC"] = scD.sSSCC; //xCDoc.xOper.SSCC = scD.sSSCC; } } } } //IsOperReady(false); } else if (nRec > 1) {// ROW - добавление группы if (xCDoc.xDocP.TypOper == AppC.TYPOP_DOCUM) { dRez = MessageBox.Show( String.Format("Новых строк {0}\nДобавить (Enter)?\n(ESC)- вывод на экран", xCLoad.dtZ.Rows.Count), "Добавление продукции", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); } else { dRez = DialogResult.Cancel; } if (dRez == DialogResult.OK) { //nRet = AddGroupDet(AppC.RC_MANYEAN, (int)NSI.SRCDET.FROMADR, xA.AddrShow); nRet = AddGroupDet(AppC.RC_MANYEAN, (int)NSI.SRCDET.FROMADR, ""); } else { if (AppC.RC_OK == ConvertAdr2Lst(xA, "TXT")) { // справочная информация, просто выводится xHelpS.ShowInfo(xInf, ref ehCurrFunc); } } } } return(nRet); }