Предопределенные элементы в расширении
Работа в расширении.
В расширении имеется возможность управлять контролируемостью предопределенных элементов. Для этого необходимо установить признак проверки значения при подключении расширения у свойства Предопределенные.
Я добавил в расширение реквизит АдресЭлектроннойПочты справочника “Учетные записи электронной почты”. При этом, автоматически переносятся имя, код и наименование предопределенного элемента. Однако, у данного справочника есть предопределенный элемент с именем СистемнаяУчетнаяЗаписьЭлектроннойПочты в расширяемой конфигурации, но нет в списке предопределенных значений в расширении конфигурации. Следовательно, не доступны предопределенные элементы с помощью менеджера справочника по имени предопределенного элемента, например, не доступно в расширении такое обращение.
Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты; // Это ошибка в расширении
Для получения значения реквизита АдресЭлектроннойПочты предопределенного элемента СистемнаяУчетнаяЗаписьЭлектроннойПочты нужно использовать в запрос , например:
Функция ПолучитьАдресСистемнойПочты() ЭкспортАдресЭлектроннойПочты ="";
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| УчетныеЗаписиЭлектроннойПочты.Ссылка КАК Ссылка,
| УчетныеЗаписиЭлектроннойПочты.АдресЭлектроннойПочты КАК АдресЭлектроннойПочты
|ИЗ
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|ГДЕ
| УчетныеЗаписиЭлектроннойПочты.ИмяПредопределенныхДанных = &ИмяПредопределенныхДанных";
Запрос.УстановитьПараметр("ИмяПредопределенныхДанных", "СистемнаяУчетнаяЗаписьЭлектроннойПочты");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
АдресЭлектроннойПочты = ВыборкаДетальныеЗаписи.АдресЭлектроннойПочты;
КонецЦикла;
Возврат АдресЭлектроннойПочты; КонецФункции // ()