// вход в режим ввода/корректировки параметров public void EditPars(int nReg, DocPars x, CTRL1ST FirstEd, AppC.VerifyEditFields dgVer, EditParsOver dgEnd) { bool bEnField = true; xDP = x; if (x != null) { //bQuitEdPars = false; nCurFunc = nReg; //bWorkWithDocPars = true; //ServClass.dgVerEd = new AppC.VerifyEditFields(dgVer); dgOver = new EditParsOver(dgEnd); SetParFields(xDP); oldKeyH = ehCurrFunc; ehCurrFunc = new Srv.CurrFuncKeyHandler(PPars_KeyDown); //xBCScanner.BarcodeScan -= ehScan; ehParScan = new BarcodeScanner.BarcodeScanEventHandler(OnScanPar); xBCScanner.BarcodeScan += ehParScan; //BeginEditPars(FirstEd, dgVer); aEdVvod = new AppC.EditListC(dgVer); if (nReg == AppC.F_LOAD_DOC) { if (xDP.sBC_Doc.Length > 0) { bEnField = false; } } aEdVvod.AddC(tKT_p, bEnField); aEdVvod.AddC(tNom_p, bEnField); aEdVvod.AddC(tBCDoc); if (FirstEd == CTRL1ST.START_EMPTY) { aEdVvod.SetCur(0); } else { aEdVvod.SetCur(tBCDoc); } SetEditMode(true); } }
// Начало редактирования public void BeginEditAvt(int nReg) { aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyAvt)); if ((nReg != AppC.AVT_TOUT) && (nReg != AppC.AVT_PARS)) { aEd.AddC(tUser); } else { tUser.Text = xSm.sUName; tUser.Enabled = false; } if (nReg != AppC.AVT_PARS) { aEd.AddC(tPass); } else { tPass.Enabled = false; } if (nReg != AppC.AVT_TOUT) { // склады грузили ? aEd.AddC(tDefKSKL, (xNSI.DT[NSI.NS_SKLAD].nState == NSI.DT_STATE_READ) ? true : false); //aEd.AddC(tDefUch, IsUch(xSm.nSklad)); aEd.AddC(tDefDateDoc); //aEd.AddC(cbReg, ((xSm.nSklad == 1) || (xSm.nSklad == 8)) ? true : false); } aEd.SetCur(aEd[0]); }
// создание массива управлени¤ редактированием полей private void CreateEdArrDet(int nReg) { Control xC = null; aEdVvod = new AppC.EditListC(Try2Start); switch (nReg) { case AppC.AVT_LOGON: // начало новой смены aEdVvod.AddC(tUser); aEdVvod.AddC(tPass); aEdVvod.AddC(tDefKSKL, !(xNSI.DT[NSI.NS_POST].nState == NSI.DT_STATE_INIT)); // склады еще не грузили ? aEdVvod.AddC(tDefDateDoc); aEdVvod.AddC(tDefSmena); xC = tUser; break; case AppC.AVT_LOGOFF: break; } // фокус - на первый из доступных aEdVvod.SetCur(xC); }
// Начало редактирования public void BeginEditP(Control xC) { bool bEn = false; tIn.Text = "Прибыл <ENT>"; tOut.Text = "Убыл <ENT>"; tIn.Enabled = false; tOut.Enabled = false; tAvto.Enabled = false; aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyB)); if (xPark.RegFix == AppC.FX_PTLST) { aEd.AddC(tNDoc); //aEd.AddC(tSm); aEd.AddC(tShlAddr); aEd.SetCur((xC == null) ? aEd[0] : xC); } bEditMode = true; xPark.LastOper = 0; bsSh.RemoveFilter(); bsSh.ResetBindings(false); }
// установка доступных полей public void AvtForEdit(int GType, Control xC) { bool bEnMassa, bOldMode = bEditMode; Control xOld = null; if (bEditMode == true) {// переустановка доступных //xOld = ServClass.FindCurInEdit(aEdVvod); xOld = aEdVvod.Current; } bEditMode = false; bEnMassa = (GType == AppC.GRUZ_MAIN) ? true : false; if (xC != null) {// начало редактирования aEdVvod = new AppC.EditListC(VerifyAvt); aEdVvod.AddC(tPutList); aEdVvod.AddC(cbGruzType); aEdVvod.AddC(cbPurp); aEdVvod.AddC(tTyag); aEdVvod.AddC(tMassa, bEnMassa); aEdVvod.AddC(tSumma, bEnMassa); aEdVvod.AddC(tMestProd, bEnMassa); aEdVvod.AddC(lbTTN, bEnMassa); aEdVvod.SetCur(xC); } else { tPutList.Enabled = true; cbGruzType.Enabled = true; cbPurp.Enabled = true; tTyag.Enabled = true; tMassa.Enabled = bEnMassa; tSumma.Enabled = bEnMassa; tMestProd.Enabled = bEnMassa; lbTTN.Enabled = bEnMassa; } bEditMode = bOldMode; //if ((bEditMode == true) && (xOld != null)) //{// переустановка доступных // if (xOld.Enabled == true) // { // if (xOld.Focused == false) // xOld.Focus(); // } // //else // //ServClass.TryEditNextFiled(xOld, AppC.CC_NEXT, aEdVvod); //} }
// Начало редактирования public void BeginEditB() { aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyB)); aEd.AddC(tLstUch); tLstUch.Text = xMF.xSm.LstUchKompl; bEditMode = true; aEd.SetCur(aEd[0]); }
// Начало редактирования public void BeginEditB() { aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyB)); //if (bDocIsKMPL) // aEd.AddC(tNomPoddon); //else // aEd.AddC(tSSCC); aEd.AddC(tSSCC); bEditMode = true; aEd.SetCur(aEd[0]); }
// Начало редактирования public void BeginEditB() { bool bFlag; aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyB)); aEd.AddC(tKrkB); aEd.AddC(cmbReasons); if (nDocType != AppC.TYPD_BRK) { bFlag = (nMaxMest > 0) ? true : false; aEd.AddC(tKolMB, bFlag); aEd.AddC(tKolEB); } bEditMode = true; aEd.SetCur(tKrkB); //aEd.SetCur(0); }
// Начало редактирования public void BeginEditB(bool b1stRun) { drWithSSCC = null; tVes.Visible = false; //chNewDoc.Checked = b1stRun && (!bAutoMark); aEd = new AppC.EditListC(new AppC.VerifyEditFields(VerifyB)); aEd.AddC(tKrKMC); aEd.AddC(tEmk, false); aEd.AddC(tParty, false); aEd.AddC(tDTV, false); aEd.AddC(tMest, false); aEd.AddC(tVsego, false); aEd.AddC(tVes, false); aEd.AddC(tSSCC); xMark = new MarkPall(); SetDetFields(ref xMark.ScanFirst, true); bEditMode = true; aEd.SetCur(aEd[0]); }
/// Вход в режим создания/корректировки детальной строки ********************** /// - установка флага редактирования /// - доступных полей private void EditBeginDet(int nReg, AppC.VerifyEditFields dgV) { bool bFlag; int nProdType = (scCur.bVes == true) ? AppC.PRODTYPE_VES : AppC.PRODTYPE_SHT; Control xBeCur = null; nCurVvodState = nReg; SetEditMode(true); aEdVvod = new AppC.EditListC(dgV); aEdVvod.AddC(tKMC); aEdVvod.AddC(tEAN); aEdVvod.AddC(tDatIzg); aEdVvod.AddC(tDatMC); aEdVvod.AddC(tParty); aEdVvod.AddC(tMest); aEdVvod.AddC(tEmk); aEdVvod.AddC(tVsego); aEdVvod.AddC(tKolPal, (nReg == AppC.F_ADD_REC) ? true : false); //aEdVvod.AddC(tPrzvFil, (nReg == AppC.F_ADD_REC) ? true : false); foreach (AppPars.FieldDef fd in xPars.aFields) { // Общий случай bFlag = (nReg == AppC.F_CHG_REC) ? fd.aVes[nProdType].bEdit : (nReg == AppC.F_ADD_SCAN) ? fd.aVes[nProdType].bScan : fd.aVes[nProdType].bVvod; // В чужих кодах сведений о партии и дате выработки может не быть if ((scCur.bAlienMC) && (fd.sFieldName == "tParty")) { //bFlag = (scCur.bNewAlienPInf || (scCur.nTypVes == AppC.TYP_VES_PAL)) ? true : false; bFlag = (scCur.bNewAlienPInf || (scCur.tTyp == AppC.TYP_TARA.TARA_PODDON)) ? true : false; } if (fd.sFieldName == "tDatMC") { // для своих ЕАН-13 дату вводить не надо, а в своих номер партии имеется if (scCur.dDataGodn == DateTime.MinValue) { bFlag = true; } } if (scCur.bFindNSI && (scCur.tTyp != AppC.TYP_TARA.TARA_PODDON)) { if ((fd.sFieldName == "tParty") && (scCur.nParty.Length == 0)) { bFlag = true; } } if (fd.sFieldName == "tEmk") { if (scCur.xEmks.Count > 1) { bFlag = false; } if ((scCur.tTyp != AppC.TYP_TARA.TARA_POTREB) && (scCur.fEmk == 0)) { bFlag = true; } } aEdVvod.SetAvail(FieldByName(fd.sFieldName), bFlag); } if (nReg == AppC.F_ADD_REC) { xBeCur = tKMC; } // дата изготовления if (scCur.dDataIzg == DateTime.MinValue) {// не определена if (scCur.dDataGodn == DateTime.MinValue) { aEdVvod.SetAvail(tDatIzg, true); if ((tKMC.Enabled == false) && (tEAN.Enabled == false)) { xBeCur = tDatIzg; } } } else { aEdVvod.SetAvail(tDatIzg, false); } // дата годности if (scCur.dDataGodn == DateTime.MinValue) { if (scCur.dDataIzg == DateTime.MinValue) { aEdVvod.SetAvail(tDatMC, true); } else { aEdVvod.SetAvail(tDatMC, false); } } else { aEdVvod.SetAvail(tDatMC, false); } //if ((scCur.s.Length == 16) && // ((scCur.tTyp == AppC.TYP_TARA.TARA_TRANSP) || // (scCur.tTyp == AppC.TYP_TARA.TARA_PODDON))) //{// этикетка Ногинска // if (aEdVvod.Contains(tDatMC) && (!tDatMC.Enabled)) // tDatMC.Enabled = true; //} switch (scCur.tTyp) { case AppC.TYP_TARA.TARA_POTREB: scCur.fEmk = 0; tEmk.Text = ""; if (!scCur.bVes) { tMest.Enabled = false; tVsego.Enabled = true; } else { tMest.Enabled = true; if (scCur.fVsego > 0) { tVsego.Enabled = false; } } break; case AppC.TYP_TARA.TARA_TRANSP: if (xBeCur == null) { xBeCur = tMest; } break; case AppC.TYP_TARA.TARA_PODDON: tMest.Enabled = true; tKolPal.Text = "1"; scCur.nPalet = 1; if (!scCur.bVes) { aEdVvod.SetAvail(tKolPal, true); xBeCur = tKolPal; } break; } if (scCur.bVes) { if (scCur.fVsego > 0) { tVsego.Enabled = false; } } //if (scCur.bFindNSI) //{ // if (!scCur.bSetAccurCode) // {// производственная площадка неизвестна // aEdVvod.SetAvail(tPrzvFil, true); // } //} // партия пока не вводится/редактируется ///--- 21.06.17 - определим параметрами //aEdVvod.SetAvail(tParty, false); if ((xBeCur != null) && (xBeCur.Enabled == true)) { aEdVvod.SetCur(xBeCur); } else { aEdVvod.WhichSetCur(); } nDefMest = scCur.nMest; fDefEmk = scCur.fEmk; fDefVsego = scCur.fVsego; bMestChanged = false; }
private void OnScanBage(object sender, BarcodeScannerEventArgs e) { bool bGoodPass; int i, nSklad, nTab = 0; string sSklad, sLogin, sP; bScanProceed = true; if (e.nID == BCId.Code128) { if ((e.Data.Length == 10) && (e.Data.Substring(0, 3) == "777")) {// бэджик ОАО Савушкин try { nTab = int.Parse(e.Data.Substring(3)); if (nTab > 0) { if (nCurReg != AppC.AVT_TOUT) { DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt, String.Format("TABN='{0}'", nTab), "", DataViewRowState.CurrentRows); if (dv.Count > 0) { sP = (string)dv[0].Row["PP"]; if (ValidUserPass((string)dv[0].Row["KP"], (string)dv[0].Row["PP"], (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"])) { bUserChanged = false; aEd.SetAvail(tPass, false); tPass.Text = sP; aEd.SetAvail(tUser, false); tUser.Text = xSm.sUName; aEd.SetCur(tDefKSKL); } else { bUserChanged = true; aEd.SetAvail(tPass, true); tPass.Text = ""; aEd.SetAvail(tUser, true); tUser.Text = ""; aEd.SetCur(tUser); } } } else { if (nTab.ToString() == xSm.sUserTabNom) { EndEditAvt(true); } else { Srv.ErrorMsg("Другой пользователь!", true); } } } } catch { nTab = 0; } } else if (e.Data.IndexOf('#') >= 0) {// возможно, Русское море try { int nPassStart = e.Data.IndexOf('#'); sLogin = e.Data.Substring(0, nPassStart); sP = e.Data.Substring(nPassStart + 1); if (sLogin.Length > 0) { if (nCurReg != AppC.AVT_TOUT) { DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt, String.Format("KP='{0}'", sLogin), "", DataViewRowState.CurrentRows); if (dv.Count > 0) { //sP = (string)dv[0].Row["PP"]; if ((sP == (string)dv[0].Row["PP"]) || (sP == (string)dv[0].Row["TABN"])) { bGoodPass = ValidUserPass(sLogin, (string)dv[0].Row["PP"], (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"]); } else { bGoodPass = false; } if (bGoodPass) { bUserChanged = false; aEd.SetAvail(tPass, false); tPass.Text = sP; aEd.SetAvail(tUser, false); tUser.Text = xSm.sUName; nSklad = (dv[0].Row["KSK"] == System.DBNull.Value)?0:(int)(dv[0].Row["KSK"]); if (nSklad > 0) { tDefKSKL.Text = nSklad.ToString(); tDefKSKL_Validating(tDefKSKL, new CancelEventArgs()); //tDefKSKL.DataBindings[0].WriteValue(); //tDefNameSkl.Text = ""; //xSm.nSklad = nSklad; //aEd.SetAvail(tDefKSKL, false); aEd.SetCur(tDefDateDoc); } else { aEd.SetAvail(tDefKSKL, true); aEd.SetCur(tDefKSKL); } } else { bUserChanged = true; aEd.SetAvail(tPass, true); tPass.Text = ""; aEd.SetAvail(tUser, true); tUser.Text = ""; aEd.SetCur(tUser); } } } else { if (sLogin == xSm.sUser) { EndEditAvt(true); } else { Srv.ErrorMsg("Другой пользователь!", true); } } } } catch { nTab = 0; } } } bScanProceed = false; }
// создание массива управления редактированием полей private void CreateEdArrPar(CTRL1ST FirstEd, AppC.VerifyEditFields dgV) { int i; bool bPost = true, bNomEn = true; aEdVvod = new AppC.EditListC(dgV); aEdVvod.AddC(DocPars.tKTyp); switch (nCurFunc) { case PDA.Service.AppC.F_LOAD_DOC: aEdVvod.AddC(DocPars.tDate, false); break; default: aEdVvod.AddC(DocPars.tDate); break; } SetTypSensitive(xDP.nTypD, ref bPost, ref bNomEn); aEdVvod.AddC(DocPars.tKPost, bPost); aEdVvod.AddC(DocPars.tNDoc, bNomEn); // по умолчанию - с первого доступного Control xC = null, xEnbF = null, xEnbL = null; // установка доступных for (i = 0; i < aEdVvod.Count; i++) { if (aEdVvod[i].Enabled) { aEdVvod[i].Enabled = true; if (xEnbF == null) { xEnbF = aEdVvod[i]; } xEnbL = aEdVvod[i]; } else { aEdVvod[i].Enabled = false; } } if (FirstEd == CTRL1ST.START_EMPTY) { xC = Where1Empty(aEdVvod); } else if (FirstEd == CTRL1ST.START_AVAIL) { xC = xEnbF; } else if (FirstEd == CTRL1ST.START_LAST) { xC = xEnbL; } else if ((int)FirstEd < 0) { i = Math.Abs((int)FirstEd); xC = aEdVvod[i - 1]; } aEdVvod.SetCur(xC); //if (xC != null) // xC.Focus(); // хотя бы один должен быть доступен //else // xEnbF.Focus(); }
// создание массива управления редактированием полей private void BeginEditPars(CTRL1ST FirstEd, AppC.VerifyEditFields dgV) { int i; bool bSklU, bNomEn = true, bEksEn = true, bPolEn = true; aEdVvod = new AppC.EditListC(dgV); //bSklU = (xSm.RegApp == AppC.REG_OPR) ? false : true; // для загрузки/выгрузки - доступно все для любых режимов bSklU = (((nCurFunc == AppC.F_ADD_REC) || (nCurFunc == AppC.F_CHG_REC)) && (xDP.nTypD == AppC.TYPD_OPR)) ? false : true; aEdVvod.AddC(tKSkl_p, bSklU); aEdVvod.AddC(tKUch_p, bSklU); aEdVvod.AddC(tDateD_p, bSklU); aEdVvod.AddC(tSm_p, true); aEdVvod.AddC(tKT_p, true); SetTypSensitive(xDP.nTypD, ref bEksEn, ref bPolEn, ref bNomEn); aEdVvod.AddC(tNom_p, bNomEn); aEdVvod.AddC(tKEks_p, bEksEn); aEdVvod.AddC(tKPol_p, bPolEn); // по умолчанию - с первого доступного Control xC = null, xEnbF = null, xEnbL = null; // установка доступных for (i = 0; i < aEdVvod.Count; i++) { if (aEdVvod[i].Enabled) { if (xEnbF == null) { xEnbF = aEdVvod[i]; } xEnbL = aEdVvod[i]; } } if (FirstEd == CTRL1ST.START_EMPTY) { xC = Where1Empty(); } else if (FirstEd == CTRL1ST.START_AVAIL) { xC = xEnbF; } else { xC = xEnbL; } if (xC == null) { xC = xEnbF; } aEdVvod.SetCur(xC); SetEditMode(true); }
private void OnScanBage(object sender, BarcodeScannerEventArgs e) { int nTab = 0; string sP; bScanProceed = true; if ((e.nID == BCId.Code128) && (e.Data.Length == 10)) { if (e.Data.Substring(0, 3) == "777") { try { nTab = int.Parse(e.Data.Substring(3)); if (nTab > 0) { if (nCurReg != AppC.AVT_TOUT) { DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt, String.Format("TABN='{0}'", nTab), "", DataViewRowState.CurrentRows); if (dv.Count > 0) { sP = (string)dv[0].Row["PP"]; if (ValidUserPass((string)dv[0].Row["KP"], (string)dv[0].Row["PP"], (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"])) { bUserChanged = false; aEd.SetAvail(tPass, false); tPass.Text = sP; aEd.SetAvail(tUser, false); tUser.Text = xSm.sUName; aEd.SetCur(tDefKSKL); } else { bUserChanged = true; aEd.SetAvail(tPass, true); tPass.Text = ""; aEd.SetAvail(tUser, true); tUser.Text = ""; aEd.SetCur(tUser); } } } else { if (nTab.ToString() == xSm.sUserTabNom) { EndEditAvt(true); } else { Srv.ErrorMsg("Другой пользователь!", true); } } } } catch { nTab = 0; } } } bScanProceed = false; }