Поиск блогу

четверг, 10 марта 2011 г.

Добавление пользовательского свойства карточки в представление

Новые карточки создаются изначально на свойствах, позже, конечно, карточку переводят на поля для удобства работы с ней, но не всегда полностью. Также, если Вы создали новый вид стандартной карточки и напичкали ее пользовательскими свойствами, то скорее всего встанет проблема доступа к ним.
Посмотрим, как можно обратиться к такому свойству при настройке представлений.

Пусть у нас есть карточка договора, настроенная как дополнительный вид входящего документа через справочник типов. В карточке договора используется часть полей из карточки входящего документа (Тема, дата создания и пр.), но также имеются пользовательские свойства (Примечание, сумма договора, сумма аванса, контрагент и его адрес и тд.). Задача усложняется, если пользовательские настройки вида содержат табличный контрол.

В примере Договора в табличном контроле 2 столбца: Контрагент и его адрес.
Free Image Hosting at www.ImageShack.us
Задача: вывести в представлении фамилию контрагента. Вот так:
Free Image Hosting at www.ImageShack.us

Сначала делаем все, как и при обычном создании представления: создаем представление, добавляем колонки.
Затем нужно сделать следующие присоединения:
1.Free Image Hosting at www.ImageShack.us
Привязываем свойство с названием "Контрагент", принадлежащее данной карточке (InstanceID)
2.Free Image Hosting at www.ImageShack.us
Не очевидная привязка выбранных значений. Нужна, так как столбец табличного контрола представляет собой массив. После этого в после "Выбранное значение" будут находиться идентификаторы контрагентов
3.Free Image Hosting at www.ImageShack.us
Получение по Идентификатору из выбранного значения информации о контрагенте.

После перечисленных привязок можно сделать присвоение колонке значения поля Фамилия из привязанной карточки контрагентов:
Free Image Hosting at www.ImageShack.us

P.S. Если есть проблема с добавлением простого (не табличного) пользовательского свойства в представление, дайте знать в комментах. В таком случае напишу и про них.