Esempio n. 1
0
        private void ОбработкаВводаМеста(string _Данные)
        {
            // проверим, что это место

            if (!_Данные.Substring(0, 3).Equals("mst"))
            {
                Инфо.Ошибка("Необходимо сосканировать ШК грузового места.");
                return;
            }

            string ТекущиеМесто = _Данные.Substring(3);

            // проверим, что место еще не добавлено

            foreach (ListViewItem item in СписокГрузовыхМест.Items)
            {
                if (String.Equals(item.SubItems[0].Text, ТекущиеМесто))
                {
                    Инфо.Ошибка("Грузовое место уже присутствует в списке.");

                    // установить курсор на место, которое добавляем повторно
                    СписокГрузовыхМест.EnsureVisible(item.Index);

                    item.Focused = true;

                    return;
                }
            }

            // проверка места на сервере

            Cursor.Current = Cursors.WaitCursor;
            ОтветСервера   = Обмен.ПослатьСтроку("ПогрузкаСканированиеГрузовогоМеста", ТекущиеМесто, ТТНСсылка, ФилиалСсылка);
            Cursor.Current = Cursors.Default;

            if (ОтветСервера == null)
            {
                return;
            }

            if (ОтветСервера[0][0] == "ГрузовоеМестоДобавлено")
            {
                int iter = СписокГрузовыхМест.Items.Count + 1;

                string[] row = { iter.ToString(), ТекущиеМесто, ОтветСервера[0][1] };

                СписокГрузовыхМест.Items.Add(new ListViewItem(row));
                аботаСоСканером.Звук.Ок();
            }
        }
Esempio n. 2
0
        private void ОбработкаВводаМеста(string _Данные)
        {
            // установим фокус на список мест

            СписокГрузовыхМест.Focus();

            // проверим, что это место

            if (!_Данные.Substring(0, 3).Equals("mst"))
            {
                Инфо.Ошибка("Необходимо сосканировать ШК грузового места.");
                return;
            }

            // снять выделение с других строк

            foreach (ListViewItem item in СписокГрузовыхМест.Items)
            {
                item.Selected = false;
            }

            string ТекущиеМесто = _Данные.Substring(3);

            // проверим, что место еще не добавлено

            foreach (ListViewItem item in СписокГрузовыхМест.Items)
            {
                if (String.Equals(item.SubItems[0].Text, ТекущиеМесто))
                {
                    Инфо.Ошибка("Грузовое место уже присутствует в списке.");

                    // установить курсор на место, которое добавляем повторно
                    СписокГрузовыхМест.EnsureVisible(item.Index);

                    item.Focused = true;

                    return;
                }
            }

            // проверка места на сервере
            Cursor.Current = Cursors.WaitCursor;
            ОтветСервера   = Обмен.Послать("СканированиеГрузовогоМеста", Обмен.ПодготовитьСтроку(ТекущиеМесто));
            Cursor.Current = Cursors.Default;

            if (ОтветСервера == null)
            {
                return;
            }

            // обработка ответа сервера

            string ЛишнееМесто = "1"; // истина по умолчанию

            foreach (string[] str in ОтветСервера)
            {
                if (str[0] == "ЛишнееМесто")
                {
                    ЛишнееМесто = str[1];
                }
            }

            // добавим строку и спозиционируемся на ней

            string[] row         = { ТекущиеМесто };
            var      НоваяСтрока = СписокГрузовыхМест.Items.Add(new ListViewItem(row));

            СписокГрузовыхМест.EnsureVisible(НоваяСтрока.Index);
            НоваяСтрока.Focused = true;

            // подать сигнал о успешном добавлении

            аботаСоСканером.Звук.Ок();

            if (ЛишнееМесто == "1")
            {
                НоваяСтрока.BackColor = Color.LightPink;

                // подать сигнал, что место не ждем
                аботаСоСканером.Звук.Ошибка();
            }
            else
            {
                // подать сигнал, что место наше
                аботаСоСканером.Звук.Ок();
            }

            УстановитьДоступностьЭлементовФормы();
            УстановитьТекстПодсказки();
            Данные.СписокГрузовыхМестДобавить(ТекущиеМесто, ЛишнееМесто);
        }
Esempio n. 3
0
        private void ОбработкаВводаМеста(string _Данные)
        {
            // установим фокус на список мест

            СписокГрузовыхМест.Focus();

            // проверим, что это место

            if (!_Данные.Substring(0, 3).Equals("mst"))
            {
                Инфо.Ошибка("Необходимо сканировать ШК грузового места.");
                return;
            }

            // снять выделение с других строк

            foreach (ListViewItem item in СписокГрузовыхМест.Items)
            {
                item.Selected = false;
            }

            string ТекущиеМесто = _Данные.Substring(3);

            // проверим, что место еще не добавлено

            foreach (ListViewItem item in СписокГрузовыхМест.Items)
            {
                if (String.Equals(item.SubItems[0].Text, ТекущиеМесто))
                {
                    Инфо.Ошибка("Грузовое место уже присутствует в списке.");

                    // установить курсор на место, которое добавляем повторно
                    СписокГрузовыхМест.EnsureVisible(item.Index);

                    item.Focused  = true;
                    item.Selected = true;

                    return;
                }
            }

            // проверка места на сервере

            Cursor.Current = Cursors.WaitCursor;
            ОтветСервера   = Обмен.ПослатьСтроку("ОбработкаГрузовыхМест_Сканирование", ТекущиеМесто);
            Cursor.Current = Cursors.Default;

            if (ОтветСервера == null)
            {
                return;
            }

            if (ОтветСервера[0][0] == "ГрузовоеМестоДобавлено")
            {
                string[] row = { ТекущиеМесто, ОтветСервера[0][1] };

                ListViewItem item = СписокГрузовыхМест.Items.Add(new ListViewItem(row));

                Данные.СписокГрузовыхМестДобавить(ТекущиеМесто, ОтветСервера[0][1], ОтветСервера[0][2]);

                СписокГрузовыхМест.EnsureVisible(item.Index);

                item.Focused  = true;
                item.Selected = true;

                аботаСоСканером.Звук.Ок();
            }

            УстановитьДоступностьЭлементовФормы();
            УстановитьТекстПодсказки();
        }