// тип документа все-таки сменился //private void tKT_p_Validated(object sender, EventArgs e) //{ // int i; // if (bEditMode) // { // if (xDP.nTypD == AppC.EMPTY_INT) // { // tKT_p.Text = ""; // tNT_p.Text = ""; // //e.Cancel = true; // //ServClass.TBColor((TextBox)sender, true); // //for (i = 0; i < aEdVvod.Count; i++) // //{ // // if (aEdVvod[i] != tKT_p) // // aEdVvod[i].Enabled = true; // //} // } // } //} // проверка склада private void tKSkl_p_Validating(object sender, CancelEventArgs e) { string sT = ((TextBox)sender).Text.Trim(); if (sT.Length > 0) { try { int nS = int.Parse(sT); NSI.RezSrch zS = xNSI.GetNameSPR(NSI.NS_SKLAD, new object[] { nS }, "NAME"); tNSkl_p.Text = zS.sName; if (zS.bFind == false) { e.Cancel = true; } else { xDP.nSklad = nS; xDP.sSklad = zS.sName; } } catch { e.Cancel = true; } } else { xDP.nSklad = AppC.EMPTY_INT; } //if (e.Cancel != true) //e.Cancel = !ServClass.TryEditNextFiled((Control)sender, nCurEditCommand, aEdVvod); //aEdVvod.TryNext(AppC.CC_NEXT); if ((true == e.Cancel) || (xDP.nSklad == AppC.EMPTY_INT)) { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); xDP.sSklad = ""; xDP.nUch = AppC.EMPTY_INT; tKUch_p.Text = ""; } }
// проверка склада private void tKSkl_p_Validating(object sender, CancelEventArgs e) { string sT = ((TextBox)sender).Text.Trim(); if (sT.Length > 0) { try { int nS = int.Parse(sT); NSI.RezSrch zS = xNSI.GetNameSPR(NSI.NS_SKLAD, new object[] { nS }, "NAME"); tNSkl_p.Text = zS.sName; if (zS.bFind == false) { e.Cancel = true; } else { xDP.nSklad = nS; xDP.sSklad = zS.sName; } } catch { e.Cancel = true; } } else { xDP.nSklad = AppC.EMPTY_INT; } if ((true == e.Cancel) || (xDP.nSklad == AppC.EMPTY_INT)) { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); xDP.sSklad = ""; xDP.nUch = AppC.EMPTY_INT; tKUch_p.Text = ""; } }
/// подготовить и отобразить содержимое 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 bool AppPars_KeyDown(int nFunc, KeyEventArgs e) { bool ret = false; int nR; Control xC = Srv.GetPageControl(tpParPaths, 1); if (nFunc > 0) { switch (nFunc) { case AppC.F_UPLD_DOC: // сохранение параметров nR = AppPars.SavePars(xPars); if (AppC.RC_OK == nR) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show("Параметры сохранены", "Сохранение"); } else { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show("Ошибка сохранения!", "Сохранение"); } ret = true; break; case AppC.F_CHGSCR: break; } } else {// это просто клавиша switch (e.KeyValue) { case W32.VK_ESC: // найти текущий и // перейти на предыдущий xC.Parent.SelectNextControl(xC, false, true, false, true); Back2Main(); ret = true; break; case W32.VK_TAB: // следующая вкладка int nN = (tcPars.SelectedIndex == tcPars.TabPages.Count - 1)? 0 : tcPars.SelectedIndex + 1; tcPars.SelectedIndex = nN; ret = true; break; case W32.VK_ENTER: // найти текущий и // перейти на следующий xC.Parent.SelectNextControl(xC, true, true, false, true); ret = true; break; case W32.VK_F2: // сохранение параметров с клавиатуры PC nR = AppPars.SavePars(xPars); if (AppC.RC_OK == nR) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show("Параметры сохранены", "Сохранение"); } else { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show("Ошибка сохранения!", "Сохранение"); } ret = true; break; } } e.Handled |= ret; return(ret); }
// Выгрузка на сервер (при готовности) сведений прибытия/убытия private void TryFixAvto() { int nId = 0, nRet = AppC.RC_OK; string sPar, sTime, sErr; DataRow dr = null; bool bReady = false; xSE = new MainF.ServerExchange(xMainF); sPar = String.Format("(IO={0},KSK={1}", xPark.ParkIO, xMainF.xSm.nSklad); if (xPark.RegFix == AppC.FX_PRPSK) { // фиксация по пропускам if (xPark.ParkIO == IO_COME) { // режим прибытия if (xPark.Propusk.Length > 0) { // пропуск отсканирован if (xPark.ShlAdr.Length > 0) { // адрес шлюза обязателен bReady = true; sPar = String.Format(sPar + ",PRPSK={0},ADRCELL={1}", xPark.Propusk, xPark.ShlAdr); } } } else { // режим освобождения шлюза if (xPark.ShlAdr.Length > 0) { // адрес шлюза обязателен sPar = String.Format(sPar + ",ADRCELL={0}", xPark.ShlAdr); if (xPark.Propusk.Length > 0) {// пропуск отсканирован (пока тоже обязателен) bReady = true; sPar = String.Format(sPar + ",PRPSK={0}", xPark.Propusk); } } } } else {// фиксация по путевым листам } if (bReady) {// в принципе, можно попробовать выгрузить if (xPark.NSm > 0) { sPar = String.Format(sPar + ",KSMEN={0}", xPark.NSm); } if (xPark.NPtvList > 0) { sPar = String.Format(sPar + ",ND={0}", xPark.NPtvList); } sPar += ")"; //Cursor crsOld = Cursor.Current; //Cursor.Current = Cursors.WaitCursor; sErr = xSE.ExchgSrv(AppC.COM_ZPRP, sPar, "", null, null, ref nRet, 20); //FakeExW(); //Cursor.Current = crsOld; xPark.SaveOldPars(); if (xSE.ServerRet == AppC.RC_OK) { if (!dgShlyuz.Focused) { dgShlyuz.Focus(); } tAvto.Enabled = false; xPark.LastOper = xPark.ParkIO; sTime = DateTime.Now.ToShortTimeString(); if (xPark.ParkIO == IO_COME) {// зафиксировали прибытие tIn.SuspendLayout(); tIn.BackColor = colCome; tIn.Text = "Прибыл " + sTime; IOChange(IO_GOUT); IsParkAvail(); bsSh.Filter = string.Format("ID={0}", nId); bsSh.ResetBindings(false); tIn.ResumeLayout(); } else {// зафиксировали убытие //dvAvto.Table.Rows.Clear(); tOut.SuspendLayout(); tOut.BackColor = colGOut; if (dr != null) { dr["DTU"] = sTime; } tOut.Text = "Убыл " + sTime; tOut.ResumeLayout(); } Srv.PlayMelody(W32.MB_2PROBK_QUESTION); Srv.ErrorMsg(sErr, "Зафиксирован...", false); this.Close(); } else { Srv.PlayMelody(W32.MB_4HIGH_FLY); Srv.ErrorMsg(sErr); if (xSE.ServerRet != AppC.EMPTY_INT) { // код возврата определен, сервер возражает this.Close(); } } } }
// Тестовое заполнение //public void FakeEx() //{ // xNSI.DT[NSI.BD_SOTG].dt.BeginInit(); // DataRow dr = xNSI.DT[NSI.BD_SOTG].dt.NewRow(); // dr["KSMEN"] = xPark.NSm; // dr["SYSN"] = 12; // dr["DTP"] = DateTime.Now; // dr["NSH"] = 0; // dr["KEKS"] = 0; // dr["KAVT"] = "АЕ2535-1"; // dr["ROUTE"] = "Мстиславль, Кричев"; // xNSI.DT[NSI.BD_SOTG].dt.Rows.Add(dr); // dr = xNSI.DT[NSI.BD_SOTG].dt.NewRow(); // dr["KSMEN"] = xPark.NSm; // dr["SYSN"] = 13; // dr["DTP"] = DateTime.Now; ; // dr["NSH"] = 0; // dr["KEKS"] = 0; // dr["KAVT"] = "4567KJ"; // dr["ROUTE"] = "Маркет Лайн, Милком"; // xNSI.DT[NSI.BD_SOTG].dt.Rows.Add(dr); // dr = xNSI.DT[NSI.BD_SOTG].dt.NewRow(); // dr["KSMEN"] = xPark.NSm; // dr["SYSN"] = 14; // dr["DTP"] = DateTime.Now; // dr["NSH"] = 0; // dr["KEKS"] = 0; // dr["KAVT"] = "АЕ2544-8"; // dr["ROUTE"] = "Сморгонь,Ошмяны,Ивье,Островец"; // xNSI.DT[NSI.BD_SOTG].dt.Rows.Add(dr); // dr = xNSI.DT[NSI.BD_SOTG].dt.NewRow(); // xNSI.DT[NSI.BD_SOTG].dt.EndInit(); // //Srv.ErrorMsg("Loaded!"); //} // Записать отметку прибытия/убытия private void SaveAvtoPark() { int nSys = 0, nId = 0, nRet = AppC.RC_OK; string sAvt = "", sPar, sTime, sErr; DataRow dr = null; xSE = new MainF.ServerExchange(xMainF); if (xPark.LastOper == xPark.ParkIO) { Srv.ErrorMsg("Уже выполнялось!", true); return; } sTime = DateTime.Now.ToString("HH:mm:ss"); if (bsSh.Count > 0) { dr = ((DataRowView)bsSh.Current).Row; nSys = (int)dr["SYSN"]; sAvt = (string)dr["KAVT"]; nId = (int)dr["ID"]; } else { nSys = 0; sAvt = tAvto.Text; } sPar = String.Format("(IO={0},NSH={1},KAVT={2},SYSN={3},KSK={4}", xPark.ParkIO, xPark.NShl, sAvt, nSys, xMainF.xSm.nSklad); if (xPark.NSm > 0) { sPar += ",KSMEN=" + xPark.NSm.ToString(); } if (xPark.NPtvList > 0) { sPar += ",ND=" + xPark.NPtvList.ToString(); } sPar += ")"; //Cursor crsOld = Cursor.Current; //Cursor.Current = Cursors.WaitCursor; sErr = xSE.ExchgSrv(AppC.COM_VOTG, sPar, "", null, null, ref nRet); //FakeExW(); //Cursor.Current = crsOld; xPark.SaveOldPars(); if (nRet == AppC.RC_OK) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); if (!dgShlyuz.Focused) { dgShlyuz.Focus(); } tAvto.Enabled = false; xPark.LastOper = xPark.ParkIO; if (xPark.ParkIO == IO_COME) {// зафиксировали прибытие if (dr != null) { xPark.DRCome = dvAvto.Table.NewRow(); xPark.DRCome.ItemArray = (object[])dr.ItemArray.Clone(); xPark.DRCome["NSH"] = xPark.NShl; xPark.DRCome["KSMEN"] = xPark.NSm; xPark.DRCome["ND"] = xPark.NPtvList; xPark.DRCome["DTP"] = sTime; xPark.DRCome["ID"] = dr["ID"]; } tIn.Text = "Прибыл " + sTime; IOChange(IO_GOUT); IsParkAvail(); bsSh.Filter = string.Format("ID={0}", nId); bsSh.ResetBindings(false); } else {// зафиксировали убытие //dvAvto.Table.Rows.Clear(); if (dr != null) { dr["DTU"] = sTime; } tOut.Text = "Убыл " + sTime; } this.Close(); } else { Srv.ErrorMsg(sErr, true); } //FakeExW(); }
// обработка функций и клавиш на панели private bool AppPars_KeyDown(int nFunc, KeyEventArgs e) { bool bNextOrPrev, ret = false; int nR; Control xC; if (nFunc > 0) { switch (nFunc) { case AppC.F_UPLD_DOC: // сохранение параметров nR = AppPars.SavePars(xPars); if (AppC.RC_OK == nR) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show("Параметры сохранены", "Сохранение"); } else { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show("Ошибка сохранения!", "Сохранение"); } ret = true; break; case AppC.F_CHGSCR: break; } } else {// это просто клавиша switch (e.KeyValue) { case W32.VK_ESC: // найти текущий и xC = Srv.GetPageControl(tpParPaths, 1); // перейти на предыдущий xC.Parent.SelectNextControl(xC, false, true, false, true); Back2Main(); ret = true; break; case W32.VK_ENTER: // найти текущий и xC = Srv.GetPageControl(tpParPaths, 1); // перейти на следующий bNextOrPrev = (e.Modifiers == Keys.None) ? true : false; xC.Parent.SelectNextControl(xC, bNextOrPrev, true, false, true); ret = true; break; case W32.VK_F2: // сохранение параметров с клавиатуры PC nR = AppPars.SavePars(xPars); if (AppC.RC_OK == nR) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show("Параметры сохранены", "Сохранение"); } else { Srv.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show("Ошибка сохранения!", "Сохранение"); } ret = true; break; } } e.Handled |= ret; return(ret); }
// обработка функций и клавиш на панели private bool Doc_KeyDown(int nFunc, KeyEventArgs e) { bool ret = false; string sMsg; if (nFunc > 0) { if (bEditMode == false) { switch (nFunc) { case AppC.F_ADD_REC: // добавление новой AddOrChangeDoc(AppC.F_ADD_REC); ret = true; break; case AppC.F_CHG_REC: // корректировка if (xCDoc.drCurRow != null) { AddOrChangeDoc(AppC.F_CHG_REC); } ret = true; break; case AppC.F_DEL_ALLREC: // удаление всех case AppC.F_DEL_REC: // или одного DelDoc(nFunc); StatAllDoc(); ret = true; break; case AppC.F_TOT_MEST: // всего мест по накладная/заявка ShowTotMest(); ret = true; break; case AppC.F_CTRLDOC: // контроль текущего документа ControlDocs(AppC.F_INITREG, null, ref ehCurrFunc); ret = true; break; case AppC.F_GOFIRST: case AppC.F_GOLAST: //CurrencyManager cmDoc = (CurrencyManager)BindingContext[dgDoc.DataSource]; //if (cmDoc.Count > 0) // cmDoc.Position = (nFunc == AppC.F_GOFIRST) ? 0 : cmDoc.Count - 1; Go1stLast(dgDoc, nFunc); ret = true; break; //case AppC.F_CHGSCR: // // смена экрана // xScrDoc.NextReg(AppC.REG_SWITCH.SW_NEXT); // ret = true; // break; case AppC.F_FLTVYP: // установка фильтра по выгруженным xPars.bHideUploaded = !xPars.bHideUploaded; FiltForDocs(xPars.bHideUploaded, xNSI.DT[NSI.BD_DOCOUT]); ret = true; break; //case AppC.F_CHG_GSTYLE: case AppC.F_LOADKPL: xCLoad = new CurLoad(AppC.UPL_FLT); if (LoadKomplLst(null, AppC.F_LOADKPL)) { xCLoad.drPars4Load = null; xDLLPars = AppC.F_LOADKPL; DialogResult xDRslt = CallDllForm(sExeDir + "SGPF-Kompl.dll", false); if (xCLoad.drPars4Load != null) { xCLoad.sSSCC = ""; LoadKomplLst(xCLoad.drPars4Load, AppC.F_LOADKPL); } } ret = true; break; case AppC.F_LOADOTG: xCLoad = new CurLoad(AppC.UPL_FLT); if (LoadKomplLst(null, AppC.F_LOADOTG)) { xCLoad.drPars4Load = null; xDLLPars = AppC.F_LOADOTG; DialogResult xDRslt = CallDllForm(sExeDir + "SGPF-Kompl.dll", false); if (xCLoad.drPars4Load != null) { LoadKomplLst(xCLoad.drPars4Load, AppC.F_LOADOTG); } } ret = true; break; case AppC.F_LOAD4CHK: Doc4Chk = true; Srv.PlayMelody(W32.MB_1MIDDL_HAND); Srv.ErrorMsg("Загрузка для контроля!", "Режим загрузки", false); ret = true; break; case AppC.F_TMPMOV: SetTempMove(); ret = true; break; case AppC.F_CHG_LIST: xNSI.ChgGridStyle(NSI.BD_DOCOUT, ((xNSI.DT[NSI.BD_DOCOUT].nGrdStyle == NSI.GDOC_VNT) ? NSI.GDOC_INV : NSI.GDOC_VNT)); ret = true; break; } } } else { switch (e.KeyValue) { case W32.VK_ENTER: if (nCurDocFunc == AppC.DT_SHOW) { if (xCDoc.drCurRow != null) { tcMain.SelectedIndex = PG_SCAN; ret = true; } } break; } } e.Handled |= ret; return(ret); }
// Обработка сканирования на панели Документов private void ProceedScanDoc(ScanVarGP xSc, ref PSC_Types.ScDat s) { int nRet = AppC.RC_OK; string sH, sPar, sErr = ""; CurLoad ret; ServerExchange xSE = new ServerExchange(this); if ((xSc.bcFlags & ScanVarGP.BCTyp.SP_SSCC_INT) > 0) { xCLoad = new CurLoad(AppC.UPL_ALL); xCLoad.sSSCC = xSc.Dat; xCLoad.drPars4Load = xNSI.DT[NSI.BD_KMPL].dt.NewRow(); LoadKomplLst(xCLoad.drPars4Load, AppC.F_LOADKPL); } else { ret = TransDocCode(ref s, xSE); if (ret != null) { xCLoad = ret; if (xSE.FullCOM2Srv.Length == 0) { if (bInLoad == true) { W32.keybd_event(W32.VK_ESC, W32.VK_ESC, 0, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, 0, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, W32.KEYEVENTF_KEYUP, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, W32.KEYEVENTF_KEYUP, 0); } else { LoadDocFromServer(AppC.F_INITRUN, new KeyEventArgs(Keys.Enter), ref ehCurrFunc); } } else { AutoSaveDat(); LoadFromSrv dgL = new LoadFromSrv(DocFromSrv); xCLoad.nCommand = AppC.F_LOAD_DOC; xCLoad.sComLoad = AppC.COM_ZZVK; sErr = xSE.ExchgSrv(AppC.COM_ZZVK, "", "", dgL, null, ref nRet); MessageBox.Show("Загрузка окончена - " + sErr, "Код - " + nRet.ToString()); PosOnLoaded(nRet); Back2Main(); } } else { xCUpLoad = new CurUpLoad(); if (xSE.FullCOM2Srv.Length == 0) { sPar = String.Format("BC={0};BCT={1}", xSc.Dat, xSc.Id.ToString().ToUpper()); sErr = xSE.ExchgSrv(AppC.COM_UNKBC, sPar, "", null, null, ref nRet); } else { AutoSaveDat(); LoadFromSrv dgL = new LoadFromSrv(DocFromSrv); xCLoad.nCommand = AppC.F_LOAD_DOC; xCLoad.sComLoad = AppC.COM_ZZVK; sErr = xSE.ExchgSrv(AppC.COM_ZZVK, "", "", dgL, null, ref nRet); MessageBox.Show("Загрузка окончена - " + sErr, "Код - " + nRet.ToString()); PosOnLoaded(nRet); Back2Main(); } if (nRet != AppC.RC_OK) { nRet = xSE.ServerRet; if (nRet != AppC.RC_NEEDPARS) { } Srv.PlayMelody(W32.MB_4HIGH_FLY); sH = "Ошибка!"; } else { sH = "Код отправлен"; } Srv.ErrorMsg(sErr, sH, false); } } }
private int SetOverOPR(bool bAfterScan, DataRow drOpr, string sComm) { bool bNeedTrans; int nRet = AppC.RC_OK; ServerExchange xSE = new ServerExchange(this); if (drOpr != null) { bNeedTrans = (((AppC.OPR_STATE)drOpr["STATE"] != AppC.OPR_STATE.OPR_TRANSFERED) || (xCDoc.xDocP.nTypD != AppC.TYPD_OPR)); if (bNeedTrans) { if (bAfterScan) { if ((scCur.sKMC == (string)drDet["KMC"]) && (scCur.nParty == (string)drDet["NP"]) && (scCur.dDataIzg.ToString("yyyyMMdd") == (string)drDet["DVR"])) { bAfterScan = false; } } if (!bAfterScan) { // выгрузка по кнопочке //drOpr["STATE"] = AppC.OPR_STATE.OPR_READY; xCUpLoad = new CurUpLoad(xPars); xDP = xCUpLoad.xLP; xCUpLoad.bOnlyCurRow = true; xCUpLoad.drForUpl = drOpr; xCUpLoad.sCurUplCommand = sComm; if (xPars.OpAutoUpl) { // авто-выгрузка операций string sL = UpLoadDoc(xSE, ref nRet); if (xSE.ServerRet == AppC.RC_OK) { AddrInfo xA = xCDoc.xOper.xAdrSrc; xCDoc.xOper = new CurOper(false); if (IsAutoMark()) { xCDoc.xOper.SetOperSrc(xA, xCDoc.xDocP.nTypD, false); // Имитация вызова //W32.SimulKey(W32.VK_SHIFT, 0); //W32.SimulKey(W32.VK_D1, 2); } //return (nRet); } if (nRet != AppC.RC_OK) { if (nRet == AppC.RC_HALFOK) { Srv.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show(sL, "Предупреждение!"); } else { Srv.ErrorMsg(sL, true); } } if ((xSE.ServerRet != AppC.EMPTY_INT) && (xSE.ServerRet != AppC.RC_OK)) { // операция выгрузки не прошла на сервере (содержательная ошибка) //if (xSE.ServerRet == 99) // CompareAddrs(xCDoc.xOper.xAdrDst.Addr, String.Format("---{0}-----------После выгрузки", xSE.ServerRet), true); xCDoc.xOper.SetOperDst(null, xCDoc.xDocP.nTypD, true); } } else { xCDoc.xOper = new CurOper(true); } xCUpLoad = null; } } } else { Srv.ErrorMsg("Продукция не определена!"); } return(nRet); }