У документа Mobile SMARTS всегда как минимум две табличные части (основные). Это декларативная (заявленнная) и фактическая (реальная) табличные части.
В алгоритмах конкретных действий все сводится к работе с этими таблицами. Каждая табличная часть это набор стандартных и дополнительных полей.
Декларативная часть (DeclaredItems) содержит строки с информацией о, ожидаемом товаре, его ожидаемом количестве, ячейке размещения и т.д. По сути, описывает задание для выполнения. Эта коллекция строк обычно заполняется в учетной системе при выгрузке документа.
Фактическая часть (CurrentItems) сохраняет именно факт, что было сканировано, код товара, конкретный тип упаковки, ячейку, серийные номера, цвет и т. д. Фактическая часть используется в процессах, чтобы заносить максимально полные данные по товару, который был отсканирован. По мере сканирования товара в мобильном клиенте, в нее будут заноситься строки записей обо всех выполненных операциях. Заполняются только те колонки, содержимое которых было получено из штрихкода или введено вручную пользователем. При выгрузке документа из учетной системы фактическая часть (CurrentItems) в большинстве случаев остается незаполненной, и заполняется уже по ходу выполнения операции на ТСД.
В обеих табличных частях есть по два количества – плановое и фактическое. Плановое количество (DeclaredQuantity) в декларативной части задает ожидаемое количество товара по операции. Фактическое количество (CurrentQuantity) в декларативной части заполняется уже по мере работы с документом на мобильном терминале, отражая реальное количество обработанного товара, соответствующее той или иной строке декларативной части. Фактическое количество в декларативной части удобно использовать при загрузке документа назад, в учетную систему, т.к. оно выражено в тех же единицах, в которых выгружалось.
Плановое количество в реальной части показывает, сколько товара из принятого по данной строке фактической части было запланировано. Например, если в декларативной части предусматривалось 10 единиц товара, а на деле принято 25 двумя партиями в 8 и 17 штук (две строки), то выглядеть это будет так:
Декларативная часть |
||
товар |
Плановое кол-во | Фактическое кол-во |
ТОВАР №1 | 10 | 25 |
Фактическая часть |
||
товар | Плановое кол-во |
Фактическое кол-во |
ТОВАР №1, 1я партия | 8 | 8 |
ТОВАР №1, 2я партия | 2 | 17 |
Наличие двух таких табличных частей дает необходимую гибкость для настройки процесса.
Структура данных у обоих табличных частей одинаковая, а смысл немного разный.
Например, мы выгрузили из учетной системы задание, нам необходимо принять 15 коробок товара. Пользователь, выполняя это задание, заносит данные.
В декларативной части в колонках количество и упаковка может стоять 15 коробок (1 строка).
В фактической части в колонках количество и упаковка будут 1 ящик (по 10 коробок) и 5 отдельных коробок (2 разные строки с разными единицами измерения). При занесение этих данных в декларативную часть произойдет пересчет упаковки (ящики пересчитаются в коробки) в заявленные единицы измерения товара.
Таблица стандартных полей:
Наименование поля англ. [рус] |
Описание |
ProductId [ИдТовара] | Идентификатор товара для которого описана данная позиция |
DeclaredQuantity [КоличествоПлан] | Плановое количество в позиции. Свойство заполняется при выгрузке документа из учетной системы, чтобы ограничить объем товара данного типа, с котором оперирует пользователь в документе. |
CurrentQuantity [КоличествоФакт] | Фактическое количество товара в позиции. Показывает какое реальное количество товара задействовано пользователем. |
FirstStorageBarcode [ШтрихкодПервогоМеста] | Штрихкод первого места хранения к которой привязан товар. В качестве места может выступать ячейка или палета. |
Packing [Упаковка] | Возвращает упаковку в строке. До обращения к этому свойству товары должны быть загружены с использованием функции StorageConnector.GetProducts [ПолучитьСправочникТоваров](). |
SSCC [КодЕдиницыХранения] | Serial shipping container code - уникальный номер единицы хранения. Служит для идентификации конкретных экземпляров товара. Заполняется из штрихкода товара по шаблону при выполнении операции. |
ExpiredDate [СрокГодности] | Срок годности товара. Инициализируется при занесении конкретного товара в позицию документа пользователем либо из штрихкода по шаблону, либо ручным выбором. |
SecondStorageBarcode [ШтрихкодВторогоМеста] | Штрихкод второго места хранения к которой привязан товар. В качестве места может выступать ячейка или палета. |
BindedLine [СвязаннаяСтрока] | Задает связь строки из CurrentItems [СтрокиФакт] со строкой в DeclaredItems [СтрокиПлан]. |