コード例 #1
0
ファイル: PanelPars.cs プロジェクト: TabVV/Sklad1C
        // тип документа все-таки сменился
        //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 = "";
            }
        }
コード例 #2
0
ファイル: PanelPars.cs プロジェクト: TabVV/SkladDisp
        // проверка склада
        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 = "";
            }
        }
コード例 #3
0
        /// подготовить и отобразить содержимое 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;
            }
        }
コード例 #4
0
        // обработка функций и клавиш на панели
        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);
        }
コード例 #5
0
        // Выгрузка на сервер (при готовности) сведений прибытия/убытия
        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();
                    }
                }
            }
        }
コード例 #6
0
        // Тестовое заполнение
        //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();
        }
コード例 #7
0
        // обработка функций и клавиш на панели
        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);
        }
コード例 #8
0
        // обработка функций и клавиш на панели
        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);
        }
コード例 #9
0
        // Обработка сканирования на панели Документов
        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);
                }
            }
        }
コード例 #10
0
ファイル: ProceedAdr.cs プロジェクト: TabVV/SkladDisp
        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);
        }