Привязка данных к пакету
Glossary Item Box
Общие сведения
При поставке пользователям пакетов часто возникает потребность предоставлять вместе с разработанной функциональностью также и некоторые данные. Это может быть, например, наполнение справочников, новые системные настройки, демонстрационные записи раздела и т. п.
Привязать необходимые данные к пакету, содержащему разработанную функциональность, можно на вкладке [Данные] раздела [Конфигурация]. Основные сведения об этой вкладке, а также рекомендации и типовые ошибки привязки данных приведены в статье "Раздел [Конфигурация]. Вкладка [Данные]".
Описание примера
Для пользовательского раздела [Книги] ([Books]) необходимо привязать две демонстрационные записи и связанные с ними записи других разделов.
При создании раздела с помощью мастера к пакету автоматически привязываются данные, необходимые для регистрации и корректной работы раздела (рис. 1).
Рис. 1. — Наборы данных, привязанные к пакету мастером разделов
Исходный код
Пакет с реализацией примера можно скачать по ссылке.
Алгоритм реализации примера
1. Создать новый раздел [Книги]
Функциональность нового раздела следует создавать в отдельном пакете разработки. Чтобы мастер раздела создавал схемы в пакете разработки, необходимо выбрать этот пакет в колонке [Значение по умолчанию] ([Default value]) системной настройки [Текущий пакет] ([Current package]). После завершения работы мастера в качестве текущего можно установить пакет [Custom].
Для создания нового раздела [Книги] воспользуйтесь мастером разделов. Свойства раздела и расположение полей на странице редактирования записей показаны на рис. 2 и рис. 3.
Рис. 2. — Свойства раздела [Книги] ([Books])
Рис. 3. — Свойства страницы редактирования записей
Основные свойства колонок страницы редактирования приведены в таблице 1.
Табл. 1. — Свойства колонок страницы редактирования записей раздела
Заголовок | Название (Код в БД) | Тип данных |
---|---|---|
Название (Name) | UsrName | Строка (String). |
Описание (Description) | UsrDescription | Строка (String). Многострочный текст (Multiline text). |
ISBN | UsrISBN | Строка (String). |
Автор (Author) | UsrAuthor | Справочник [Контакт] ([Contact]). Значение колонки будет привязано к одной из записей раздела [Контакты]. |
Издатель (Publisher) | UsrPublisher | Справочник [Контрагент] ([Account]). Значение колонки будет привязано к одной из записей раздела [Контрагенты]. |
Стоимость (Price) | UsrPrice | Дробное число (Decimal). |
2. Добавить в раздел необходимые записи
Добавьте в раздел две демонстрационные записи (рис. 4). При необходимости также создайте записи в связанных разделах [Контакты] и [Контрагенты].
Рис. 4. — Записи раздела
3. Привязать к пакету данные о контактах
Поскольку записи раздела [Книги] связаны с записями раздела [Контакты] по колонке UsrAuthor, то сначала необходимо привязать к пакету сведения об авторах. Для этого выполните действие [Добавить] ([Add]) на вкладке [Данные] ([Data]) раздела [Конфигурация] и установите следующие свойства страницы привязки данных (рис. 5):
1. [Название] ([Name]) — "ContactsInBooks".
2. [Объект] ([Object]) — "Контакт" ("Contact").
3. [Тип установки] ([Installation type]) — "Установка" ("Installation"). Возможные типы установки описаны в статье "Раздел [Конфигурация]. Вкладка [Данные]".
4. [Колонки] ([Columns]) — выберите только заполненные колонки. Колонка [Id] должна быть выбрана обязательно.
5. Фильтр данных — отфильтруйте требуемые данные, например, по имени контакта.
Рис. 5. — Страница привязки данных контакта
Рекомендуется использовать фильтрацию по колонке Id (см. следующий шаг), т. к. полное имя контакта может быть изменено.
4. Привязать к пакету данные о контрагентах
Выполните действие [Добавить] ([Add]) на вкладке [Данные] ([Data]) раздела [Конфигурация] и установите следующие свойства страницы привязки данных (рис. 6):
1. [Название] ([Name]) — "AccountsInBooks".
2. [Объект] ([Object]) — "Контрагент" ("Account").
3. [Тип установки] ([Installation type]) — "Установка" ("Installation").
4. [Колонки] ([Columns]) — выберите только заполненные колонки. Колонка [Id] должна быть выбрана обязательно.
5. Фильтр данных — отфильтруйте требуемые данные, например, по идентификатору контрагента. Узнать идентификатор можно из адресной строки браузера, открыв страницу редактирования нужной записи (рис. 7)
Рис. 6. — Страница привязки данных контрагента
Рис. 7. — Определение идентификатора контрагента
5. Привязать к пакету данные пользовательского раздела
Выполните действие [Добавить] ([Add]) на вкладке [Данные] ([Data]) раздела [Конфигурация] и установите следующие свойства страницы привязки данных (рис. 8):
1. [Название] ([Name]) — "Books".
2. [Объект] ([Object]) — "Книги" ("Books").
3. [Тип установки] ([Installation type]) — "Установка" ("Installation").
4. [Колонки] ([Columns]) — выберите только заполненные колонки. Колонка [Id] должна быть выбрана обязательно.
5. Фильтр данных — отфильтруйте требуемые данные. Если раздел содержит только две записи, то фильтр можно не использовать (рис. 8).
Рис. 8. — Страница привязки данных пользовательского раздела
В результате выполнения примера к пакету будут привязаны три дополнительных набора данных для трех разделов (рис. 9).
Рис. 9. — Вкладка [Данные] пакета разработки
Пакет можно выгрузить в архив, используя функциональность экспорта (см. "Перенос изменений при помощи экспорта и импорта пакетов"). После установки пакета в другое приложение все привязанные записи отобразятся в соответствующих разделах.