public static void ПолучениеИнформации(string СтрокаСкан, TextBox СписокИнформации, TabControl Табулятор)
        {
            Табулятор.SelectedIndex = 1;
            СписокИнформации.Text   = "Получение информации...";
            Табулятор.Update();

            var Обмен        = new Пакеты("Информация");
            var ОтветСервера = Обмен.ПослатьСтроку(СтрокаСкан);

            if (ОтветСервера == null || ОтветСервера.Count() == 0)
            {
                СписокИнформации.Text = "Информация по коду не найдена";
                return;
            }

            // проверим тип полученной информации

            if (ОтветСервера[0][0] == "СписокТовара")
            {
                List <string[]> tmpList;

                tmpList = new List <string[]>();

                foreach (var str in ОтветСервера)
                {
                    if (str[0] == "СписокТовара")
                    {
                        continue;
                    }

                    tmpList.Add(new string[] { str[0], str[1], str[2] }); // код, наименование, гуид
                }

                var ТоварГуид = ВыборТовараИзМножества.ВыбратьТоварИзМножества(tmpList.AsEnumerable());

                if (ТоварГуид == null)
                {
                    return;
                }

                // получим информацию по гуиду товара
                ОтветСервера = Обмен.ПослатьСтроку("Информация_ПолучитьДанныеТовараПоГуиду", ТоварГуид);

                if (ОтветСервера == null || ОтветСервера.Count() == 0)
                {
                    СписокИнформации.Text = "Информация по коду не найдена";
                    return;
                }
            }

            string Информация = "";

            foreach (var СтрокаОтвета in ОтветСервера)
            {
                Информация = Информация + СтрокаОтвета[1] + Environment.NewLine;
            }
            СписокИнформации.Text = Информация;
        }
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 (СтрокаТаблицы.КоличествоСобрано == СтрокаТаблицы.КоличествоТребуется || СтрокаТаблицы.КоличествоВычерк > 0)
            {
                Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.КоличествоТребуется.ToString());
                return;
            }

            СтрокаТаблицы.КоличествоСобрано += 1;
            СтрокаТаблицы.СекундПодбора     += ВзятьВремя();
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }
Esempio n. 3
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;
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }
        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;
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }
Esempio n. 5
0
        // ------------------------------------------------------------------------------------------------------------------------------------------------------


        // Сканирование -----------------------------------------------------------------------------------------------------------------------------------------
        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;
            ОбработатьКоличествоСтроки(СтрокаТаблицы);
        }