Esempio n. 1
0
        // ожидание сканирования для спецрежимов
        private void WaitScan4Func(int nWaitMode, string sMsg, string sHeader, ScanVarGP xSc)
        {
            nSpecAdrWait     = nWaitMode;
            tbPanP2G.Visible = false;
            xFPan.IFaceReset(true);
            if ((nWaitMode == AppC.F_GENSCAN) ||
                (nWaitMode == AppC.F_SIMSCAN))
            {
                xFPan.InfoHeightUp(true, 2);
            }
            xFPan.ShowP(6, 28, sMsg, sHeader);

            if (nWaitMode == AppC.F_SIMSCAN)
            {
                tbPanP1G.Focus();
            }

            ehCurrFunc += new Srv.CurrFuncKeyHandler(Keys4FixAddr);
            if (xSc != null)
            {
                SpecScan(xSc);
                W32.keybd_event(W32.VK_ENTER, W32.VK_ENTER, 0, 0);
                W32.keybd_event(W32.VK_ENTER, W32.VK_ENTER, W32.KEYEVENTF_KEYUP, 0);
            }
        }
Esempio n. 2
0
        // вход в режим ввода/корректировки параметров
        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);
            }
        }
Esempio n. 3
0
        // обработка функций и клавиш на панели
        private bool PPars_KeyDown(object nF, KeyEventArgs e, ref Srv.CurrFuncKeyHandler kh)
        {
            int  nFunc = (int)nF;
            bool ret   = true;

            if (nFunc > 0)
            {
                ret = false;
            }
            else
            {
                switch (e.KeyValue)
                {
                case W32.VK_ESC:
                    EndEditPars(e.KeyValue);
                    break;

                case W32.VK_UP:
                case W32.VK_DOWN:
                    aEdVvod.TryNext((e.KeyValue == W32.VK_UP) ? AppC.CC_PREV : AppC.CC_NEXT);
                    break;

                case W32.VK_ENTER:
                    bSkipChar = true;
                    if (aEdVvod.TryNext(AppC.CC_NEXTOVER) == AppC.RC_CANCELB)
                    {
                        //if (bQuitEdPars == true)
                        EndEditPars(e.KeyValue);
                    }
                    break;

                case W32.VK_TAB:
                    aEdVvod.TryNext((e.Shift) ? AppC.CC_PREV : AppC.CC_NEXT);
                    ret = false;
                    break;

                default:
                    ret = false;
                    break;
                }
            }
            e.Handled |= ret;
            return(ret);
        }
Esempio n. 4
0
        // вход в режим ввода/корректировки параметров
        public void EditPars(int nReg, DocPars x, CTRL1ST FirstEd, AppC.VerifyEditFields dgVer, EditParsOver dgEnd)
        {
            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);
                ehParScan               = new BarcodeScanner.BarcodeScanEventHandler(OnScanPar);
                xBCScanner.BarcodeScan -= ehScan;
                xBCScanner.BarcodeScan += ehParScan;

                BeginEditPars(FirstEd, dgVer);
            }
        }
Esempio n. 5
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;
            }
        }