Отображение данных из связанных карточек
Данный раздел содержит описание примера серверного расширения. Пример содержит серверное расширение для отображения данных из связанных карточек в табличном контроле. В разметку карточки Документ УД/Исходящий добавляется таблица контрагентов, в колонках которой автоматически показываются e-mail и телефон выбранной в строке организации, загружаемые с сервера отдельным запросом.
Ссылка на пример на GitHub: TableControl.
Пример рассчитан на версию Web-клиента 6.1 или выше.
-
Microsoft Visual Studio 2022.
Сборка и установка
-
Откройте
/Samples.sln
. -
Соберите проект
ServerExtensions > TableControl > TableControlServerExtension
. -
Откройте консоль в папке
ServerExtensions > TableControl > TableControlWebExtension
и выполнить командуnpm install
, затемnpm update
и в концеnpm run build:prod
. -
Скопируйте каталог
SamplesOutput\Content\Modules\TableControlWebExtension
в каталогПуть к сайту Web-клиента\Content\Modules
. -
Скопируйте каталог
SamplesOutput\Extensions\TableControlServerExtension
в каталогПуть к сайту Web-клиента\Extensions
. -
Перезапустите dvwebclient.
Проверка примера
-
Запустите конструктор разметок.
-
Скопируйте разметку просмотра исходящего документа.
-
Выберите условия использования этой разметки.
-
Откройте разметку и добавить в нее элемент управления
Таблица
в режиме Редактирование по месту и 3 столбца. Для таблицы в поле Источник данных секциюPartners Receivers
. -
В первый столбец поместите элемент управления
Подразделение котрагента
в режиме Редактирование по месту, задайте имяsamplePartnersDepartment
. Значение Поле данных выберитеPartner company
. -
Во второй столбец поместить элемент управления
Метка
, задайте имяsampleDepartmentEmail
. -
В третий столбец поместить элемент управления
Метка
, задайте имяsampleDepartmentPhone
. -
На событие
После открытия карточки
элементаroot
задайте функциюsampleDocumentViewCardOpened
. -
Сохранить разметку.
-
Перезапустите dvwebclient.
-
Откройте карточку с этой разметкой, добавить строку в таблицу, выбрать контрагента, обновить страницу.
-
Убедиться, что почта и телефон контрагента заполнились.
Проект "TableControlServerExtension"
Проект-расширение для Web-клиента. Содержит бизнес-логику и скрипт для отображения данных из связанных карточек в табличном контроле.
Демонстрирует расширение функционала с помощью добавления новых сервисов, контроллеров.
Реализован контроллер SamplePartnersController
с методом GetPartnersInfo
, который вызывает сервис ISamplePartnersService
, для получения информации о контрагентах: Phone
, Email
, Name
.