Mobile SMARTS — это программная система, которая представляет собой «конструктор», позволяющий гибко и быстро построить складскую логику из набора высокоуровневых логических блоков. Результатом процесса будет служить список складских операций и документов с четко определенными инструкциями для их выполнения на мобильном терминале. Mobile SMARTS поддерживает любое число типов документов и практически любую сложность операций.
Продемонстрируем это на простом примере для операции поступления товара. Для составления схемы обработки документа требуется составить небольшой план того, как сотрудник будет пользоваться ТСД, обрабатывая поступление. Рассмотрим такой план по шагам.
Постановка первой задачи
Допустим, выгрузка товара начинается с ввода номера пломбы на воротах транспортного средства. Итак, первое, что должен увидеть человек, — окно ввода номера пломбы.
Далее было бы полезным просмотреть содержимое накладной. Допустим, в одной руке у него будет накладная, а во второй — мобильный ТСД с заявкой на эту накладную в электронном виде. Итак, второе — показать содержимое документа.
Теперь необходимо сверить товар по накладной с реальностью и с данными заявки и затем расфасовать приход по палетам. Будем рассматривать вариант, когда товар пришел навалом, и вся передняя стенка заставлена коробками. Необходимо взять свободный поддон и набрать на него коробок одноименного товара. Допустим, коробки обматываются пленкой. Теперь на сцену выходит штриховое кодирование, а именно рулон заранее распечатанных этикеток палет.
Клеить заранее распечатанные безымянные этикетки намного быстрее, чем печатать более информативные этикетки по ходу приемки. Сотрудник берет готовый рулон и налепляет по одной этикетке из рулона на каждый палет.
Наступило время ввода данных. Необходимо сканировать этикетку и ввести данные о палете. Итак, третье — сканирование штрихкода палеты.
Четвертое — ввод номенклатуры товара, сканирование штрихкода коробки или выбор товара из списка.
Пятое — ввод количества.
Данные введены, и нужно переходить к следующей палете, т. е. на шаг 3. А если не нужно больше палет?
Для этого шестое — спросить, не пора ли уже заканчивать приемку.
Реализация плана работы в виде алгоритма документа
Теперь, когда у нас есть план работы сотрудника с мобильным терминалом, его необходимо переложить на язык схемы обработки, понятный Mobile SMARTS. Рассмотрим пример создания такой схемы «с нуля». По шагам:
- Создаем пустую конфигурацию в менеджере баз Mobile SMARTS.
Пустая конфигурация создается по алгоритму, описанному в статье «Заведение базы данных Mobile SMARTS по шаблону»
- Открываем панель управления. Добавляем в «Типы документов» новый тип документа и переименовываем его в «Поступление» (сразу, по F2 или через свойство «Имя»):
- Добавить новое поле «Номер пломбы» в шапку документа
- Последовательно заполняем «Алгоритм» следующим набором действий:
Для добавления действий в алгоритм нажмите правой кнопкой мыши на «Алгоритм» или действие, после которого хотите добавить еще одно, и выберите «Добавить действие». Из списка выберите нужное и нажмите кнопку «Добавить».
Или, выберите нужное действие левой клавишей мыши, удерживая клавишу, перенесите действие в нужное место алгоритма.
- Редактирование поля (подробнее смотрите действие «Редактирование поля»)
- Просмотр строк документа (подробнее смотрите действие «Просмотр записей»)
- Выбор палеты (подробнее смотрите действие «Выбор палеты»)
Для того чтобы выбирать палеты для них должны быть заведены штрихкода с помощью шаблонов. Подробнее смотрите «Добавление контейнеров и палет» и «Шаблоны контейнеров и палет».
- Выбор номенклатуры (подробнее смотрите действие «Выбор номенклатуры»)
- Ввод количества (подробнее смотрите действие «Ввод количества»)
- Запись данных в документ (подробнее смотрите действие «Прямая запись в документ»)
Вопрос (подробнее смотрите действие «Выбор Да/Нет»)
В выпадающем списке напротив «При выборе Да» и «При выборе Нет» отображаются возможные варианты перехода по нажатию таких кнопок:
В нашем случае, при выборе «Да» необходимо назначить переход на действие «Выбор номенклатуры». Для перехода по «Нет» мы создадим меню, в котором будут кнопки для выбора новой палеты с переходом на действие «Выбор палеты» и кнопка для завершения документа, которая будет нужна, если весь поступивший товар был принят (подробнее смотрите действие «Меню»).
Вот и всё, схема обработки готова. Как это будет выглядеть на мобильном терминале?
Результат на терминале
В результате составления схемы обработки документа, выполненной на предыдущем шаге, мы получим на терминале следующую складскую операцию:
- Выбираем созданную нами операцию «Поступление», и выгруженный документ на ТСД, с номенклатурой, которую необходимо принять на склад.
|
- Вводим номер пломбы и сверяем бумажную накладную со списком номенклатуры документа, выгруженного на ТСД.
|
- Выбираем палету, сканируя штрихкод или вводим его вручную.
|
- Сканируем штрихкод поступившего на склад товара или выбираем его из списка.
|
- Вводим количество набранного на палету товара.
|
- Если необходимо продолжить наполнять палету товаром, нажимаем «Да».
|
- Если нужно заполнить другую палету или весь товар принят, нажимаем «Нет». После этого можно выбрать новую палету или завершить работу с документом.
|
Каким же образом «Поступление» попадет на мобильный терминал и как оно окажется в учетной системе?
Схемы взаимодействия с учетной системой (ERP)
Для взаимодействия учетной системы с Mobile SMARTS применяется компонента доступа, с помощью которой учетная система обменивается документами с сервером Mobile SMARTS. Интеграция систем заключается в разработке процедур выгрузки и загрузки данных с Сервера. Эти процедуры создаются непосредственно в учетной системе, на ее внутреннем языке. Работа с Сервером происходит через операции с объектами и функциями, предоставляемыми компонентой доступа через механизм OLE Automation.
Схема взаимодействия между компонентами системы выглядит следующим образом:
- Из учетной системы выгружаются актуальные справочники товаров, единиц измерения, типов упаковки и т. д. Процедура выполняется по мере изменения этих данных в учетной системе;
- Из учетной системы на сервер Mobile SMARTS выгружаются задания на выполнение пользователям в виде документов Mobile SMARTS;
- Клиентское приложение загружает информацию о структуре системы, справочники и задания с cервера Mobile SMARTS;
- Пользователь выполняет загруженные задания;
- Клиентское приложение Mobile SMARTS выгружает на сервер обработанные документы и измененные справочники (если такие изменения происходили);
- С помощью разработанных процедур загрузки выполненные задания и измененные справочники загружаются в учетную систему.
Пример выгрузки документа из учетной системы в Mobile SMARTS
На примере кода для «1С:Предприятие 7.7»:
//создание объекта документа и заполнение его шапочной части
document = СоздатьОбъект("Cleverence.Warehouse.Document");
document.Id = СформироватьИдентификатор(парДокумент, парТипДокумента);
document.Name = Строка(парДокумент);
document.UserName = имяПользов;
document.CreateDate = парДокумент.ДатаДок;
document.DocumentTypeName = парТипДокумента;
document.InProcess = 0;
document.Finished = 0;
document.Modified = 0;
document.WarehouseId = 1;
document.Description = "приемка товара";
document.Priority = парДокумент.Приоритет;
document.Barcode = глШтрихКод("ЗаявкаНаПоставку", парДокумент.НомерДок);
document.DistributeByBarcode = 0;
//заполнение табличной части
парДокумент.ВыбратьСтроки();
Пока парДокумент.ПолучитьСтроку() <> 0 Цикл
лКоличество = парДокумент.Количество * парДокумент.Единица.Коэффициент;
documentItem = СоздатьОбъект("Cleverence.Warehouse.DocumentItem");
documentItem.ProductId = парДокумент.Товар.Код<;
documentItem.PackingId = "pid1";
documentItem.CurrentQuantity = 0;
documentItem.DeclaredQuantity = лКоличество;
document.DeclaredItems.Add(documentItem);
КонецЦикла;
// Создание объекта коннектора и инициализация его соединения с сервером
connector = СоздатьОбъект("Cleverence.Warehouse.StorageConnector");
connector.InitializeServerConnection(СокрЛП(Константа.ПолучитьАтрибут("СтрокаПодключения")));
//создание коллекции документов для выгрузки
outDocuments = СоздатьОбъект("Cleverence.Warehouse.DocumentCollection");
//добавление документа в коллекцию выгружаемых документов
outDocuments . Add ( document );
//выгрузка документов
connector . SetDocuments ( outDocuments );