Esempio n. 1
0
        // ------------------------------------------------------------------------------------------------------------------------------------------------------


        // Сканирование товаров ---------------------------------------------------------------------------------------------------------------------------------
        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;
            СтрокаТаблицы.СекундПодбора     += ВзятьВремя();
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }
Esempio n. 2
0
        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;
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }
Esempio n. 3
0
        public static string ВыбратьТоварИзМножества(IEnumerable <string[]> МассивТоваров)
        {
            ВыборТовараИзМножества Окно = new ВыборТовараИзМножества();

            var СписокВыбораНаФорме = Окно.СписокВыбора;

            foreach (string[] Товар in МассивТоваров)
            {
                ListViewItem НоваяСтрока = new ListViewItem();
                НоваяСтрока.Text = Товар[0];        // Код
                НоваяСтрока.SubItems.Add(Товар[1]); // Наименование
                НоваяСтрока.SubItems.Add(Товар[2]); // Гуид
                СписокВыбораНаФорме.Items.Add(НоваяСтрока);
            }

            DialogResult езультат = Окно.ShowDialog();

            if (езультат == DialogResult.OK)
            {
                return(Окно.Гуид);
            }
            return(null);
        }