예제 #1
0
파일: PanelPars.cs 프로젝트: TabVV/Sklad1C
        // вход в режим ввода/корректировки параметров
        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);
            }
        }
예제 #2
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);
            }
        }
예제 #3
0
파일: PanelPars.cs 프로젝트: TabVV/TProh
        // вход в режим ввода/корректировки параметров
        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 VerifyEditFields(dgVer);
                dgOver = new EditParsOver(dgEnd);
                SetParFields(xDP);
                //EnableDocF(x.nTypD, 1);
                SetEditMode(true);

                CreateEdArrPar(FirstEd, dgVer);

                oldKeyH    = ehCurrFunc;
                ehCurrFunc = new CurrFuncKeyHandler(PPars_KeyDown);

//                WhereFocus(FirstEd);
            }
        }
예제 #4
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;
        }
예제 #5
0
파일: PanelPars.cs 프로젝트: TabVV/TProh
        // создание массива управления редактированием полей
        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();
        }
예제 #6
0
        // создание массива управления редактированием полей
        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);
        }
예제 #7
0
파일: Shared.cs 프로젝트: TabVV/Sklad1C
 public EditListC(AppC.VerifyEditFields dgx)
     : base()
 {
     dgVer = dgx;
 }
예제 #8
0
파일: Shared.cs 프로젝트: TabVV/Sklad1C
 public EditListC()
     : base()
 {
     dgVer = new VerifyEditFields(VV);
 }
예제 #9
0
파일: Shared.cs 프로젝트: TabVV/Sklad1C
 public NewOrEdit(int nReg, AppC.VerifyEditFields dgVerify, PrepareFields dgPrep)
 {
     m_nReg     = nReg;
     m_dgVerify = dgVerify;
     m_dgPrep   = dgPrep;
 }