Кроме уже встроенных в систему справочников, система позволяет создавать и использовать дополнительные таблицы с данными.
Такие таблицы могут использоваться для совершенно различных задач: выгрузка дополнительных справочников, например, контрагентов или подразделений; хранение схемы расположения номенклатуры на складе и т.п.
Дополнительные таблицы бывают трех видов:
- Таблица документа;
- Серверная таблица;
- Локальная таблица, загружаемая на ТСД.
Рассмотрим все виды таблиц по порядку.
Таблицы документа
Таблица документа хранится непосредственно в самом документе и, соответственно, загружается на ТСД вместе с ним. Применять такие таблицы следует для хранения данных, используемых в контексте данного документа. К примеру, в документе подбора дополнительную таблицу можно использовать для хранения информации о расположении подбираемого товара на складе. Рассмотрим создание такой таблицы по шагам.
Создание таблицы
Для создания таблицы документа воспользуйтесь панелью управления:
Параметр «Серверная таблица» для таблиц документа не играет никакой роли. Они всегда загружаются на ТСД вместе с документом.
Заведите необходимые колонки таблицы и задайте им используемые типы данных:
Поиск в таблице
Для поиска строк в таблице следует использовать действия «Выбор строки» (для поиска одной строки) или «Выбор строк» (для выбора группы строк). В нашей задаче мы будем использовать выбор одной строки, чтобы найти возможное местоположение товара на складе.
Добавим действие «Выбор строки» после сканирования товара и зададим параметры поиска:
Теперь отобразим в заголовке следующего действия информацию из найденной строки:
Изменение данных в таблице
Важное отличие таблиц документа от других видов таблиц: возможность внесения изменений в строки таблицы на ТСД и добавление новых строк.
Правку таблицы можно осуществлять с помощью действия «Присваивание».
Для добавления новой строки в таблицу следует использовать вызов функции AddNew() для коллекции строк таблицы. Функция создает новую строку в таблице и возвращает ее в качестве результата.
Получение новой строки с помощью действия «Присваивание»:
При завершении документа все измененные данные и новые строки вместе с документом попадут на сервер, и их можно будет загрузить и обработать в учетной системе.
Серверные и локальные таблицы
Серверные и локальные таблицы не привязаны к конкретному документу, доступ к их данным можно получить из любого процесса. Такие таблицы могут использоваться для хранения дополнительных справочников системы, например списка контрагентов или хранения остатков по местам хранения (не по конкретному документу, а полностью по всему складу).
Создадим таблицу для хранения контрагентов:
Параметр «Серверная таблица» определяет, будет ли таблица храниться на сервере или локально загружаться на ТСД при обмене данными. У обоих вариантов свои достоинства и недостатки: серверная таблица может использоваться только при наличии Wi-Fi сети, но при этом может быть любого размера и позволяет получать наиболее актуальные данные прямо с сервера. Локальная таблица загружается на терминал, поэтому может использоваться в batch режиме, но это накладывает ограничения на размер таблицы из-за того что она, загружаясь на терминал, занимает программную память терминала. Мы не рекомендуем использовать локальные таблицы, если количество записей в ней будет более 2000.
Поиск в таблице
Также как и в таблицах документа, для поиска в серверной или локальной таблице следует использовать действия «Выбор строки» или «Выбор строк».
В качестве параметра From в запросе следует указать шаблон с именем таблицы, например {Контрагенты}.
Изменение данных в таблице
В отличие от таблиц документа, изменение данных в серверных или локальных таблицах с ТСД – невозможно.
Отображение данных таблиц в виде списка
Отображение данных в виде списка доступно только для локальных таблиц на ТСД или таблиц документа. Серверные таблицы такую возможность не поддерживают.
Для отображения данных таблицы и выбора строки пользователем следует использовать действие «Просмотр записей», также как и для строк документа. В качестве параметра From в запросе следует указать шаблон с именем таблицы, например {Контрагенты}.