Документы Mobile SMARTS
Документ — это встроенный тип данных платформы Mobile SMARTS.
Это объект, которым оперирует сервер и клиент Mobile SMARTS. Документы используются как для хранения и передачи задания на мобильное устройство, так и для получения результатов работы и загрузки их в учётную систему.
Каждый документ имеет собственный тип, который определяет правила загрузки и обработки документа на мобильном устройстве.
Виды документов
Документы попадают на терминал разными путями. Есть три пути возникновения документов на терминале.
-
Документ выгружается из внешней системы
Документ внешней системы и документ Mobile SMARTS — это разные вещи. Работая с документом на терминале, мы не работаем напрямую с документом внешней системы.
Внешняя система формирует документ для терминала на базе собственного документа и выгружает его на сервер. Потом этот документ, по различным алгоритмам захватывается терминалом и попадает к нему на обработку. На терминале этот документ обрабатывается, согласно заданному алгоритму и по завершении возвращается на сервер. После этого учетная система может его загрузить с сервера интерпретировать данные и загрузить эти данные в определенный документ учетной системы.
-
Документ создается на ТСД
Есть задачи, когда исходного документа в учетной системе нет, например, приемка товара по факту (пришел товар, его необходимо отсканировать, а результат загрузить в новый документ учетной системы).
Платформа Mobile SMARTS позволяет создавать документы непосредственно на терминале (если разрешено конфигурацией, для данного типа документа). По завершению они попадут на сервер, а учетная система загрузит данные в свой документ.
Возможность создания документа на ТСД настраивается в панели управления Mobile SMARTS для каждого типа документа. Алгоритмы обработки документов созданных на ТСД и загруженных из учетной системы могут быть одинаковыми, а могут и отличаться, в зависимости от поставленных задач.
-
Виртуальный документ
«Виртуальный» означает, что никаких документов на терминале сбора данных сохраняться не будет. Виртуальный документ существует только во время выполнения процесса, при этом с сервера никаких документов не выгружается и обратно не загружается. При нажатии кнопки с названием виртуального типа документа в основном меню Mobile SMARTS на мобильном терминале мы не увидим списка документов. Вместо этого автоматически создастся новый документ соответствующего типа, и на экране терминала мы увидим первое окно в программе обработки документов этого типа.
Типы и структура документов
Каждый документ относится к определенному типу (объекты Cleverence.Warehouse.DocumentType), который и описывает правила обработки документа пользователем и системой. В качестве таких типов могут быть названы, например, операция приемки ТМЦ, операция отгрузки ТМЦ, операция внутреннего перемещения и т.д.
Имя типа документа является его внутренним наименованием, по которому система его идентифицирует. Именно это имя используется везде, где надо определить конкретный тип документа, например, при выгрузке конкретного документа, чтобы указать к какому типу он относится.
Имя типа документа должно быть уникальным.
Отображаемое имя — имя типа документа, которое отображается в типах документов панели управления и в главном меню клиента Mobile SMARTS на терминале.
![]() | ![]() |
Имя типа и отображаемое имя могут отличаться, хотя могут и быть заданы одинаковыми.
Таким образом, для функционирования системы разработчик должен описать возможные типы документов и правила их обработки.
Каждый тип документа содержит:
| Поле | Описание |
| Алгоритм | Дерево действий, задающих точную последовательность обработки документов данного типа на терминале сбора данных. |
| Основные поля шапки | Набор основных полей шапки документа. |
| Основные поля строки | Набор основных полей для строк документа. |
| Дополнительные поля шапки | Набор дополнительных полей шапки документа. Например, для документов проверки состояния транспортного средства в шапку можно добавить номер пломбы. |
| Дополнительные поля строки | Набор дополнительных колонок в табличных частях документа. Указанные данные будут присутствовать в каждой строке документа. Например, это могут быть «Цвет», «Размер», «Цена» и т.д. |
| Дополнительные табличные части | Произвольное число дополнительных табличных частей с произвольно заданными колонками. Например это могут быть таблицы поиска чего‑нибудь или локальные справ очники документа. |
| Ошибки | Список ошибок, которые могут возникнуть при выполнении документов данного типа и быть прикрепленными к такому документу. Например, ошибка «Ячейка занята» для документов типа «Размещение». |
| Строки подвала | Список строк, выводимых в нижней части окна ТСД при обработке документов данного типа (по аналогии со строкой состояния в офисных приложениях). |
Части документа
Основной единицей любой складской операции в системе Mobile SMARTS служит документ (объект Cleverence.Warehouse.Document при выгрузке из учетной системы).
Каждый документ состоит из шести частей:
| Наименование | Описание | Подробнее |
| Шапка документа | Содержит общую информацию о документе, такую как его тип, имя, текстовое описание документа, кому назначен, штрихкод, дата создания документа, кто выполнял и т. д. | Подробнее >>> |
Декларативная табличная часть документа {Document.DeclaredItems} | Содержит строки с информацией о товаре, его количестве, ячейке размещения и т.д. По сути, описывает задание для выполнения. Эта коллекция строк обычно заполняется в учетной системе при выгрузке документа. | Подробнее >>> |
Реальная табличная часть документа {Document.CurrentItems} | Фактическая табличная часть документа. В нее заносятся реально отсканированные данные. При заполнении фактической части система производит сверку и сопоставление данных со строками в декларативной (плановой) части документа. При выгрузке документа из учетной системы CurrentItems в большинстве случаев остается незаполненной. | |
| Дополнительные табличные части | Кроме общих дополнительных таблиц существуют локальные таблицы документов. Такие таблицы встроены прямо в документ и доступны только ему. Возможности работы с такими табли цами точно такие же, как и с общими. | Подробнее >>> |
| Коллекция ошибок | Коллекция логических ошибок работы самого процесса. | |
Коллекция привязок признаков {Document.ClassificatorUsings} | Флажки, проставленные различным объектам в процессе работы пользователя с документом. В качестве таких объектов могут выступать ячейки, палеты, товары и сам документ. Эти флажки будут содержаться в документе и не имеют отношения к полям самих объектов, т.е. простановка этих флажков не влияет на объекты, которым они проставлены. В качестве флажков могут выступать «тип брака», «занято» и т.д. Указанные в документе флажки используются кодом загрузки документа в учетную систему для исполнения той или иной складской логики, связанной с ними. |
Поля шапки документа
Шапка документа содерж ит общую информацию о документе.
Основные поля шапки
| Поле [русский синоним] | Заполнение | Описание |
| Id [Ид] | Обязательно при выгрузке | Идентификатор документа. Обязательно заполняется при выгрузке документа и должен иметь уникальное значение. |
| Name [Имя] | Обязательно при выгрузке | Отображаемое имя документа. Обязательно заполняется при выгрузке документа. |
| Appointment [Назначение] | Может не заполняться | Назначение документа — код пользователя или имя группы, которым данный документ назначается на исполнение. Если значение пустое, то документ попадает к первому свободному пользователю, которому разрешен тип документа. |
| UserId [ИдПользователя] | В процессе захвата документа | Идентификатор пользователя, который выполнил документ. Должен иметь уникальное значение для каждого пользователя. Еcли ID пользователя в документе и на ТСД не совпадает, то документ на ТСД не отобразится. |
| DocumentTypeName [ИмяТипаДокумента] | Обязательно пр и выгрузке | Имя типа документа. Обязательно заполняется при выгрузке документа и должно иметь уникальное значение. |
| Modified [Изменен] | В процессе работы на ТСД | Признак того, что документ был изменен. Заполняется при изменении документа одним из пользователей. |
| InProcess [ВОбработке] | В процессе работы на ТСД | Признак того, что документ захвачен пользователем на обработку. Заполняется, когда документ был захвачен пользователем. |
| Finished [Завершен] | В процессе работы на ТСД | Признак того, что обработка документа пользователем была завершена, и его можно забирать назад в учетную систему. Заполняется, когда работа с документом была завершена на терминале. |
| WarehouseId [ИдСклада] | Обязательно при выгрузке | Идентификатор склада, к которому привязан документ. Должен иметь уникальное значение для каждого склада. |
| Barcode [Штрихкод] | Может не заполняться | Штрихкод документа. Для выбора документа по штрихкоду на терминале или на сервере должен быть обязательно заполнен. |
| Priority [Приоритет] | Может не заполнят ься | Приоритет документа. Более приоритетные документы раньше отдаются на терминал для обработки. |
| DistributeByBarcode [ВыдаватьПоШтрихкоду] | Может не заполняться | Признак выдачи документа по штрихкоду. Документы с таким признаком не поступают на мобильный терминал автоматически, а могут быть выбраны с сервера только по штрихкоду. Свойство может успешно применяться только при наличии постоянной связи с сервером. |
Кроме полей указанных в таблице, в шапке документа могут быть и другие поля: текстовое описание документа, дата создания документа и т. д.
Значения полей в шапке документа могут быть изменены в любой момент.
Данные полей можно посмотреть в панели управления в закладке «Документы».
Дополнительные поля
Кроме основных полей могут выгружаться и дополнительные поля шапки, если такие имеются. Например, КонтрольКолва, ПоЯчейкам, Contractor, Currency и т.д.
Такие поля, также как и основные, могут быть заполнены при выгрузке (заполнены частично). За полнение этих полей может происходить в процессе работы на терминале. Если в поле указывается шаблон для вычислимой колонки, значение такой колонки для объекта не проставляется пользователем и не выгружается из вне. При каждом запросе она вычисляется согласно шаблону.
Добавить дополнительные поля шапки документа можно в панели управления. В конфигурации раскройте узел, соответствующий нужному типу документа, правой кнопкой мыши нажмите на «дополнительные поля шапки» и нажмите кнопку «Добавить поле».
Теперь введите имя поля, выберите его тип и при необходимости введите шаблон (для вычислимой колонки).

