// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование товаров --------------------------------------------------------------------------------------------------------------------------------- private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПодбораПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } if (СтрокаТаблицы.КоличествоСобрано == СтрокаТаблицы.КоличествоТребуется || СтрокаТаблицы.КоличествоВычерк > 0) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.КоличествоТребуется.ToString()); return; } СтрокаТаблицы.КоличествоСобрано += 1; СтрокаТаблицы.СекундПодбора += ВзятьВремя(); ОбработатьКоличествоСтроки(СтрокаТаблицы); }
private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } if (СтрокаТаблицы.Количество == СтрокаТаблицы.КоличествоОстатокАдреса) { Инфо.Ошибка("Недостаточно товара на полке."); return; } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МногоТоваров && МассивТоваров.Count() == 0) { var ДанныеПолучены = ЗаполнитьТаблицыПоТовару(СтрокаСкан, Код); if (!ДанныеПолучены) { return; } // Подтверждаем успешное добавление звуком аботаСоСканером.Звук.Ок(); МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); } if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } if (СтрокаТаблицы.Количество == СтрокаТаблицы.Остаток) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.Остаток); return; } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование ----------------------------------------------------------------------------------------------------------------------------------------- private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { var ДанныеПолучены = ЗаполнитьТаблицыПоТовару(СтрокаСкан, Код); if (!ДанныеПолучены) { return; } // Подтверждаем успешное добавление звуком аботаСоСканером.Звук.Ок(); МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); } string ВыбранныйТовар = null; if (МассивТоваров.Count() == 1) { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } if (ВыбранныйТовар == null) { Инфо.Ошибка("Выбранный товар не найден!"); return; } var СтрокаТаблицы = НайтиСтрокуТаблицыИнвентаризацииПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { // Если товара нет в таблице инвентаризации, добавляем строку из данных таблицы ЕАН foreach (var Строка in МассивТоваров) { if (Строка[2] == ВыбранныйТовар) { СтрокаТаблицыИнвентаризации НоваяСтрокаТаблицы = new СтрокаТаблицыИнвентаризации(); НоваяСтрокаТаблицы.Код = Строка[0]; НоваяСтрокаТаблицы.Товар = Строка[1]; НоваяСтрокаТаблицы.Гуид = Строка[2]; НоваяСтрокаТаблицы.Количество = 1; ТаблицаИнвентаризации.Add(НоваяСтрокаТаблицы); ОбработатьКоличествоСтроки(НоваяСтрокаТаблицы); return; } } } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }