01. О Программе
AllegroСlient—android– бесплатная универсальная программа для терминалов сбора данных (ТСД) и мобильных устройств (смартфонов) на ОС Android, позволяющая организовать учет на складах, в торговых залах, в магазинах с применением штрих-кодирования. Программный продукт позволяет адаптировать всевозможные бизнес процессы под любые конфигурации 1С версий 8.2 и выше. Преимущественное отличие от других систем – вся разработка логики работы клиента на мобильном устройстве осуществляется на стороне 1С и не требует от программиста 1С отдельных знаний. Программа позволяет быстро настроить операции на мобильном устройстве в связке с 1С. Конструирование форм и программирование обработчиков событий осуществляется во внешней обработке, что в свою очередь не требует изменений в конфигурации 1С.
Сравнение бесплатной версии и версии AllegroClient Prof
02. Преимущества AllegroClient
- Совершенно бесплатное ПО для терминалов сбора данных (ТСД) под Андроид!
- Разработка логики работы клиента на мобильном устройстве осуществляется на стороне 1С и не требует от программиста 1С отдельных знаний.
- Скорость разработки. Простую операцию можно реализовать в пределах 30 минут.
- Свободное расположение элементов на форме. Расположение и размер элементов ограничены только Вашей фантазией.
- Требуется только однопользовательская лицензия 1С на компьютере, где установлен Сервер ТСД, при этом одновременно работающее количество устройств не ограничено.
- Продолжение разработки под WinCE allegrosoft.ru/programs/allegroclient-prof-2-0/, которая ведется с 2014 года, по этому приложение имеет обкатанную логику и все блокирующие проблемы устранены.
- Есть реальные внедрения в компаниях силами внутренних сотрудников, при этом освоение ПО не вызвало никаких трудностей.
- Скорость обмена с сервером составляет доли секунды. Скорость даже выше, чем при обмене по http, так как поддерживается постоянное соединение (на уровне sockets).
- Конструирование форм и программирование обработчиков событий осуществляется во внешней обработке, что в свою очередь не требует изменений в конфигурации 1С.
- Проверена работа на терминалах сбора данных: Urovo, Honeywell, Атол Smart, Zebra.
- Готовое решение для продуктов 1С, не требующее для работы промежуточных баз и конфигураций, подсистем.
- Возможность адаптировать всевозможные бизнес-процессы под любые конфигурации 1С версий 8.2 и выше.
- Есть готовые решения для типовых конфигураций 1С.
- Программное обеспечение поддерживает полноценный on-line режим.
- Поддержка стабильной связи (при обрыве соединения происходит «мягкое» переподключение, незаметное для пользователя).
Перечень возможных складских операций:
- Сбор штрих-кодов
- Инвентаризация
- Приемка
- Отбор заказов
- Перемещение между адресами хранения
- Размещение на складе
- Оприходование и списание
- Возврат товаров
- Переоценка
и многие другие.
Программа позволяет работать только в режиме онлайн, т.е. предназначена для работы мобильных устройств в беспроводной сети. Программный продукт не требует для работы промежуточных баз и конфигураций, т.е. обмен осуществляется на прямую с рабочей базой. На следующей схеме продемонстрирован принцип работы:
Из представленной схемы видно, что программный продукт состоит из трех частей:
«Сервер ТСД»- приложение на стационарном компьютере, поддерживающее связь мобильных устройств и стационарного компьютера, а так же осуществляющее обмен с 1С. Для обеспечения неснижаемой скорости обмена с 1С, при увеличении количества соединений или увеличении интенсивности обмена, «Сервер ТСД» создает пул com-соединений, наращивая или снижая количество данных соединений в зависимости от нагрузки.
Клиент – приложение, работающее на мобильном устройстве, логика работы которого, настраивается на стороне 1С.
Внешняя обработка 1С – модуль, в котором содержатся макеты форм и программный код, описывающий работу приложения.
В поставке содержится демонстрационная обработка.
Поддерживаемые конфигурации:
- «1С:Управление торговлей» 11.2
- «1С:Управление торговлей» 11.3
- «1С:Управление торговлей» 11.4
- «1С:Управление торговлей» 10.2
- «1С:Управление торговлей» 10.3
- «1С:Розница» 2.2
Для работы не требуется вносить изменения в конфигурации. Для печати этикеток нужно в отдельном сеансе 1С запустить обработку «ПечатьЭтикеток».
Поддерживаемые операции:
- Приемка
- Отбор
- Инвентаризация
- Сбор штрих-кодов
- Остатки и цены
- Оприходование товаров
- Перемещение товаров
Распространение:
Свободно
Количество одновременно работающих мобильных устройств в сети
Не ограничено
03. Подготовка системы и установка
Перед установкой необходимо убедиться, что компьютер, на который предполагается установить «Сервер ТСД», соответствует приведенной ниже конфигурации.
Компьютер, который будет поддерживать связь с ТСД должен иметь следующую конфигурацию:
- Операционную систему — Windows XP/2000/2003/Vista/7/8/10
- NET framework 3.5
- Важно!Система 1С версии 8.2 и выше.
Для связи мобильных устройств и стационарного компьютера необходимо наличие коммуникационного оборудования и набора интерфейсных кабелей.
04. Установка «Сервера ТСД»
Для установки необходимо:
- Установить Microsoft.NET FrameWork 3.5, если требуется.
- Запустить файл SetupAllegroClient.msi и следовать инструкциям мастера установки.
- Скопировать обработку «AllegroClient_UT11_2_android.epf» в любое место на диск ПК (обработка содержится в поставке «AllegroClient»).
Установка Клиента на мобильное устройство
Для установки, необходимо скопировать файл AllegroClient-android.apk на мобильное устройство. Установить приложение на мобильном устройств.
После установки можно приступать к настройке системы «AllegroClient».
05. Настройка программы
Настройки сервера «Сервер ТСД »:
Окно настроек открывается в главном окне приложения «Сервер ТСД» в меню «Сервис->Настройки».
В данном меню устанавливаются настройки соединения с системой 1С (особенно важная настройка подключения тсд к 1с).
Для файловой системы 1С, устанавливаем флажок «Файловая база», заполняем следующие настройки:
- База — путь к базе 1С.
- Пользователь — указываем пользователя 1С (должен иметь права администратора)
- Пароль- пароль пользователя 1С
- Имя функции — указываем имя функции «ОбработкаЗапросаСервераТСД», данная функция содержится в обработке, которая имеется в комплекте поставки.
- Версия 1С8 — для 1С версии 8.2 ставим 2 для 8.3 соответственно 3
- IP – ip-адрес ПК на котором установлен Сервер ТСД.
Порт — любой, укажем 2001 (в дальнейшем этот же порт установим в настройках клиентского приложения)
Обработка — путь к обработке «AllegroClient_UT11.epf» (обработка содержится в поставке «AllegroClient»)
Важно! Пользователь 1С, которого указываете в настройках сервера, должен иметь режим запуска «Обычное приложение».
Для серверной системы 1С, снимаем флажок «Файловая база», заполняем следующие настройки:
- Сервер — наименование сервера 1С.
- База — наименование базы 1С.
- Пользователь — указываем пользователя 1С (должен иметь права администратора)
- Пароль- пароль пользователя 1С
- Имя функции- указываем имя функции «ОбработкаЗапросаСервераТСД».
- Версия 1С8 — для 1С версии 8.2 ставим 2 для 8.3 соответственно 3
- IP – ip-адрес ПК на котором установлен Сервер ТСД.
- Порт — любой, укажем 2001 (в дальнейшем этот же порт установим в настройках клиентского приложения)
- Обработка — путь к обработке » AllegroClient_UT11.epf» (обработка содержится в поставке «AllegroClient»)
Важно! Если вы используете операционные системы Vista или Windows 7/8/10, по причине того что в данных системах предъявляются повышенные требования к политике безопасности, при сохранении настроек может возникать ошибка. Для устранения этой проблемы, нужно открыть полный доступ к папке, где установлена программа.
После сохранения настроек, запускаем «Сервер ТСД», кнопка «Запуск».
Список возможных ошибок подключения описан здесь: Ошибки подключения
06. Эмулятор ТСД
Эмулятор ТСД – приложение, эмулирующее работу приложения на мобильном устройстве. Программа упрощает отладку конфигурируемого приложения, и позволяет настраивать логику приложения без использования мобильного устройства.
Настройки эмулятора содержатся в выпадающем меню «Сервис». Настройки имеют следующий вид.
В настройках необходимо указать:
- IP адрес сервера — IP адрес ПК, на котором установлен «Сервер ТСД».
- Порт – порт, который был указан в настройках «Сервера ТСД»
- Время ожидания — время ожидания ответа от сервера в секундах, рекомендуем установить 90 секунд
- Высота экрана и ширина экрана – разрешение экрана на мобильном устройстве.
Принцип работы с эмулятором аналогичен работе на клиенте (мобильном устройстве), который будет описан в дальнейшем, за исключением операции сканирования, которая обрабатывается при нажатии на кнопку “Scan”. Штрих-код (набор символов) берется из поля ввода, которое находится рядом с кнопкой, обрабатывающей событие сканирования.
07. Конфигурирование программы
Подготовка макетов форм.
Макет формы, который в дальнейшем будет отображаться на мобильном устройстве, проектируется на стороне 1С во внешней обработке, путь к которой ранее указали в настройках «Сервера ТСД». Размер формы должен соответствовать разрешению экрана на мобильном устройстве.
Важно! Разработка форм осуществляется в режиме неуправляемых форм.
Для проектирования используются следующие элементы формы:
- Поле ввода с типом «Строка» или «Число»
- Поле ввода с типом «Дата»
- Флажок
- Надпись
- Кнопка
- Поле выбора
- Поле списка
- Табличное поле
В обработке можно создать несколько макетов форм, каждая форма будет соответствовать отдельной операции, которую хотите реализовать. На стороне клиента формы будут динамически формироваться на основе считываемых параметров и размеров элементов, смоделированных в формах 1С. На стороне мобильного устройства формируется меню со списком операций.
На стороне мобильного устройства меню со списком форм c будет выглядеть так:
Пример макета формы в 1С в конфигураторе (форма «Инвентаризация») :
Для работы программы на мобильном устройстве с макетами форм 1С, необходима промежуточная выгрузка параметров форм из 1С в xml – файлы. Для этого в меню «Сервера ТСД» необходимо выбрать «Выгрузка параметров форм», откроется окно, в котором нужно подтвердить выгрузку. Если выгрузка прошла успешно, то появится список выгруженных форм.
Программирование логики работы
Вся логика работы разрабатывается в той же обработке что и проектировка форм. Разработка осуществляется в модуле обработки в экспортной функции (имя функции указывали ранее в настройках «Сервера ТСД» — ОбработкаЗапросаСервераТСД).
Функция содержит 5 входящих параметров:
- КодСотрудника
- Событие
- НаименованиеФормы
- Данные
- МассивСКонтролами
А теперь подробнее о каждом параметре.
КодСотрудника – данный параметр необходим для авторизации сотрудника на клиенте, можно использовать любой реквизит, однозначно идентифицирующий пользователя 1С, лучше использовать короткий набор символов для быстрого набора в поле авторизации ТСД.
Событие – наименование события от клиента. Необходимо выделить два типа событий зарезервированные системой и незарезервированные.
Зарезервированные события
Identification – событие срабатывает при авторизации на клиенте. В этом событии необходимо сделать проверку параметра «КодСотрудника».
Scan – событие срабатывает при сканировании камерой смартфона. Параметр «Данные», при срабатывании события, возвращает отсканированный штрих-код.
Load – событие срабатывает при открытие формы.
Report — данное событие формирует произвольный отчет. Событие вызывается при нажатии на кнопку с наименованием «Report» (наименование кнопки задается в конфигураторе). Для формирования отчета необходимо из функции возвратить массив, которым будет заполнен отчет на мобильном устройстве, представляющий собой произвольную таблицу. Размер таблицы отчета (количество колонок и строк) формируется на основании возвращаемых данных. Первый элемент массива содержит наименования колонок, разделенных разделителем «;» и имеет следующий формат :
«НаименованиеКолонки1; НаименованиеКолонки2; НаименованиеКолонки3……
Следующие элементы массива содержат данные отчета, разделенные разделителем «;»:
«ДанныеКолонки1Строки1; ДанныеКолонки2Строки1; ДанныеКолонки3Строки1……
«ДанныеКолонки1Строки2; ДанныеКолонки2Строки2; ДанныеКолонки3Строки2……
Незарезервированные события
Данные события возникают при нажатии экранных кнопок на мобильном устройстве. Событие имеет наименование такое же, как наименование кнопки или поля ввода, присвоенное при разработке форм.
Входящие данные (входящие параметры функции)
НаименованиеФормы — наименование текущей формы, в которой происходит работа на мобильном устройстве. Возвращается при любом событии кроме «Identification».
Данные – возвращает штрих-код при событии «Scan».
МассивСКонтролами – Сом-массив в строках которого содержаться все наименования элементов формы текущей формы с их текущими значениями. Строка массива имеет следующий формат: НаименованиеЭлемента;ЗначениеЭлемента;
Наименование элемента – наименование элемента, которое было задано элементу в конфигураторе.
Значение элемента – строковое представление значения элемента формы. Для некоторых элементов есть свои особенности:
Элемент «Поле списка» — возвращается только выделенное значение, или ни чего, если не один из элементов списка не выбран.
Элемент «флажок» возвращает значения:
- «1» — включен.
- «0» — выключен
Элемент «Поле ввода» с типом «Дата» — «xx.xx.xxx», где через точку день, месяц, год.
Для элемента «Табличное поле» получаем данные выделенной строки;
«Наименование;Индекс строки;Колонка1;Колонка2;Колонка3;…
Если наименование нажатой кнопки (События) содержит часть наименования табличного поля, то получаем все строки табличного поля, в формате приведенном выше.
Возвращаемые данные функцией
При возврате данных из функции нужно сформировать аналогичный com-массив, как в параметре «МассивСКонтролами», основное отличие в формате возвращаемой строки, дополнительно указывается значение видимости, доступности элемента, наличие фокуса. Можно возвращать только те элементы, которые нужно изменить, при этом, хотя бы один элемент в массиве должен присутствовать.
Наименование элемента – наименование элемента, которое было задано элементу в конфигураторе.
Значение элемента – строковое представление значения элемента формы.
Видимость элемента – задает видимость элемента формы. Принимает значения:
- «1» — элемент отображается
- «0» — элемент не отображается
Доступность элемента – задает доступность элемента формы. Принимает значения:
- «1» — элемент доступен
- «0» — элемент не доступен
Фокус – задает фокус элементу формы. Принимает значения:
- «1» — фокус установлен элементу формы
- «0» — фокус снят с элемента формы
Для элементов «Поле списка» и «Поле выбора» имеются особенности формата возвращаемых данных. Так как это список, можно передать несколько значений для заполнения списка, каждое значение является отдельным элементом массива. Для очистки списка, в значении элемента нужно использовать пустую строку.
Для элемента «Табличное поле» в формате возвращаемых данных используются команды. Использование команд позволяет управлять заполнением и изменением состава строк в «Табличном поле» на стороне ТСД.
Список команд:
- Add – добавляет строку в «Табличное поле»
- Update – обновляет конкретную строку в «Табличном поле»
- Delete – удаляет конкретную строку в «Табличном поле»
- Insert – вставляет конкретную строку в «Табличное поле»
- Clear – очищает строки в «Табличном поле»
- SelectItem – перевод курсора на конкретную строку «Табличного поля»
- HideColumn – скрывает отдельную колонку в «Табличном поле»
Формат строки выглядит следующим образом:
Наименование табличного поля; Команда; Видимость; Доступность;Фокус; ИндексСтроки; Значение колонки 1; Значение колонки 2; Значение колонки N;…
Вывод диалоговых окон
Для того что бы отобразить ошибку на ТСД в виде предупреждения, необходимо возвратить один элемент com-массива в следующем формате –«ERROR,Текст ошибки».
Так же, для того чтобы не менять элементы формы, можно возвратить com-массив с элементом «SUCCESS,»
Если необходимо вызвать «Диалог вопроса», то необходимо в возвращаемый com-массив добавить элемент -«DoQueryBox; Текст вопроса;», на мобильном устройстве, после нажатия «Yes/No» отработает событие и отдельные параметры будет иметь следующие данные:
- Событие – наименование предыдущего события.
- МассивСКонтролами – все элементы формы плюс «DoQueryBox» со значением «1», если была нажата клавиша «Yes», значение «0», если была нажата клавиша «No».
- Данные – штрих-код, если предыдущие событие было «Scan».
Из выше описанного видно, что функция на стороне 1С принимает исчерпывающую информацию о текущей форме на мобильном устройстве, задача программиста обработать входящие параметры, произвести необходимые операции с базой и возвратить необходимые данные для изменения значений элементов на форме мобильного устройства.
Сканирование штрих-кодов
Сканирование штрих-кодов производиться с помощью камеры устройства, для этого нужно установить приложение Zxing для сканирования штрих-кодов с телефона. Запуск операции сканирования происходит при нажатии на кнопку с наименованием «Scan». При сканировании штрих-кода отрабатывает событие «Scan», которое необходимо обработать на стороне 1С. Для терминалов сбора данных необходимо перевести сканер в режим эмуляции. Пример настройки по ссылке: Настройка сканера терминала сбора данных. В настройках сканера добавить суффикс «Enter». Сканирование необходимо производить в поле ввода на форме. Важно! Наименование поля ввода должно быть «BARCODEBOX». На стороне 1С будет срабатывать событие «BARCODEBOX».
Зарезервированное слово Null
Бывают ситуации, когда нужно изменить видимость/доступность, при этом нет необходимости изменять значение элемента. В данной ситуации можно использовать зарезервированное слово «Null». В строку передаваемых данных вместо значения элемента необходимо указать «Null».
08. Настройка и работа клиента на мобильном устройстве
При первом запуске клиента, необходимо внести настройки:
Окно настроек имеет четыре пункта:
- IP адрес сервера — IP адрес ПК, на котором установлен «Сервер ТСД».
- Порт – порт, который был указан в настройках «Сервера ТСД»
- Время ожидания — время ожидания ответа от сервера в секундах, рекомендуем установить 90 секунд
После сохранения настроек нужно ввести код сотрудника в окне авторизации:
Если были правильно указаны настройки, то на «Сервере ТСД» отобразится событие «Подключение». После подтверждения авторизации появится список форм (операций), которые были созданы в обработке 1С. После выбора необходимой операции, можно начинать работу с программой по алгоритму, заложенному на стороне 1С.
Простой пример
Попробуем создать форму для отображения данных о номенклатуре при сканировании. Данный пример будет актуален для многих конфигураций 1С.
Создаем форму в обработке 1С «ПроверкаНоменклатуры», с размерами экрана мобильного устройства.
На форму поместим два элемента формы: Надпись «Номенклатура» и надпись «Информация». В модуль обработки добавляем следующий код:
Сохраняем обработку. Выгружаем данные параметров формы из 1С. Открываем на мобильном устройстве данную форму, при сканировании получаем следующий результат:
В поставке представлены демонстрационные обработки, в которых содержатся более сложные примеры. В обработках рассмотрены принципы работы со всеми элементами форм, доступные для разработки в системе «AllegroClient».
Остались вопросы?
Оставьте свои данные и мы свяжемся с Вами