Exemple #1
0
        public ОбработкаГрузовыхМест()
        {
            Обмен  = new Пакеты("ОбработкаГрузовыхМест");
            Данные = new ДанныеФормы();

            InitializeComponent();
        }
 public Окно_сканирования_адреса(ПоследовательностьОкон ПоследовательностьОкон)
 {
     InitializeComponent();
     Последовательность = ПоследовательностьОкон;
     Обмен       = new Пакеты(ПоследовательностьОкон.Операция + " ВыборЗадания"); //Сформировали пакет с операцией состоящей например "Подбор ВыборЗадания"
     ВернутьСкан = false;
 }
Exemple #3
0
 public ОкноПодбораТоваров()
 {
     Обмен = new Пакеты("ПодборТоваров");
     ПодборТовараВМеста = СоединениеВебСервис.ПодборТовараВМеста;
     InitializeComponent();
     ОбнулитьВремя();
 }
        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;
        }
Exemple #5
0
        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;
        }
Exemple #6
0
        public ПриемГрузовыхМест()
        {
            Обмен  = new Пакеты("ПриемГрузовыхМест");
            Данные = new ДанныеФормы();

            InitializeComponent();
        }
Exemple #7
0
        public static void ДобавитьТекущуюОперацию(string _Операция, СписокСотрудников _Сотрудники)
        {
            try
            {
                Пакеты Обмен = new Пакеты("УчетТекущихОпераций");

                string[][] мПараметры = new string[2][];

                // Операция

                мПараметры[0] = new string[] { "стрОперация", _Операция };

                // Сотрудники

                мПараметры[1] = new string[_Сотрудники.Список.Count + 1];

                мПараметры[1][0] = "мСотрудники";

                string[] мСотрудники = new string[_Сотрудники.Список.Count];

                for (int i = 0; i < _Сотрудники.Список.Count; i++)
                {
                    мПараметры[1][i + 1] = _Сотрудники.Список[i].Ссылка;
                }

                Обмен.Послать("Добавить", мПараметры);
            }
            catch { }
        }
Exemple #8
0
        private void ПолучитьИнфоОт1С(string EAN)
        {
            Обмен = new Пакеты(Последовательность.Операция + " НайтиТовар");
            Последовательность.ОтветСервера = Обмен.ПослатьСтроку(EAN, ТекущийАдрес, ТекстДЯ.Text);
            if (Последовательность.ОтветСервера == null)
            {
                return;                                          // в случае ошибки остаться в этом же окне
            }
            var НайтиВыборТовара = from string[] Строка in Последовательность.ОтветСервера where Строка[0] == "ВыбратьТовар" select Строка;

            if (НайтиВыборТовара.Count() > 0)
            {
                string SelectedGUID = ВыбратьТоварИзМножества(НайтиВыборТовара);
                ОбработатьТовар(SelectedGUID);
                return;
            }

            foreach (var Строка in Последовательность.ОтветСервера)
            {
                switch (Строка[0])
                {
                case "ТекстДЯ":
                    СменитьДЯ(Строка[1]);
                    break;

                case "Товар":
                    ОбработатьТовар(Строка[1]);
                    break;
                }
            }
        }
Exemple #9
0
        public override void _Назад()
        {
            Пакеты Обмен = new Пакеты("СнятьБлокировкуИнвентаризации");

            Обмен.ПослатьСтроку(ТекстДЯ.Text);
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }
Exemple #10
0
        public ОкноПодтоваркиТоваров(string _АдресОтправитель)
        {
            Обмен = new Пакеты("Подтоварка");

            АдресОтправитель = _АдресОтправитель;

            InitializeComponent();
        }
        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 = Информация;
        }
 public Окно_набора_адреса(ПоследовательностьОкон ПоследовательностьОкон)
 {
     InitializeComponent();
     Последовательность = ПоследовательностьОкон;
     Обмен         = new Пакеты(ПоследовательностьОкон.Операция + " ВыборЗадания"); //Сформировали пакет с операцией состоящей например "Подбор ВыборЗадания"
     ВернутьСкан   = false;
     Далее.Enabled = false;
     ВводАдреса.Focus();
 }
Exemple #13
0
        public ФормаВыборФилиалаТерминал(string _НомерТС, string _ТТННомер, string _ТТНСсылка)
        {
            InitializeComponent();

            Обмен     = new Пакеты("ПогрузкаАвтоТерминал");
            НомерТС   = _НомерТС;
            ТТННомер  = _ТТННомер;
            ТТНСсылка = _ТТНСсылка;
        }
 public ОкноВыбораЗаданийНаПодтоварку(string _Операция, string _Зона, string _Ряд, string _Секция, string _Адрес)
 {
     Операция = _Операция;
     Зона     = _Зона;
     яд       = _Ряд;
     Секция   = _Секция;
     Адрес    = _Адрес;
     Обмен    = new Пакеты("ПодтоваркаВыборЗаданий");
     InitializeComponent();
 }
 public ОкноВыбораЗаданийНаПодбор(string _Операция, string _Филиал, string _ФилиалГуид, string _Ряд, string _Секция)
 {
     Операция   = _Операция;
     Филиал     = _Филиал;
     ФилиалГуид = _ФилиалГуид;
     яд         = _Ряд;
     Секция     = _Секция;
     Обмен      = new Пакеты("ПодборВыборЗаданий");
     InitializeComponent();
 }
Exemple #16
0
 public ОкноВыбораЗаданийНаИнвентаризацию(string _Операция, string _Зона, string _Ряд, string _Секция, string _Адрес)
 {
     Операция = _Операция;
     Зона     = _Зона;
     яд       = _Ряд;
     Секция   = _Секция;
     Адрес    = _Адрес;
     Обмен    = new Пакеты("ИнвентаризацияВыборЗаданий");
     InitializeComponent();
 }
Exemple #17
0
        public static void УдалитьТекущуюОперацию()
        {
            try
            {
                Пакеты Обмен = new Пакеты("УчетТекущихОпераций");

                Обмен.ПослатьСтроку("Удалить");
            }
            catch { }
        }
        private DialogResult ПолучитьАдресКуда()
        {
            Обмен = new Пакеты("Нет операции");//тут идет подготовка класса, но посылки пакета не будет, так что просто вызвали конструктор класса для заполнения типа
            Последовательность.ОтветСервера = Обмен.ПодготовитьСтроку("ТекстИнструкции", "Необходимо сканировать адрес/ячейку для перемещения отсканированного товара с " + ТекстДЯ.Text);
            Окно_сканирования_адреса ОкноАдреса = new Окно_сканирования_адреса(Последовательность);

            ОкноАдреса.ВернутьСкан = true;// не обращаться к вебсервису
            DialogResult езультатОкна = ОкноАдреса.ShowDialog();

            return(езультатОкна);
        }
        public ФормаКолвоМестПаллетТерминал(string _НомерТС, string _ТТННомер, string _ТТНСсылка, string _ФилиалНаименование, string _ФилиалСсылка)
        {
            InitializeComponent();

            Обмен              = new Пакеты("ПогрузкаАвтоТерминал");
            НомерТС            = _НомерТС;
            ТТННомер           = _ТТННомер;
            ТТНСсылка          = _ТТНСсылка;
            ФилиалНаименование = _ФилиалНаименование;
            ФилиалСсылка       = _ФилиалСсылка;
        }
        public ФормаВыборФилиала(string _НомерТС, string _ТТННомер, string _ТТНСсылка, СписокСотрудников _Сотрудники, DateTime _ВремяНачала)
        {
            InitializeComponent();

            Обмен = new Пакеты("ПогрузкаАвто");

            НомерТС   = _НомерТС;
            ТТННомер  = _ТТННомер;
            ТТНСсылка = _ТТНСсылка;

            Сотрудники  = _Сотрудники;
            ВремяНачала = _ВремяНачала;
        }
        private DialogResult ПолучитьАдресКудаПодтоваривать()
        {
            string Адреса = ПолучитьРекомендуемыеАдреса();
            Пакеты Обмен  = new Пакеты("Нет операции");

            Последовательность.ОтветСервера = Обмен.ПодготовитьСтроку("ТекстИнструкции", "Необходимо сканировать адрес для перемещения отсканированного товара с " + ТекстДЯ.Text + " на:" + Адреса);
            Окно_сканирования_адреса ОкноАдреса = new Окно_сканирования_адреса(Последовательность);

            ОкноАдреса.ВернутьСкан = true;// не обращаться к вебсервису
            DialogResult езультатОкна = ОкноАдреса.ShowDialog();

            return(езультатОкна);
        }
Exemple #22
0
        // КОНСТРУКТОРЫ

        public азгрузка_ОбработкаТТН(string _НомерТС, string _ТТННомер, string _ТТНСсылка)
        {
            InitializeComponent();

            Обмен = new Пакеты("Разгрузка");

            НомерТС   = _НомерТС;
            ТТННомер  = _ТТННомер;
            ТТНСсылка = _ТТНСсылка;

            Филиалы = new СписокФилиалов(lvСписокФилиалов);

            Сотрудники  = new СписокСотрудников();
            ВремяНачала = DateTime.Now;
        }
        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);
        }
Exemple #24
0
        // КОНСТРУКТОРЫ

        public ФормаПогрузка(string _НомерТС, string _ТТННомер, string _ТТНСсылка, string _ФилиалНаименование, string _ФилиалСсылка, СписокСотрудников _Сотрудники, DateTime _ВремяНачала)
        {
            InitializeComponent();

            Обмен              = new Пакеты("ПогрузкаАвто");
            НомерТС            = _НомерТС;
            ТТННомер           = _ТТННомер;
            ТТНСсылка          = _ТТНСсылка;
            ФилиалНаименование = _ФилиалНаименование;
            ФилиалСсылка       = _ФилиалСсылка;
            СписокГрузовыхМест = new List <string> {
            };

            Сотрудники  = _Сотрудники;
            ВремяНачала = _ВремяНачала;
        }
        private void Сотрудник_SelectedIndexChanged(object sender, EventArgs e)
        {
            // при изменении сотрудника обновим доступные филиалы

            ДоступныеФилиалы.Clear();

            свДоступныеФилиалы.Items.Clear();

            // получим сотрудника

            if (string.IsNullOrEmpty(Сотрудник.Text))
            {
                return;
            }

            string Url = ПараметрыСеанса.СформироватьСсылку();

            if (string.IsNullOrEmpty(Url))
            {
                return;
            }

            Обмен = new Пакеты("ДоступныеФилиалы");
            Обмен.Соединение.Сервис.Url = Url;

            string[][] ОтветСервера = Обмен.ПослатьСтроку(Сотрудник.Text);

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

            foreach (string[] str in ОтветСервера)
            {
                ДоступныеФилиалы.Add(str[1], str[0]);
                свДоступныеФилиалы.Items.Add(str[1]);
            }

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

            if (свДоступныеФилиалы.Items.Count > 0)
            {
                свДоступныеФилиалы.SelectedIndex = 0;
                свДоступныеФилиалы.Focus();
            }
        }
        public override void _Назад()
        {
            var arr_l = from ListViewItem l in СписокПеремещения.Items where l.SubItems[1].Text != "0" select l;

            if (arr_l.Count() > 0)
            {
                var MSGRes = MessageBox.Show("При отмене задания все сканированные товары не будут учитываться! вы хотите отменить задание ?", "Подтоварка", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (MSGRes == DialogResult.No)
                {
                    return;
                }
            }
            Пакеты Обмен = new Пакеты("ОтменитьЗаданиеПодтоварки");

            Обмен.ПослатьСтроку(ТекстДЯ.Text);
            this.DialogResult = DialogResult.Cancel;
            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);
        }
Exemple #28
0
 private void ЗавершитьЗадание()
 {
     if (ТекстДЯ.Text.Length < 8)
     {
         if (!СканироватьДЯ())
         {
             return;
         }
     }
     Обмен = new Пакеты(Последовательность.Операция + " ЗавершениеЗадания");
     ВыслатьВсеДерево(Обмен, false);
     if (Последовательность.ОтветСервера == null)//в случае какой либо ошибки при завершении задания
     {
         КнопкаПовторитьЗавершение.Visible = true;
         return;
     } // в случае ошибки остаться в этом же окне
     this.DialogResult = DialogResult.Retry;
     this.Close();
 }
Exemple #29
0
 private void ВыслатьВсеДерево(Пакеты Обмен, bool ТолькоСобранное)
 {
     СообщениеПодождите.Visible = true;
     Cursor.Current             = Cursors.WaitCursor;
     КоллекцияСтрок.Clear();
     ДобавитьСтрокиПодбора();
     if (!ТолькоСобранное)
     {
         ДобавитьСтрокиВычерка();
     }
     if (КоллекцияСтрок.Count() == 0)
     {
         Последовательность.ОтветСервера = Обмен.Послать(ТекстДЯ.Text, null);
         СообщениеПодождите.Visible      = false;
         return;
     }
     Последовательность.ОтветСервера = Обмен.Послать(ТекстДЯ.Text, КоллекцияСтрок.ToArray());
     Cursor.Current             = Cursors.Default;
     СообщениеПодождите.Visible = false;
 }
        private bool ПолучитьСписокПользователей()
        {
            Сотрудник.Items.Clear();

            string Url = ПараметрыСеанса.СформироватьСсылку();

            if (string.IsNullOrEmpty(Url))
            {
                return(false);
            }

            Обмен = new Пакеты("СписокПользователей");
            Обмен.Соединение.Сервис.Url = Url;

            var СписокПользователей = Обмен.ПослатьСтроку(СоединениеВебСервис.ИдентификаторСоединения);

            if (СписокПользователей == null)
            {
                return(false);
            }

            foreach (var СтрокаПользователь in СписокПользователей)
            {
                Сотрудник.Items.Add(СтрокаПользователь[0]);
            }

            if (ПараметрыСеанса.Хранилище.ИмяПользователя == null)
            {
                Сотрудник.Focus();
            }
            else
            {
                Сотрудник.Text = ПараметрыСеанса.Хранилище.ИмяПользователя;
                Пароль.Focus();
            }

            СписокПользователей = null;
            return(true);
        }