1С CRM 2.0 (2.0.5.2): Извлечение полей из табличной части "Дополнительная информация"
Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.
Доступ к форуму партнерам «1C-Рарус» по дистрибуции предоставляется на сайте
rarus-soft.ru
Читают тему
Как программиста меня интересует вопрос извлечения значений полей из табличной части "Дополнительная информация" для заполнения параметров при печати.
Особенностей таких полей то какая: создаются самостоятельно пользователями, а не в конфигурации. Потому здесь нужен другой подход. Какой?
Вот какие реквизиты используются в дополнительной информации: Свойство, Значение.
Свойство - наименование поля, а Значение - содержание.
Необходимо получить значение согласно описываемому свойству (в примере ниже не предусмотрено).
Например, в Дополнительной информации контактного лица введена новая запись, где свойство "Действует на основании", а в значении произвольное строковое значение, в зависимости от определенного лица.
Пример кода, как бы позволяющего получить нужное значение:
Результатом здесь является пустая строка. Согласно РезультатуЗапроса, в Выборке находится одна единственная запись. Вроде всё верно. Но все же не работает как надо.
Пожалуйста, помогите решить данную проблему.
|ВЫБРАТЬ ПЕРВЫЕ 1
| ДополнительнаяИнформация.Значение КАК ЗначениеСвойства
|ИЗ
| Справочник.КонтактныеЛицаПартнеров.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|ГДЕ
| ДополнительнаяИнформация.Ссылка = &Ссылка
| И ДополнительнаяИнформация.Свойство = &Свойство");
Запрос.УстановитьПараметр("Ссылка", Объект.Партнер.CRM_ОсновноеКонтактноеЛицо);
Запрос.УстановитьПараметр("Свойство", Ссылка_На_Описываемое_Свойство);
// Где Ссылка_На_Описываемое_Свойство - это значение типа ПланВидовХарактеристикСсылка.CRM_ДополнительнаяИнформация,
// для приведенного выше примера должна быть ссылкой на элемент "Действует на основании"
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗначениеСвойства = Выборка.ЗначениеСвойства;
Иначе
ЗначениеСвойства = ""; // нет такого свойства
КонецЕсли;