Esempio n. 1
0
        // обработка выполненного сканирования
        private void OnScan(object sender, BarcodeScannerEventArgs e)
        {
            if (e.nID != BCId.NoData)
            {
                PSC_Types.ScDat sc = new PSC_Types.ScDat(e);

                if (bGoodAvtor == false)
                {// попытка авторизации через штрихкод
                    if ((e.nID == BCId.Code128) && (e.Data.Length == 10) &&
                        (e.Data.Substring(0, 2) == "99") && (e.Data.Substring(2, 2) == "10"))
                    {
                        fAv.SetUserID(e.Data.Substring(4, 6));
                    }
                }
                else
                {
                    if (e.nID == BCId.Code128)
                    {
                        ProceedScan128(e);
                    }


                    if (e.nID == BCId.DataMatrix)
                    {
                        //if (tcMain.SelectedIndex != PG_DOC)
                        //    tcMain.SelectedIndex = PG_DOC;
                        if (Read2D(e) == AppC.RC_OK)
                        {
                            NewTTNScanned(sLastDoc, 2);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
 //private string SP_GLN = "4810268";
 private void OnScanPL(object sender, BarcodeScannerEventArgs e)
 {
     if (e.nID != BCId.NoData)
     {
         xScan = new ScanVarRM(e, xNSI.DT["NS_AI"].dt);
         //if ((xScan.bcFlags == ScanVarGP.BCTyp.SP_SSCC_EXT) ||
         //    (xScan.bcFlags == ScanVarGP.BCTyp.SP_SSCC_INT))
         if ((xScan.bcFlags & ScanVarRM.BCTyp.SP_SSCC) > 0)
         {
             tSSCC.Text = xScan.Dat;
             if (bDocIsKMPL)
             {     // для комплектации
                 if (xMF.StoreSSCC(xScan, nNomPodd, false, out dv) == AppC.RC_OKB)
                 { // предложенный SSCC может быть проставлен
                     bMaySetSSCC = true;
                 }
                 else
                 {
                     bMaySetSSCC = false;
                 }
             }
             else
             {// для всего остального
                 tSSCC.Text = xScan.Dat;
             }
         }
     }
 }
 protected virtual void OnBarcodeScan(BarcodeScannerEventArgs e)
 {
     if (BarcodeScan != null)
     {
         BarcodeScan(this, e);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 内部公开方法
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnCodeFound(BarcodeScannerEventArgs e)
 {
     if (CodeFound != null)
     {
         CodeFound(this, e);
     }
 }
Esempio n. 5
0
 private void OnScanPar(object sender, BarcodeScannerEventArgs e)
 {
     if ((e.nID != BCId.NoData) && (bEditMode == true))
     {
         if ((e.nID == BCId.Code128) && (e.Data.Length == 14))
         {// Путевой лист или ТТН
          //if (tNom_p.Enabled)
          //    tNom_p.Text = e.Data.Substring(7);
         }
     }
 }
Esempio n. 6
0
        private int Read2D(BarcodeScannerEventArgs e)
        {
            int nRet = AppC.RC_OK,
                nLev;
            string s;



            s = e.Data;

            if (xAllDef == null)
            {
                DirectoryInfo di = new DirectoryInfo(xPars.sDataPath);
                FileInfo[]    fi = di.GetFiles("*.def");
                Def2Data      xOneDef;

                xAllDef = new List <Def2Data>();

                for (int i = 0; i < fi.Length; i++)
                {
                    xOneDef = new Def2Data();
                    nRet    = Read2DDef(fi[i].FullName, Encoding.GetEncoding(1251), xOneDef);
                    if (nRet == AppC.RC_OK)
                    {
                        nLev         = 0;
                        xOneDef.lDef = CreateArrOp(lDoc, ref nLev, 0);
                        xAllDef.Add(xOneDef);
                    }
                    else
                    {
                        ServClass.ErrorMsg(fi[i].FullName + "-ошибка в описании!");
                    }
                }

                xSer2D = new Ser2DSym(xNSI);
            }

            nRet = New2D(e.BinData, e.LenBinData);
            s    = "";
            if (nRet == AppC.RC_OK)
            {
                switch (xSer2D.State)
                {
                case READ2D_STATE.R_WAIT_SER:
                    s = "Записан - <" + sLastDoc + ">";
                    break;

                case READ2D_STATE.R_WAIT_NEXT:
                    break;
                }
            }
            //Show2DResult(REG_2D_SHOW, s);
            return(nRet);
        }
Esempio n. 7
0
        private void ScanMessage(object sender)
        {
            int
                nR,
                nMaxLen;          // Maximum length of a 1-D Barcode
            string
                sSymID,
                sBarCode = string.Empty;

            Scanner.CODE_ID
                scID;
            BCId
                nCodeID = BCId.NoData;
            BarcodeScannerEventArgs
                ba;

            try
            {
                //--- Was the Decode Attempt Successful? ---
                if (HX2Scan.GetStatus() == ManagedLXEAPI.Scanner.SCAN_COMPLETE)
                {
                    nMaxLen  = 128;
                    sBarCode = HX2Scan.GetData(ref nMaxLen);
                    //nR = HX2Scan.PutData(sBarCode, nMaxLen);
                    //scID = HX2Scan.GetCodeID();
                    if (nMaxLen > 1)
                    {
                        if (Char.IsLetter(sBarCode, 0))
                        {
                            sSymID   = sBarCode.Substring(0, 1);
                            sBarCode = sBarCode.Substring(1);
                            nCodeID  = SetBarcodeType(sSymID);
                        }
                        else
                        {
                            nCodeID = (nMaxLen > 13) ? BCId.Code128 : BCId.EAN13;
                        }

                        ba = new BarcodeScannerEventArgs(nCodeID, sBarCode);
                        OnBarcodeScan(ba);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return;
        }
Esempio n. 8
0
        //Обработка сканирования Code128
        private void ProceedScan128(BarcodeScannerEventArgs e)
        {
            string sNomDoc;

            if (e.Data.Length == 14)
            {// Путевой лист или ТТН
                sNomDoc = e.Data.Substring(7);

                if (bEditMode == false)
                {// ввод обычно с путевого
                    if (tcMain.SelectedIndex != PG_DIR)
                    {
                        tcMain.SelectedIndex = PG_DIR;
                    }
                    xAvt.Putev = sNomDoc;
                    BeginEditAvt(tPutList, sNomDoc);
                }
                else
                {// поля уже редактируются
                    if (tPutList.Focused == true)
                    {
                        if (tcMain.SelectedIndex != PG_DIR)
                        {
                            tcMain.SelectedIndex = PG_DIR;
                        }
                        xAvt.Putev = sNomDoc;
                        tPutList.DataBindings[0].ReadValue();
                        //ServClass.TryEditNextFiled(tPutList, AppC.CC_NEXT, aEdVvod);
                        aEdVvod.TryNext(AppC.CC_NEXT);
                    }
                    else
                    {
                        NewTTNScanned(sNomDoc, 1);
                    }
                }
            }
            else if (e.Data.Length == 12)
            {// Возможно, Пропуск
                if (e.Data.Substring(0, 3) == "778")
                {
                    //tPropusk.Text = e.Data.Substring(3);
                    tPropusk.Text = e.Data.Substring(3);
                }
            }
        }
Esempio n. 9
0
        void xEng_DecodeEvent(object sender, DecodeBase.DecodeEventArgs e)
        {
            BCId   nCodeID  = BCId.NoData;
            string sBarCode = string.Empty;
            BarcodeScannerEventArgs ba;

            // Obtain the string and code id.
            try
            {
                if ((e.DecodeResults.nLength > 0) && (e.DecodeResults.rResult == Result.RESULT_SUCCESS))
                {
                    //switch (e.DecodeResults.chCodeID)
                    //{
                    //    case "d":
                    //    case "D":
                    //        nCodeID = BCId.EAN13;
                    //        break;
                    //    case "e":
                    //        nCodeID = BCId.Interleaved25;
                    //        break;
                    //    case "I":
                    //    case "j":
                    //        nCodeID = BCId.Code128;
                    //        break;
                    //    case "w":
                    //        nCodeID = BCId.DataMatrix;
                    //        break;
                    //    default:
                    //        break;
                    //}
                    nCodeID  = SetBarcodeType(e.DecodeResults.chCodeID);
                    sBarCode = e.DecodeResults.pchMessage;
                }
            }
            catch (Exception)
            {
                //MessageBox.Show("Error reading string!");
            }

            ba = new BarcodeScannerEventArgs(nCodeID, e.DecodeResults.pchMessage, e.DecodeResults.binaryData,
                                             e.DecodeResults.nLength);

            OnBarcodeScan(ba);
            return;
        }
        /// <summary>
        /// Event that fires when a Symbol scanner has performed a scan.
        /// </summary>
        private void symbolReader_ReadNotify(object sender,EventArgs e)
        {
            ReaderData readerData = symbolReader.GetNextReaderData();

            // If it is a successful scan (as opposed to a failed one)
            if (readerData.Result == Results.SUCCESS)
            {
                BCId nType = BCId.NoData;

                // Преобразовать Symbol-тип штрихкода к моему
                switch (readerData.Type)
                {
                case DecoderTypes.EAN128:
                case DecoderTypes.CODE128:
                    nType = BCId.Code128;
                    break;

                case DecoderTypes.EAN13:
                    nType = BCId.EAN13;
                    break;

                case DecoderTypes.EAN8:
                    nType = BCId.EAN8;
                    break;

                case DecoderTypes.I2OF5:
                case DecoderTypes.D2OF5:
                case DecoderTypes.IATA2OF5:
                case DecoderTypes.CHINESE_2OF5:
                    nType = BCId.Interleaved25;
                    break;

                case DecoderTypes.IMAGE:
                    nType = BCId.Image;
                    break;

                case DecoderTypes.CODE11:
                    nType = BCId.Code11;
                    break;

                case DecoderTypes.CODE39:
                    nType = BCId.Code39;
                    break;

                case DecoderTypes.RSS14:
                case DecoderTypes.RSSEXP:
                case DecoderTypes.RSSLIM:
                    nType = BCId.GS1DataBar;
                    break;

                default:
                    nType = BCId.Unknown;
                    break;
                }

                // Raise scan event to caller (with data)
                BarcodeScannerEventArgs xBCA = new BarcodeScannerEventArgs(nType,readerData.Text);
                OnBarcodeScan(xBCA);

                // Start the next scan
                Start();
            }
        }
Esempio n. 11
0
        // обработка выполненного сканирования
        private void OnScan(object sender, BarcodeScannerEventArgs e)
        {
            bool
                bRet = true,
                bDupScan;
            int
                t1, t2,
                nRet = AppC.RC_CANCEL;
            string
                sP, sP1,
                sErr = "";

            // началась обработка сканирования
            bInScanProceed = true;
            if (e.nID != BCId.NoData)
            {
                try
                {
                    PSC_Types.ScDat sc = new PSC_Types.ScDat(e);
                    xScan    = new ScanVarGP(e, xNSI.DT["NS_AI"].dt);
                    bDupScan = ((xScanPrev != null) && (xScanPrev.Dat == xScan.Dat)) ? true : false;

                    sc.sN = e.Data + "-???";
                    #region Обработка скана
                    do
                    {
                        if (xScan.Dat.StartsWith("91E"))
                        {// адрес ID-точки
                            MainCycleStart(xScan.Dat.Substring(4), true);
                            break;
                        }

                        if (sDevID.Length == 0)
                        {
                            Srv.ErrorMsg("Введите или\nотсканируйте № точки!", "Ошибка", true);
                            break;
                        }

                        xMark.NumberOfScans++;
                        xMark.SrcInfo = NSI.SRCDET.SCAN;

                        //if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC_EXT) == ScanVarGP.BCTyp.SP_SSCC_EXT) ||
                        //    ((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC_PRT) == ScanVarGP.BCTyp.SP_SSCC_PRT) ||
                        //    ((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC_INT) == ScanVarGP.BCTyp.SP_SSCC_INT))
                        if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC) > 0) ||
                            ((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC_PRT) > 0))
                        {
                            int nRetSSCC = ProceedSSCC(xScan, ref sc, aEd.Current);
                            if (nRetSSCC == AppC.RC_QUIT)
                            {// SSCC привязан, новый поддон
                                xScan = null;
                                break;
                            }
                            if (nRetSSCC != AppC.RC_HALFOK)
                            {// не было удачной трансляции SSCC
                                xScan = null;
                                break;
                            }
                            // далее будет вывод удачной трансляции SSCC
                            if ((xScan.bcFlags & ScanVarGP.BCTyp.SP_SSCC_PRT) > 0)
                            {
                                // SSCC для ящиков
                                bRet = (ProceedProd(xScan, ref sc, bDupScan, false) == AppC.RC_OK) ? true : false;
                            }
                        }
                        else
                        {// должна быть продукция
                            if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_OLD_ETIK) == ScanVarGP.BCTyp.SP_OLD_ETIK) ||
                                (xScan.Id != BCId.Code128))
                            {// старая этикетка или EAN13
                                bRet = xMF.TranslSCode(ref sc, ref sErr);
                                if ((sc.ci == BCId.EAN13) || (sc.ci == BCId.Interleaved25) ||
                                    ((sc.s.Length >= 13) && (sc.s.Length <= 14)))
                                {
                                    sc.tTyp = AppC.TYP_TARA.TARA_POTREB;
                                }
                            }
                            else
                            {// новая этикетка
                                if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_MT_PRDV) == ScanVarGP.BCTyp.SP_MT_PRDV))
                                {
                                    bRet = xMF.TranslMT(ref sc);
                                }
                                else if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_MT_PRDVN) == ScanVarGP.BCTyp.SP_MT_PRDVN))
                                {
                                    bRet = xMF.TranslMTNew(ref sc);
                                }
                                else
                                {
                                    // разбор этикетки стандартным способом по AI
                                    t1   = Environment.TickCount;
                                    bRet = xMF.NewTranslSCode(ref sc, xScan);
                                    t2   = Environment.TickCount;
                                    sP   = Srv.TimeDiff(t1, t2, 3);
                                }
                            }
                            if (bRet)
                            {
                                t1 = Environment.TickCount;
                                // возможно, контрольное сканирование

                                if ((xMark.ScanFirst.ci != BCId.Unknown) && (xMark.ScanFirst.s is string))
                                {
                                    if (xMark.ScanFirst.sEAN == sc.sEAN)
                                    {
                                        break;
                                    }
                                    // не совпали коды
                                    Srv.ErrorMsg(xMark.ScanFirst.sEAN + "\n" + sc.sEAN, "Разные EAN!", true);
                                }

                                bRet = (ProceedProd(xScan, ref sc, bDupScan, false) == AppC.RC_OK) ? true : false;
                                t2   = Environment.TickCount;
                                sP1  = Srv.TimeDiff(t1, t2, 3);
                            }
                            //aEd.SetCur( (sc.tTyp == AppC.TYP_TARA.TARA_PODDON) ? tSSCC : tMest );
                            //tMest.Enabled = true;
                        }

                        if (!bRet)
                        {
                            throw new Exception("Ошибка сканирования!");
                        }
                        //aEd.SetCur((sc.tTyp == AppC.TYP_TARA.TARA_PODDON) ? tSSCC : tMest);
                        aEd.SetCur(tSSCC);
                        tMest.Enabled  = true;
                        tKrKMC.Enabled = false;

                        if (xMark.ScanFirst.bVes)
                        {
                            tVes.Visible   = true;
                            tVsego.Enabled = true;
                        }
                        if (xMark.ScanFirst.tTyp != AppC.TYP_TARA.TARA_PODDON)
                        {
                            if (xMark.ScanFirst.bVes)
                            {
                                tVes.Enabled = true;
                            }

                            if (xMark.ScanFirst.tTyp == AppC.TYP_TARA.TARA_POTREB)
                            {
                                tParty.Enabled = tDTV.Enabled = true;
                                aEd.SetCur(tParty);
                            }
                        }

                        SetDetFields(ref xMark.ScanFirst, false);
                        if (enWrapMode.CurMode == AppC.WRAP_MODES.WRP_BY_NSI)
                        {
                            chWrapp.Checked = WrappSet(xNSI.DT[NSI.NS_MC].dt, xMark.ScanFirst, 0);
                        }

                        xScanPrev = xScan;
                    } while (false);
                    #endregion
                }
                catch (Exception ex)
                {
                    string sE = String.Format("{0}({1}){2}", xScan.Id.ToString(), xScan.Dat.Length, xScan.Dat);
                    Srv.ErrorMsg(sE + "\n" + ex.Message, "Ошибка сканирования", true);
                }
            }
            // обработка сканирования окончена
            bInScanProceed = false;
        }
Esempio n. 12
0
        private void OnScanPL(object sender, BarcodeScannerEventArgs e)
        {
            string s;
            ScanVarGP
                xScan;


            if (e.nID != BCId.NoData)
            {
                xScan = new ScanVarGP(e, xNSI.DT["NS_AI"].dt);

                if (e.nID == BCId.Code128)
                {
                    if (((xScan.bcFlags & ScanVarGP.BCTyp.SP_ADR_OBJ) > 0))
                    {// похоже на адрес (№ шлюза)
                        s            = e.Data.Substring(2);
                        xPark.ShlAdr = s;
                        xPark.xA     = new MainF.AddrInfo(xScan, xMainF.xSm.nSklad);

                        tShlAddr.Text = s;
                        lShlName.Text = xPark.xA.AddrShow;
                        TryFixAvto();
                    }
                    else
                    {
                        switch (e.Data.Length)
                        {
                        case 14:
                            // похоже на № путевого
                            tNDoc.Text     = e.Data.Substring(7);
                            xPark.NPtvList = int.Parse(tNDoc.Text);
                            if ((bEditMode == true) && (xPark.NShl > 0))
                            {
                                EndEditP();
                                if ((bsSh.Count == 0) || (xPark.IsChangePars()))
                                {
                                    LoadAvtoList();
                                }
                            }
                            break;

                        case 12:
                            if (e.Data.Substring(0, 3) == "778")
                            {    // похоже на № пропуска
                                xPark.Propusk = e.Data.Substring(3);
                                tPropusk.Text = e.Data.Substring(3);
                                TryFixAvto();
                            }
                            //else if (e.Data.Substring(0, 2) == "99")
                            //{// похоже на адрес (№ шлюза)
                            //    s = e.Data.Substring(2);
                            //    xPark.ShlAdr = s;
                            //    tShlAddr.Text = s;
                            //    TryFixAvto();
                            //}

                            break;
                        }
                    }
                }
            }
        }
Esempio n. 13
0
        void xEng_DecodeEvent(object sender, DecodeAssembly.DecodeEventArgs e)
        {
            BCId   nCodeID  = BCId.NoData;
            string sBarCode = string.Empty;
            BarcodeScannerEventArgs ba;

            try
            {
                RightLEDOff();
                //--- Was the Decode Attempt Successful? ---
                if (e.ResultCode == DecodeAssembly.ResultCodes.Success)
                {
                    xEng.Device.SetLEDs(Device.LedSelect.RightGreen, Device.LedState.On, 0, 0);
                    //sBarCode = e.CodeId;
                    //switch (sBarCode)
                    //{
                    //    case "d":
                    //    case "D":
                    //        nCodeID = BCId.EAN13;
                    //        break;
                    //    case "j":
                    //        nCodeID = BCId.Code128;
                    //        break;
                    //    case "w":
                    //        nCodeID = BCId.DataMatrix;
                    //        break;
                    //    default:
                    //        break;
                    //}
                    nCodeID  = base.SetBarcodeType(e.CodeId);
                    sBarCode = e.Message;

                    //--- Play an SDK Provided Audible Sound ---
                    xEng.Sound.Play(Sound.SoundTypes.Success);
                }
                else
                {
                    if (e.DecodeException != null)
                    {
                        //--- Async Decode Exception ---
                        switch (e.DecodeException.ResultCode)
                        {
                        case DecodeAssembly.ResultCodes.Cancel:                // Async Decode was Canceled
                            return;

                        case DecodeAssembly.ResultCodes.NoDecode:              // Scan Timeout
                            //MessageBox.Show("Scan Timeout Exceeded");
                            break;

                        default:
                            //MessageBox.Show(e.DecodeException.Message);
                            break;
                        }
                    }
                    else
                    {
                        //--- Generic Async Exception ---
                        //MessageBox.Show(e.Exception.Message);
                    }
                    //xEng.Sound.Play(Sound.SoundTypes.Failure);
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }

            ba = new BarcodeScannerEventArgs(nCodeID, sBarCode, e.RawData, e.Length);
            OnBarcodeScan(ba);
            return;
        }
Esempio n. 14
0
 private void OnScanPL(object sender, BarcodeScannerEventArgs e)
 {
     if (e.nID != BCId.NoData)
     {
     }
 }
Esempio n. 15
0
        private void OnScanBage(object sender, BarcodeScannerEventArgs e)
        {
            bool
                bGoodPass;
            int
                i,
                nSklad,
                nTab = 0;
            string
                sSklad,
                sLogin,
                sP;

            bScanProceed = true;
            if (e.nID == BCId.Code128)
            {
                if ((e.Data.Length == 10) && (e.Data.Substring(0, 3) == "777"))
                {// бэджик ОАО Савушкин
                    try
                    {
                        nTab = int.Parse(e.Data.Substring(3));
                        if (nTab > 0)
                        {
                            if (nCurReg != AppC.AVT_TOUT)
                            {
                                DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt,
                                                           String.Format("TABN='{0}'", nTab), "", DataViewRowState.CurrentRows);
                                if (dv.Count > 0)
                                {
                                    sP = (string)dv[0].Row["PP"];
                                    if (ValidUserPass((string)dv[0].Row["KP"], (string)dv[0].Row["PP"],
                                                      (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"]))
                                    {
                                        bUserChanged = false;
                                        aEd.SetAvail(tPass, false);
                                        tPass.Text = sP;
                                        aEd.SetAvail(tUser, false);
                                        tUser.Text = xSm.sUName;
                                        aEd.SetCur(tDefKSKL);
                                    }
                                    else
                                    {
                                        bUserChanged = true;
                                        aEd.SetAvail(tPass, true);
                                        tPass.Text = "";
                                        aEd.SetAvail(tUser, true);
                                        tUser.Text = "";
                                        aEd.SetCur(tUser);
                                    }
                                }
                            }
                            else
                            {
                                if (nTab.ToString() == xSm.sUserTabNom)
                                {
                                    EndEditAvt(true);
                                }
                                else
                                {
                                    Srv.ErrorMsg("Другой пользователь!", true);
                                }
                            }
                        }
                    }
                    catch
                    {
                        nTab = 0;
                    }
                }
                else if (e.Data.IndexOf('#') >= 0)
                {// возможно, Русское море
                    try
                    {
                        int
                            nPassStart = e.Data.IndexOf('#');
                        sLogin = e.Data.Substring(0, nPassStart);
                        sP     = e.Data.Substring(nPassStart + 1);
                        if (sLogin.Length > 0)
                        {
                            if (nCurReg != AppC.AVT_TOUT)
                            {
                                DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt,
                                                           String.Format("KP='{0}'", sLogin), "", DataViewRowState.CurrentRows);
                                if (dv.Count > 0)
                                {
                                    //sP = (string)dv[0].Row["PP"];
                                    if ((sP == (string)dv[0].Row["PP"]) || (sP == (string)dv[0].Row["TABN"]))
                                    {
                                        bGoodPass = ValidUserPass(sLogin, (string)dv[0].Row["PP"], (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"]);
                                    }
                                    else
                                    {
                                        bGoodPass = false;
                                    }
                                    if (bGoodPass)
                                    {
                                        bUserChanged = false;
                                        aEd.SetAvail(tPass, false);
                                        tPass.Text = sP;
                                        aEd.SetAvail(tUser, false);
                                        tUser.Text = xSm.sUName;
                                        nSklad     = (dv[0].Row["KSK"] == System.DBNull.Value)?0:(int)(dv[0].Row["KSK"]);
                                        if (nSklad > 0)
                                        {
                                            tDefKSKL.Text = nSklad.ToString();
                                            tDefKSKL_Validating(tDefKSKL, new CancelEventArgs());
                                            //tDefKSKL.DataBindings[0].WriteValue();
                                            //tDefNameSkl.Text = "";
                                            //xSm.nSklad = nSklad;
                                            //aEd.SetAvail(tDefKSKL, false);
                                            aEd.SetCur(tDefDateDoc);
                                        }
                                        else
                                        {
                                            aEd.SetAvail(tDefKSKL, true);
                                            aEd.SetCur(tDefKSKL);
                                        }
                                    }
                                    else
                                    {
                                        bUserChanged = true;
                                        aEd.SetAvail(tPass, true);
                                        tPass.Text = "";
                                        aEd.SetAvail(tUser, true);
                                        tUser.Text = "";
                                        aEd.SetCur(tUser);
                                    }
                                }
                            }
                            else
                            {
                                if (sLogin == xSm.sUser)
                                {
                                    EndEditAvt(true);
                                }
                                else
                                {
                                    Srv.ErrorMsg("Другой пользователь!", true);
                                }
                            }
                        }
                    }
                    catch
                    {
                        nTab = 0;
                    }
                }
            }
            bScanProceed = false;
        }
Esempio n. 16
0
        void xEng_DecodeEvent(object sender, DecodeBase.DecodeEventArgs e)
        {
            BCId   nCodeID  = BCId.NoData;
            string sBarCode = string.Empty;
            BarcodeScannerEventArgs ba;

            try
            {
                //RightLEDOff();
                //--- Was the Decode Attempt Successful? ---
                if (e.DecodeResults.rResult == Result.RESULT_SUCCESS)
                {
                    //xEng.Device.SetLEDs(Device.LedSelect.RightGreen, Device.LedState.On, 0, 0);

                    //sBarCode = e.DecodeResults.chCodeID;
                    //switch (sBarCode)
                    //{
                    //    case "d":
                    //    case "D":
                    //        nCodeID = BCId.EAN13;
                    //        break;
                    //    case "j":
                    //        nCodeID = BCId.Code128;
                    //        break;
                    //    case "w":
                    //        nCodeID = BCId.DataMatrix;
                    //        break;
                    //    default:
                    //        break;
                    //}

                    nCodeID  = base.SetBarcodeType(e.DecodeResults.chCodeID);
                    sBarCode = e.DecodeResults.pchMessage;

                    //--- Play an SDK Provided Audible Sound ---
                    //xEng.so..Sound.Play(Sound.SoundTypes.Success);
                    ba = new BarcodeScannerEventArgs(nCodeID, sBarCode, e.DecodeResults.binaryData, e.DecodeResults.binaryData.Length);
                    OnBarcodeScan(ba);
                }
                else
                {
                    //--- Async Decode Exception ---
                    switch (e.DecodeResults.rResult)
                    {
                    case Result.RESULT_ERR_CANCEL:                    // Async Decode was Canceled
                        return;

                    case Result.RESULT_ERR_NODECODE:                  // Scan Timeout
                        //MessageBox.Show("Scan Timeout Exceeded");
                        break;

                    default:
                        //MessageBox.Show(e.DecodeException.Message);
                        break;
                    }

                    //if (e.DecodeResults.rResult..DecodeException != null)
                    //{



                    //}
                    //else
                    //{
                    //    //--- Generic Async Exception ---
                    //    //MessageBox.Show(e.Exception.Message);
                    //}
                    //xEng.Sound.Play(Sound.SoundTypes.Failure);
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }

            return;
        }
Esempio n. 17
0
        private void OnScanBage(object sender, BarcodeScannerEventArgs e)
        {
            int    nTab = 0;
            string sP;

            bScanProceed = true;
            if ((e.nID == BCId.Code128) && (e.Data.Length == 10))
            {
                if (e.Data.Substring(0, 3) == "777")
                {
                    try
                    {
                        nTab = int.Parse(e.Data.Substring(3));
                        if (nTab > 0)
                        {
                            if (nCurReg != AppC.AVT_TOUT)
                            {
                                DataView dv = new DataView(xNSI.DT[NSI.NS_USER].dt,
                                                           String.Format("TABN='{0}'", nTab), "", DataViewRowState.CurrentRows);
                                if (dv.Count > 0)
                                {
                                    sP = (string)dv[0].Row["PP"];
                                    if (ValidUserPass((string)dv[0].Row["KP"], (string)dv[0].Row["PP"],
                                                      (string)dv[0].Row["TABN"], (string)dv[0].Row["NMP"]))
                                    {
                                        bUserChanged = false;
                                        aEd.SetAvail(tPass, false);
                                        tPass.Text = sP;
                                        aEd.SetAvail(tUser, false);
                                        tUser.Text = xSm.sUName;
                                        aEd.SetCur(tDefKSKL);
                                    }
                                    else
                                    {
                                        bUserChanged = true;
                                        aEd.SetAvail(tPass, true);
                                        tPass.Text = "";
                                        aEd.SetAvail(tUser, true);
                                        tUser.Text = "";
                                        aEd.SetCur(tUser);
                                    }
                                }
                            }
                            else
                            {
                                if (nTab.ToString() == xSm.sUserTabNom)
                                {
                                    EndEditAvt(true);
                                }
                                else
                                {
                                    Srv.ErrorMsg("Другой пользователь!", true);
                                }
                            }
                        }
                    }
                    catch
                    {
                        nTab = 0;
                    }
                }
            }
            bScanProceed = false;
        }