// смена стиля Grid-документы //private void ChgDocGridStyle(int nReg) //{ // //MessageBox.Show("Changing..."); // xNSI.ChgGridStyle(NSI.NS_DOCOUT, NSI.GDOC_NEXT); //} // обработчик смены ячейки private void dgDoc_CurrentCellChanged(object sender, EventArgs e) { DataGrid dg = (DataGrid)sender; DataView dvMaster = ((DataTable)dg.DataSource).DefaultView; DataRow dr = dvMaster[dg.CurrentRowIndex].Row; if (xCDoc.drCurRow != dr) {// сменилась строка xCDoc = new CurDoc(xSm); xCDoc.drCurRow = dr; xNSI.InitCurDoc(xCDoc, xSm); SetParFields(xCDoc.xDocP); if ((xSm.FilterTTN & NSI.FILTRDET.SSCC) > 0) { xSm.FilterTTN = NSI.FILTRDET.UNFILTERED; xNSI.DT[NSI.BD_DOUTD].sTFilt = ""; } //if ((int)dr["TYPOP"] == AppC.TYPOP_KMPL) //{ // xNSI.ChgGridStyle(NSI.BD_DIND, 1); //} //else //{ // xNSI.ChgGridStyle(NSI.BD_DIND, 0); //} } }
// добавление в список SSCC отмаркированного поддона public DataRow AddSSCC2SSCCTable(string sSSCC, int nPP, CurDoc xCDoc, bool bAddNew) { DataRow ret = null; int nKey = (int)xCDoc.drCurRow["SYSN"]; try { bAddNew = false; ret = FindSCCTInSSCCList(sSSCC, nKey, ref nPP); if (ret == null) { bAddNew = true; ret = xNSI.DT[NSI.BD_SSCC].dt.NewRow(); ret["SYSN"] = nKey; ret["NPODDZ"] = nPP; ret["SSCC"] = sSSCC; ret["STATE"] = 1; } ret["IN_TTN"] = 1; if (bAddNew) { xNSI.DT[NSI.BD_SSCC].dt.Rows.Add(ret); } } catch { Srv.ErrorMsg("Ошибка добавления SSCC!"); } return(ret); }
// только 1-й раз призапуске программы private bool Only1st() { bool bContinueApp = true; string s; DialogResult xDRslt; b1stEner = false; xNSI.ChgGridStyle(NSI.BD_DOCOUT, NSI.GDOC_INV); s = (xSm.sUser == AppC.SUSER)?"Admin": (xSm.sUser == AppC.GUEST) ? "Склад" : xSm.sUser; lInfDocLeft.Text = s; xCDoc = new CurDoc(xSm, AppC.DT_ADDNEW); //DataView dvMaster = ((DataTable)dgDoc.DataSource).DefaultView; //if (dvMaster.Count > 0) if (xSm.nDocs > 0) {// есть записи для просмотра RestShowDoc(false); } if (xSm.RegApp == AppC.REG_MARK) { //CheckNSIState(false); //DialogResult xDRslt = CallDllForm(sExeDir + "SGPF-Mark.dll", true); xDRslt = CallDllForm(sExeDir + "SGPF-Mark.dll", true, new object[] { this, false }); if (xDRslt == DialogResult.Abort) { bContinueApp = false; this.Close(); } } return(bContinueApp); }
// поиск в списке SSCC отмаркированного поддона public DataRow FindSCCTInProdList(string sSSCC, CurDoc xCDoc) { DataRow ret = null; string sRf = ((DataTable)dgDet.DataSource).DefaultView.RowFilter; sRf = String.Format("SYSN={0} AND SSCC='{1}' AND KRKMC={2}", xCDoc.nId, sSSCC, AppC.KRKMC_MIX); DataView dv = new DataView(xNSI.DT[NSI.BD_SSCC].dt, sRf, "", DataViewRowState.CurrentRows); if (dv.Count == 1) { ret = dv[0].Row; } return(ret); }
/// *** Функции работы с документами /// // добавление новой или изменение старой // nReg - требуемый режим private void AddOrChangeDoc(int nFunc) { CTRL1ST FirstC = CTRL1ST.START_EMPTY; if (nFunc == AppC.F_ADD_REC) {// вход в режим добавления новой записи xCDoc = new CurDoc(xSm, AppC.DT_ADDNEW); tStat_Reg.Text = "Новый"; //if (xSm.RegApp == AppC.REG_DOC) // FirstC = CTRL1ST.START_EMPTY; } else {// вход в режим корректировки записи tStat_Reg.Text = "Корр-ка"; } EditPars(nFunc, xCDoc.xDocP, FirstC, VerifyDoc, EditFieldsIsOver); }
// только 1-й раз призапуске программы private void Only1st() { string s; b1stEner = false; s = (xSm.sUser == AppC.SUSER) ? "Admin": (xSm.sUser == AppC.GUEST) ? "Кладовщик" : xSm.sUser; lInfDocWidLeft.Text = s; xCDoc = new CurDoc(xSm, AppC.DT_ADDNEW); //DataView dvMaster = ((DataTable)dgDoc.DataSource).DefaultView; //if (dvMaster.Count > 0) if (xSm.nDocs > 0) {// есть записи для просмотра RestShowDoc(false); } }
// смена стиля Grid-документы //private void ChgDocGridStyle(int nReg) //{ // //MessageBox.Show("Changing..."); // xNSI.ChgGridStyle(NSI.NS_DOCOUT, NSI.GDOC_NEXT); //} // обработчик смены ячейки private void dgDoc_CurrentCellChanged(object sender, EventArgs e) { DataGrid dg = (DataGrid)sender; DataView dvMaster = ((DataTable)dg.DataSource).DefaultView; DataRow dr = dvMaster[dg.CurrentRowIndex].Row; if (xCDoc.drCurRow != dr) {// сменилась строка xCDoc = new CurDoc(xSm); xCDoc.drCurRow = dr; xNSI.InitCurDoc(xCDoc, xSm); SetParFields(xCDoc.xDocP); DataRow[] childRows = xCDoc.drCurRow.GetChildRows(NSI.REL2ZVK); if (childRows.Length > 0) { bZVKPresent = true; } } }
// добавление очередного SSCC в список SSCC public DataRow AddSSCC2SSCCTable(string sSSCC, int nPP, CurDoc xCDoc, int SQUs, int FromSRV, int FromTTN) { bool bAddNew; DataRow ret = null; int nKey = (int)xCDoc.drCurRow["SYSN"]; try { bAddNew = false; ret = FindSCCTInSSCCList(sSSCC, nKey, ref nPP); if (ret == null) { bAddNew = true; ret = xNSI.DT[NSI.BD_SSCC].dt.NewRow(); ret["SYSN"] = nKey; ret["SSCC"] = sSSCC; ret["MONO"] = SQUs; ret["STATE"] = 1; if (nPP == 0) { nPP = GetMaxInRows(xNSI.DT[NSI.BD_SSCC].dt, "NPODDZ", xCDoc.DefDetFilter()) + 1; } ret["NPODDZ"] = nPP; } ret["IN_ZVK"] = FromSRV; ret["IN_TTN"] = FromTTN; if (bAddNew) { xNSI.DT[NSI.BD_SSCC].dt.Rows.Add(ret); } } catch { Srv.ErrorMsg("Ошибка добавления SSCC!"); } return(ret); }