//-----------------методы для переопределения в наследуемом классе других операций---------
        public virtual ListViewItem ДобавитьТоварВСписок(string[][] Ответ)
        {
            if (!СписокПустой)
            {
                return(null);              //Случай с А01-01-1 идем добавлять товар
            }
            var Выборка = from string[] строка in Ответ where строка[0] == "Товар" select строка;

            if (Выборка.Count() > 1)
            {
                Выборка = ВыбратьТоварИзМножества_(Выборка, Ответ);
                if (Выборка == null)
                {
                    return(null);
                }
            }
            string[] Строка = Выборка.FirstOrDefault();
            if (Строка == null)
            {
                Инфо.ОшибкаТоварНеНайден(); return(null);
            }

            ListViewItem НоваяСтрока = new ListViewItem();

            НоваяСтрока.Text = Строка[4];
            НоваяСтрока.SubItems.Add("0");
            for (int i = 2; i < Строка.Count(); i++)
            {
                try
                {
                    if (i == 4)
                    {
                        НоваяСтрока.SubItems.Add(Строка[2]);
                    }
                    else
                    {
                        НоваяСтрока.SubItems.Add(Строка[i]);
                    }
                }
                catch (Exception e)
                {
                    НоваяСтрока.SubItems.Add(e.Message.ToString());
                }
            }

            СписокПеремещения.Items.Add(НоваяСтрока);
            НоваяСтрока.Selected = true;

            return(НоваяСтрока);

            //return null;
        }
        private void СканТовара(string СтрокаСкан)
        {
            ListViewItem НайденСкан = НайтиСкан(СтрокаСкан);

            if (НайденСкан == null && СтрокаСкан.Length == 8)
            {
                НайденСкан = НайтиСкан(СтрокаСкан.Substring(0, 7));                                              //скан кода товара по базе без контрольной суммы, костыль
            }
            if (НайденСкан == null)
            {
                Обмен = new Пакеты(Последовательность.Операция + "НайтиТовар");
                var Ответ = Обмен.ПослатьСтроку(СтрокаСкан);
                if (Ответ == null)
                {
                    return;
                }
                string Поиск = (from string[] строка in Ответ where строка[0] == "Товар" select строка[1]).FirstOrDefault();
                if (Поиск == null)
                {
                    Инфо.ОшибкаТоварНеНайден(); return;
                }
                НайденСкан = НайтиСкан(Поиск);
                if (НайденСкан != null)
                {
                    try
                    {
                        НайденСкан.SubItems.Add(СтрокаСкан);
                    }
                    catch (Exception) { }
                }
                else
                {
                    НайденСкан = ДобавитьТоварВСписок(Ответ);
                }
            }
            if (НайденСкан == null)
            {
                Инфо.ОшибкаТоварНеНайден(); return;
            }

            СделатьВидимым(НайденСкан);
            ПоказатьИнфооТоваре(НайденСкан);
            ПрибавитьКоличество(НайденСкан, 1, true);
        }