public override void OnBarcode(string Barcode) { textBoxControl.Hide(); string prefix = "SB_NAC."; int asterixIndex = Barcode.IndexOf("*"); string barcodePrefix = ""; BarcodeValue barcodeValue = new BarcodeValue(); if (Barcode.Length > 7) { barcodePrefix = Barcode.Substring(0, 7); barcodeValue.Value = Barcode.Substring(7); } if (barcodePrefix == prefix && barcodeValue.Value != "") { #region Обработка штрих-кода номенклатуры if (currentBarcodeValue.IsEquals(barcodeValue)) { ShowMessage("Вы отсканировали текущий тип работ."); return; } string name = GetNomenclatureDescr(barcodeValue.NomenclatureID); if (name == null) { if (ShowQuery("Данная номенклатура не найдена. Необходимо обновить базу на устройстве и повторить сканирование.\r\nОбновить базу на устройстве?")) { UpdateRules(); } return; } ShowRules(barcodeValue); currentBarcodeValue.Value = barcodeValue.Value; Nomenclature = name; #endregion } else if (Barcode.Length == 13 && Number.IsNumber(Barcode)) { // Обработка штрих-кода паллеты if (currentBarcodeValue.Value == "") { // Еще не был отсканирован тип работы ShowMessage("Начните со сканирования штрих-кода типа работы"); return; } AddPalletNumber(Barcode.Substring(1, 11)); } else { ShowMessage("Ожидается штрих-код паллеты или типа работы!"); } }