Платформа Mobile SMARTS версии 3 позволяет вести запись в дополнительную табличную часть документа, по структуре повторяющую таблицу базы данных. При этом, запрос к дополнительной таблице базы данных будет искать и в соответствующей табличной части документа.
В качестве примера записи в дополнительную табличную часть документа будет использована работа с сериями в поступлении, Магазин 15.
Работа с дополнительной табличной частью документа
Каждый документ Mobile SMARTS может использовать табличные части, имеющие имя и структуру, аналогичные дополнительным таблицам базы данных. Создавать вручную такие дополнительные части не нужно, они будут созданы автоматически при записи.
Например, в операции Поступление нет дополнительных табличных частей, но есть дополнительная таблица базы данных Серия:
Запись в дополнительную табличную часть
Запись данных в дополнительную табличную часть документа:
НоваяСтрока = new Cleverence.Warehouse.Row () НоваяСтрока.Поле1 = данные … Document.ИмяТаблицыБазы.Rows.Add (НоваяСтрока) |
---|
Здесь:
НоваяСтрока = new Cleverence.Warehouse.Row () — создание нового объекта строки с именем НоваяСтрока;
НоваяСтрока.Поле1 = данные — заполнение поля строки. Структура полей берётся из таблицы базы данных;
Document.ИмяТаблицыБазы.Rows.Add (НоваяСтрока) — занесение строки НоваяСтрока в табличную часть документа ИмяТаблицыБазы.
Рассмотрим на примере занесения новых серий в операции Поступление. Для записи новых серий используется операция СозданиеСерии:
Как видим, при заполнении полей строки данными, структура полей взята из дополнительной таблицы базы данных Серии. Запись производится в дополнительную табличную часть документа (Document.Серии).
Работа с записанными данными
При запросе в дополнительную таблицу базы данных, поиск будет проводиться и по соответствующей дополнительной табличной части документа.
Например, запрос select (*) from {Серии} выведет все имеющиеся строки из дополнительной таблицы базы данных (Серии) и из дополнительной табличной части документа (Document.Серии).
Можно ограничить поиск только дополнительной табличной частью документа, обратившись только к ней. В этом случае запрос примет следующий вид: select (*) from {Document.Серии}.
При завершении документа все новые строки вместе с документом попадут на сервер, и их можно будет загрузить и обработать в учетной системе.