public virtual void _Далее() { if (!Далее.Enabled) { return; } ОтветСервера = Обмен.ПослатьСтроку("ПогрузкаВнестиКолвоМестПаллет", ТТНСсылка, ФилиалСсылка, (String.IsNullOrEmpty(КоличествоМест.Text)) ? "0" : КоличествоМест.Text, (String.IsNullOrEmpty(КоличествоПаллет.Text)) ? "0" : КоличествоПаллет.Text); if (ОтветСервера == null) { return; } try { if (ОтветСервера[0][0] == "true") // операция прошла успешно { Form Окно = new ФормаВыборФилиалаТерминал(НомерТС, ТТННомер, ТТНСсылка); Окно.Show(); this.Close(); return; } } catch { Инфо.Ошибка("Не удалось внести кол-во мест, кол-во паллет в ТТН."); return; } }
private void учнойВводКоличества() { var ВыбраннаяСтрока = СписокВыбора.FocusedItem; if (ВыбраннаяСтрока == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПодбораПоГуиду(ВыбраннаяСтрока.SubItems[2].Text); // Гуид if (СтрокаТаблицы == null) { return; } string ТекстИнструкции = "Введите необходимое \nколичество товара \nдля подбора из \nтребуемых " + СтрокаТаблицы.КоличествоТребуется + " шт."; ОкноВводКоличества ОкноВводКоличества = new ОкноВводКоличества(ТекстИнструкции, СтрокаТаблицы.КоличествоСобрано, СтрокаТаблицы.КоличествоТребуется, false); DialogResult d = ОкноВводКоличества.ShowDialog(); if (d == DialogResult.OK) { int Количество = ОкноВводКоличества.Количество_; if (Количество > СтрокаТаблицы.КоличествоТребуется) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.КоличествоТребуется); return; } СтрокаТаблицы.КоличествоСобрано = Количество; СтрокаТаблицы.СекундПодбора += ВзятьВремя(); ОбработатьКоличествоСтроки(СтрокаТаблицы); } }
private void кнопкаВойтиНажатие(object sender, EventArgs e) { Обмен = new Пакеты("Авторизация"); var Url = ПараметрыСеанса.ПолучитьПолнуюВебСсылку(); if (string.IsNullOrEmpty(Url)) { Инфо.Ошибка("Неверно заполнены параметры сервера!"); return; } Обмен.Соединение.Сервис.Url = Url; Обмен.Соединение.Сервис.Credentials = new NetworkCredential(Сотрудник.Text, Пароль.Text); var ОтветАвторизации = Обмен.ПослатьСтроку(СоединениеВебСервис.ИдентификаторСоединения); if (ОтветАвторизации == null) { ТекстОшибки.Text = "Ошибка логина или пароля"; return; } СоединениеВебСервис.СтрокаДоступныхРолей = ""; foreach (var СтрокаОтвета in ОтветАвторизации) { СоединениеВебСервис.СтрокаДоступныхРолей = СоединениеВебСервис.СтрокаДоступныхРолей + СтрокаОтвета[0]; } ПараметрыСеанса.Хранилище.ИмяПользователя = Сотрудник.Text; ПараметрыСеанса.Сохранить(); ОтветАвторизации = null; this.DialogResult = DialogResult.OK; this.Close(); return; }
private void КнопкаВойтиНажатие(object sender, EventArgs e) { string Url = ПараметрыСеанса.СформироватьСсылку(); if (string.IsNullOrEmpty(Url)) { Инфо.Ошибка("Неверно заполнены параметры сервера!"); return; } Обмен = new Пакеты("Авторизация"); Обмен.Соединение.Сервис.Url = Url; Обмен.Соединение.Сервис.Credentials = new NetworkCredential(Сотрудник.Text, Пароль.Text); var ОтветСервера = Обмен.ПослатьСтроку(СоединениеВебСервис.ИдентификаторСоединения, ДоступныеФилиалы[свДоступныеФилиалы.Text]); if (ОтветСервера == null) { ТекстОшибки.Text = "Ошибка логина или пароля"; return; } СоединениеВебСервис.СтрокаДоступныхРолей = ОтветСервера[0][0]; СоединениеВебСервис.ПодборТовараВМеста = (ОтветСервера[0][1] == "true"); СоединениеВебСервис.ЭтоТерминал = (ОтветСервера[0][2] == "true"); СоединениеВебСервис.ПодборЗаказовКлиентов = (ОтветСервера[0][3] == "true"); СоединениеВебСервис.Пользователь = Сотрудник.Text; ПараметрыСеанса.Хранилище.ИмяПользователя = Сотрудник.Text; ПараметрыСеанса.Сохранить(); this.DialogResult = DialogResult.OK; this.Close(); return; }
private void ОбработатьВводСервера() { if (string.IsNullOrEmpty(ПолеВводаСервер.Text)) { Инфо.Ошибка("Не заполнено имя сервера"); return; } ПараметрыСеанса.Хранилище.Сервер = ПолеВводаСервер.Text; string Url = ПараметрыСеанса.СформироватьСсылку(); if (string.IsNullOrEmpty(Url)) { return; } //Обмен.Соединение.Сервис.Url = Url; if (ПолучитьСписокПользователей()) { ПараметрыСеанса.Сохранить(); } if (Обновление.ПроверитьОбновление()) { Logs.WriteLog("Exit for update " + СоединениеВебСервис.НомерВерсии); Application.Exit(); return; } }
public virtual void ОбработатьСканАдреса(string[][] ОтветСервера) { var ОтветОперация = ОтветСервера[0][0]; var СчитанныйАдрес = ОтветСервера[0][1]; if (ОтветОперация == "НетЗаданий") { Инфо.Ошибка("Нет заданий на подтоварку!"); this.Close(); } НаправлениеДалее = true; if (ОтветОперация == "ПодтоваркаВыборЗоны") { Операция = "ПодтоваркаВыборЗоны"; Зона = ""; яд = ""; Секция = ""; ОкноВыбораЗаданий_Load(null, new EventArgs()); } if (ОтветОперация == "ПодтоваркаВыборРяда") { Зона = СчитанныйАдрес.Substring(0, 1); яд = ""; Секция = ""; Операция = "ПодтоваркаВыборРяда"; ОкноВыбораЗаданий_Load(null, new EventArgs()); } if (ОтветОперация == "ПодтоваркаВыборСекции") { Зона = СчитанныйАдрес.Substring(0, 1); яд = СчитанныйАдрес.Substring(0, 3); Секция = ""; Операция = "ПодтоваркаВыборСекции"; ОкноВыбораЗаданий_Load(null, new EventArgs()); } if (ОтветОперация == "ПодтоваркаВыборАдреса") { Зона = СчитанныйАдрес.Substring(0, 1); яд = СчитанныйАдрес.Substring(0, 3); Секция = СчитанныйАдрес.Substring(0, 6); Операция = "ПодтоваркаВыборАдреса"; ОкноВыбораЗаданий_Load(null, new EventArgs()); } if (ОтветОперация == "ПодтоваркаАдресВыбран") { // Переходим в окно подбора Form Окно = new ОкноПодтоваркиТоваров(СчитанныйАдрес); this.Close(); Окно.Show(); return; } }
private void ОбработкаВводаМеста(string _Данные) { // проверим, что это место if (!_Данные.Substring(0, 3).Equals("mst")) { Инфо.Ошибка("Необходимо сосканировать ШК грузового места."); return; } string ТекущиеМесто = _Данные.Substring(3); // проверим, что место еще не добавлено if (СписокГрузовыхМест.Contains(ТекущиеМесто)) { // удалить место аботаСоСканером.Звук.Ошибка(); string message = "Внимание! Место уже добавлено. Удалить место?"; string caption = "Подтверждение"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // отобразить MessageBox. result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == System.Windows.Forms.DialogResult.Yes) { СписокГрузовыхМест.Remove(ТекущиеМесто); СписокПогрузки.Items[5].SubItems[1].Text = Convert.ToString(СписокГрузовыхМест.Count); аботаСоСканером.Звук.Ок(); } return; } // проверка места на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ПогрузкаСканированиеГрузовогоМеста", ТекущиеМесто, ТТНСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } if (ОтветСервера[0][0] == "ДобавитьГрузовоеМесто") { СписокГрузовыхМест.Add(ТекущиеМесто); СписокПогрузки.Items[5].SubItems[1].Text = Convert.ToString(СписокГрузовыхМест.Count); аботаСоСканером.Звук.Ок(); } }
private void учнойВводКоличества() { var ВыбраннаяСтрока = СписокПеремещения.FocusedItem; if (ВыбраннаяСтрока == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбраннаяСтрока.SubItems[2].Text); // Гуид if (СтрокаТаблицы == null) { return; } string ТекстИнструкции = "Введите необходимое \nколичество товара \nдля перемещения из \nвозможных " + СтрокаТаблицы.Остаток + " шт."; ОкноВводКоличества ОкноВводКоличества = new ОкноВводКоличества(ТекстИнструкции, СтрокаТаблицы.Количество, СтрокаТаблицы.Остаток, false); DialogResult d = ОкноВводКоличества.ShowDialog(); if (d == DialogResult.OK) { int Количество = ОкноВводКоличества.Количество_; if (Количество > СтрокаТаблицы.Остаток) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.Остаток); return; } СтрокаТаблицы.Количество = Количество; ОбработатьКоличествоСтроки(СтрокаТаблицы); // Подтверждаем успешный ввод количества звуком аботаСоСканером.Звук.Ок(); } }
private void Подобрать_Click(object sender, EventArgs e) { var Элемент = ПолучитьЭлементИзДерева(); if (Элемент == null) { return; } if (Элемент.ЭтоКорень) { return; } if (Элемент.Адрес != ТекущийАдрес) { Инфо.Ошибка("Необходимо сканировать адрес полки"); return; } ВводКоличества УзнатьКоличество = new ВводКоличества(string.Format("Введите необходимое количество {0} для подбора из доступных {1}", Элемент.Наименование, Элемент.КоличествоТребуется)); DialogResult d = УзнатьКоличество.ShowDialog(); if (d == DialogResult.OK) { int Количество = УзнатьКоличество.Количество_; if (Количество == 0) { Количество = 1; } if ((Количество + Элемент.КоличествоСобрано) > Элемент.КоличествоТребуется) { Инфо.Ошибка(string.Format("Необходимо ввести количество до {0}", Элемент.КоличествоТребуется - Элемент.КоличествоСобрано)); return; } Элемент.КоличествоСобрано += Количество; Элемент.СекундПодбора += ВзятьВремя(); ОбработатьКоличествоЭлемента(Элемент); } }
// ----------------------------------------------------------------------------------------------------------------------------------------------------- // Завершение подбора ----------------------------------------------------------------------------------------------------------------------------------- private void ЗавершитьЗадания(bool ВыйтиПриЗавершении) { // Заполняем массив для отправки в 1с КоллекцияСтрок.Clear(); foreach (var Строка in ТаблицаПодбора) { if (Строка.КоличествоСобрано > 0) { ДобавитьСтроку(Строка.Гуид, Строка.КоличествоСобрано.ToString(), "0", Строка.СекундПодбора.ToString()); } if (Строка.КоличествоВычерк > 0) { ДобавитьСтроку(Строка.Гуид, Строка.КоличествоВычерк.ToString(), "1", Строка.СекундПодбора.ToString()); } } // Если строк для отправки нет, данные на сервер не отсылаем var ЕстьСтрокиДляОтправки = КоллекцияСтрок.Count() != 0; //if (!ЕстьСтрокиДляОтправки && ВыйтиПриЗавершении) if (!ЕстьСтрокиДляОтправки) { ОтветСервера = Обмен.ПослатьСтроку("Выход"); this.Close(); return; } // Не даем завершить задания, если ДЯ пустая if (string.IsNullOrEmpty(ДинамическаяЯчейка)) { Инфо.Ошибка("Не выбрана динамическая ячейка!"); return; } Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.Послать("ЗавершитьЗадания", КоллекцияСтрок.ToArray()); Cursor.Current = Cursors.Default; //в случае какой либо ошибки при завершении задания показываем кнопку повтора завершения if (ОтветСервера == null) { КнопкаПовторитьЗавершение.Visible = true; } else { if (ВыйтиПриЗавершении) { this.Close(); return; } else { ОбработатьОтветСервераПриЗавершении(ОтветСервера); } } }
private void ОбработкаВводаСотрудника(string _Данные) { // проверим, что это сотрудник if (!_Данные.Substring(0, 3).Equals("vis")) { Инфо.Ошибка("Необходимо сканировать ШК сотрудника."); return; } string СотрудникКод = _Данные.Substring(3); // проверим, что сотрудник еще не добавлен foreach (ListViewItem item in СписокСотрудников.Items) { if (String.Equals(item.SubItems[1].Text, СотрудникКод)) { Инфо.Ошибка("Сотрудник уже присутствует в списке."); // установить курсор на сотрудника, которого добавляем повторно item.Focused = true; item.Selected = true; return; } } // проверка сотрудника на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ВыборСотрудниковСканирование", СотрудникКод); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } if (ОтветСервера[0][0] == "ДобавитьСотрудника") { // добавим строку и спозиционируемся на ней string СотрудникСсылка = ОтветСервера[0][1]; string СотрудникНаименование = ОтветСервера[0][2]; string[] row = { СотрудникНаименование, СотрудникКод }; var НоваяСтрока = СписокСотрудников.Items.Add(new ListViewItem(row)); НоваяСтрока.Focused = true; НоваяСтрока.Selected = true; Список.Добавить(СотрудникНаименование, СотрудникКод, СотрудникСсылка); // подать сигнал о успешном добавлении аботаСоСканером.Звук.Ок(); } }
private void ОбработкаВводаМеста(string _Данные) { // проверим, что это место if (!_Данные.Substring(0, 3).Equals("mst")) { Инфо.Ошибка("Необходимо сосканировать ШК грузового места."); return; } string ТекущееМесто = _Данные.Substring(3); // проверим, что место еще не добавлено foreach (var tmpФилиал in Филиалы.Список) { foreach (var tmpМесто in tmpФилиал.ГрузовыеМеста) { if (tmpМесто == ТекущееМесто) { // предложить удалить добавленное место // ... Инфо.Ошибка("Грузовое место уже присутствует в списке."); return; } } } // проверка места на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ОбработкаТТН_Сканирование", ТТНСсылка, ТекущееМесто); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // обработка ответа сервера foreach (string[] str in ОтветСервера) { if (str[0] == "Ждем") { Филиалы.ДобавитьГрузовоеМесто(str[1], ТекущееМесто); аботаСоСканером.Звук.Ок(); } else { Филиалы.Добавить("", "НЕ ОПРЕДЕЛЕН", "0", "0"); Филиалы.ДобавитьГрузовоеМесто("", ТекущееМесто); аботаСоСканером.Звук.Ошибка(); } } }
private void ОсновноеМеню_KeyDown(object sender, KeyEventArgs e) { var Панель = Табулятор.TabPages[Табулятор.SelectedIndex].Controls; if (аботаСоСканером.НажатаКлавишаСкан(e)) { string СтрокаСкан = аботаСоСканером.Scan(); if (СтрокаСкан.Length != 0) { e.Handled = true; учнойКод.Text = СтрокаСкан; Инфо.ПолучениеИнформации(СтрокаСкан, СписокИнформации, Табулятор); } return; } foreach (var ЭлементФормы in Панель) { if (ЭлементФормы is Button) { Button Кнопка = (Button)ЭлементФормы; if (Кнопка.Enabled && (char)Кнопка.Text[1] == (char)e.KeyValue) { Кнопка.Focus(); ПриНажатииНаКнопку(Кнопка, new EventArgs()); return; } } } if (!учнойКод.Focused) { if ((e.KeyCode == System.Windows.Forms.Keys.D1)) { Табулятор.SelectedIndex = 0; } if ((e.KeyCode == System.Windows.Forms.Keys.D2)) { Табулятор.SelectedIndex = 1; } } else { if ((e.KeyCode == System.Windows.Forms.Keys.Enter) || ((int)e.KeyCode == 119)) { ИнформацияВРучномРежиме(); } } if ((e.KeyCode == System.Windows.Forms.Keys.Left)) { Табулятор.SelectedIndex = 0; } if ((e.KeyCode == System.Windows.Forms.Keys.Right)) { Табулятор.SelectedIndex = 1; } }
private void ОкноПеремещенияТоваров_KeyDown(object sender, KeyEventArgs e) { if (аботаСоСканером.НажатаКлавишаСкан(e)) { string СтрокаСкан = аботаСоСканером.Scan(); if (СтрокаСкан.Length == 0) { return; } e.Handled = true; // Скан в поиске if (Таб.SelectedIndex == 1) { Инфо.ПолучениеИнформации(СтрокаСкан, СписокИнформации, Таб); return; } // Скан адреса if (СтрокаСкан.ToLower().StartsWith("adr") && СтрокаСкан.Length == 10) { ОбработатьСканАдреса(СтрокаСкан); return; } // Скан товара ОбработатьСканТовара(СтрокаСкан); return; } if (e.KeyCode == System.Windows.Forms.Keys.F8 || e.KeyCode == System.Windows.Forms.Keys.Enter) { e.Handled = true; учнойВводКоличества(); } if (аботаСоСканером.НажатаПраваяПодэкраннаяКлавиша(e)) { _Далее(); } if (аботаСоСканером.НажатаЛеваяПодэкраннаяКлавиша(e)) { _Назад(); } if ((e.KeyCode == System.Windows.Forms.Keys.Left)) { Таб.SelectedIndex = 0; e.Handled = true; } if ((e.KeyCode == System.Windows.Forms.Keys.Right)) { Таб.SelectedIndex = 1; e.Handled = true; } }
// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование товаров --------------------------------------------------------------------------------------------------------------------------------- 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 ИнформацияВРучномРежиме() { if (учнойКод.Text.Length > 3) { Инфо.ПолучениеИнформации(учнойКод.Text, СписокИнформации, Табулятор); учнойКод.Text = ""; СписокИнформации.Focus(); } }
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 ЗавершениеПеремещения() { // Не даем завершить задания, если адрес получатель не выбран if (string.IsNullOrEmpty(АдресПолучатель)) { Инфо.Ошибка("Не выбран адрес получатель!"); return; } // Заполняем массив для отправки в 1с КоллекцияСтрок.Clear(); ДобавитьСтроку("АдресОтправитель", АдресОтправитель); ДобавитьСтроку("АдресПолучатель", АдресПолучатель); ДобавитьСтроку("ЭтоДинамическаяЯчейка", ЭтоДинамическаяЯчейка == true ? "Истина" : "Ложь"); bool ЕстьСтрокиДляОтправки = false; foreach (var Строка in ТаблицаПеремещения) { if (Строка.Количество > 0) { ЕстьСтрокиДляОтправки = true; ДобавитьСтроку(Строка.Гуид, Строка.Количество.ToString()); } } // Если строк для отправки нет, данные на сервер не отсылаем if (!ЕстьСтрокиДляОтправки) { Инфо.Ошибка("Не сосканированы товары для перемещения!"); return; } Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.Послать("ЗавершитьЗадания", КоллекцияСтрок.ToArray()); Cursor.Current = Cursors.Default; //в случае какой либо ошибки при завершении ничего не делаем, даем возможность завершить повторно if (ОтветСервера == null) { return; } if (ОтветСервера[0][0] == "НетТоваров") { аботаСоСканером.Звук.Ок(); this.Close(); return; } ОкноПеремещенияТоваров_Load(null, new EventArgs()); }
private void ПрибавитьКоличество(ListViewItem НайденСкан, int Прибавить, bool Прибавлять) { int Сканировано = int.Parse(НайденСкан.SubItems[1].Text); int Количество = int.Parse(НайденСкан.SubItems[0].Text); Сканировано = Прибавлять ? Сканировано + Прибавить : Прибавить; if (ПроверитьКоличество(Сканировано, Количество)) { Инфо.Ошибка("Нехватает количества"); return; } НайденСкан.SubItems[1].Text = String.Format("{0}", Сканировано); }
//-----------------методы для переопределения в наследуемом классе других операций--------- 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; }
public void _Далее() { string Адрес = "adr" + ВводАдреса.Text; if (Адрес.Length == 10) { СканАдреса(Адрес); return; } { Инфо.Ошибка("Адрес введен неверно!"); } }
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)); аботаСоСканером.Звук.Ок(); } }
private void ФормаВыборФилиалаТерминал_Load(object sender, EventArgs e) { // заполним подсказку пользователю ПодсказкаПользователю.Text = НомерТС + "\nВЫБЕРИТЕ ФИЛИАЛ ПОГРУЗКИ"; // получить список филиалов по ТТН Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ВыборФилиалаПолучитьСписокФилиалов", ТТНСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // заполним список Филиалов try { foreach (string[] str in ОтветСервера) { string[] row = { str[0], str[1], str[2] }; ListViewItem НоваяСтрока = СписокФилиалов.Items.Add(new ListViewItem(row)); if (Convert.ToInt32(НоваяСтрока.SubItems[2].Text) > 0) { НоваяСтрока.BackColor = Color.LightGreen; } } } catch { Инфо.Ошибка("Нет филиалов на погрузку."); this.Close(); return; } // установим курсор в первую строку if (СписокФилиалов.Items.Count > 0) { СписокФилиалов.Focus(); СписокФилиалов.Items[0].Focused = true; } }
public static bool ПроверитьОбновление() { // Получаем параметры сеанса (сервер) и соответствующую веб ссылку Настройки ПараметрыСеанса = new Настройки(); ПараметрыСеанса.Загрузить(); string Url = ПараметрыСеанса.СформироватьСсылку(); if (string.IsNullOrEmpty(Url)) { return(false); } Пакеты Обмен = new Пакеты(""); Обмен.Соединение.Сервис.Url = Url; Инфо.ИмяЭтогоФайла = Assembly.GetCallingAssembly().ManifestModule.FullyQualifiedName; string ИмяЭтогоФайла = Инфо.ИмяЭтогоФайла; try { Logs.WriteLog("start update check " + СоединениеВебСервис.НомерВерсии); Byte[] Прошивка = Обмен.UpdateFirmware(); if (Прошивка == null || Прошивка.Count() == 0) { return(false); } Logs.WriteLog("is there "); string НовыйИсполняемыйФайл = Настройки.ПолучитьПутьКЛокальномуФайлу(СкладскойУчетОбновление); СохранитьВФайл(ref НовыйИсполняемыйФайл, Прошивка); if (!String.IsNullOrEmpty(Инфо.АргументЗапуска)) { Инфо.Ошибка("Обновленная версия не совпадает с версией в хранилище, обратитесь в ИТ отдел"); return(false); } Logs.WriteLog("Start prog"); var pr = new Process(); pr.StartInfo.FileName = НовыйИсполняемыйФайл; pr.StartInfo.Arguments = "\"" + ИмяЭтогоФайла + "\""; pr.Start(); return(true); } catch (Exception) { }// System.Windows.Forms.MessageBox.Show(e.Message); } return(false); }
private void СканированиеШК(KeyEventArgs e) { string СтрокаСкан = аботаСоСканером.Scan(); if (СтрокаСкан.Length != 0) { e.Handled = true; if (Таб.SelectedIndex == 0) { СканАдреса(СтрокаСкан); return; } Инфо.ПолучениеИнформации(СтрокаСкан, СписокИнформации, Таб); } }
public virtual void _Далее() { // Запрет ручного выбора адреса if (Операция == "ПодборВыборАдреса") { return; } var ВыбраннаяСтрока = СписокВыбора.FocusedItem; if (ВыбраннаяСтрока == null) { Инфо.Ошибка("Не выбрано ни одной строки"); return; } if (Операция == "ПодборВыборФилиала") { ФилиалГуид = ВыбраннаяСтрока.SubItems[3].Text; Филиал = ВыбраннаяСтрока.Text; Операция = "ПодборВыборРяда"; ОкноВыбораЗаданий_Load(null, new EventArgs()); return; } if (Операция == "ПодборВыборРяда") { яд = ВыбраннаяСтрока.Text; Операция = "ПодборВыборСекции"; ОкноВыбораЗаданий_Load(null, new EventArgs()); return; } if (Операция == "ПодборВыборСекции") { // Запрет на выбор секций по середине ряда if (ВыбраннаяСтрока.Index != 0 && ВыбраннаяСтрока.Index != СписокВыбора.Items.Count - 1) { Инфо.Ошибка("Разрешен выбор только крайних секций ряда!"); return; } Секция = ВыбраннаяСтрока.Text; Операция = "ПодборВыборАдреса"; ОкноВыбораЗаданий_Load(null, new EventArgs()); return; } }
public virtual void _Далее() { var ВыбраннаяСтрока = СписокВыбора.FocusedItem; if (ВыбраннаяСтрока == null) { Инфо.Ошибка("Не выбрано ни одной строки"); return; } string ВыбранноеЗначение = НомерКонокиГУИД < 1?ВыбраннаяСтрока.Text:ВыбраннаяСтрока.SubItems[НомерКонокиГУИД - 1].Text; Последовательность.ОтветСервера = Обмен.ПослатьСтроку(ВыбранноеЗначение, Последовательность.ТекущееОкно, "РучнойВыбор"); if (Последовательность.ОтветСервера == null) { return; // в случае ошибки остаться в этом же окне } this.DialogResult = DialogResult.Retry; this.Close(); }
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); }
private void ЗаполнитьСписокТТН() { // очистим список СписокТТН.Items.Clear(); // получим список ТТН Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ВыборТТНПолучитьСписокТТН"); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // заполним список ТТН try { foreach (string[] str in ОтветСервера) { string[] row = { str[0], str[1], str[2] }; СписокТТН.Items.Add(new ListViewItem(row)); } } catch { Инфо.Ошибка("Нет заданий на погрузку."); this.Close(); return; } // установим курсор в первую строку if (СписокТТН.Items.Count > 0) { СписокТТН.Focus(); СписокТТН.Items[0].Focused = true; СписокТТН.Items[0].Selected = true; } }
private void Окно_выбора_из_списка_KeyDown(object sender, KeyEventArgs e) { KeyIsPressed = true; if (аботаСоСканером.НажатаКлавишаСкан(e)) { string СтрокаСкан = аботаСоСканером.Scan(); if (СтрокаСкан.Length != 0) { e.Handled = true; if (Таб.SelectedIndex == 0) { ОбработатьСкан(СтрокаСкан); } else { Инфо.ПолучениеИнформации(СтрокаСкан, СписокИнформации, Таб); } } return; } if (аботаСоСканером.НажатаПраваяПодэкраннаяКлавиша(e)) { e.Handled = true; Меню_Click(sender, new EventArgs()); } if ((e.KeyCode == System.Windows.Forms.Keys.D0)) { e.Handled = true; Меню_Click(sender, new EventArgs()); } if ((e.KeyCode == System.Windows.Forms.Keys.D1)) { Таб.SelectedIndex = 0; Таб.Update(); e.Handled = true; } if ((e.KeyCode == System.Windows.Forms.Keys.D2)) { Таб.SelectedIndex = 1; Таб.Update(); e.Handled = true; } }