Запрос дополнительных реквизитов справочника |
Я |
23.12.15 — 14:21
Здравствуйте! Очень нужна помощь! 1С 8.3, УТ 11.1. Как запросом получить дополнительные реквизиты добавленные справочнику через режим предприятия?
1 — 23.12.15 — 14:21
а как вы пытались?
2 — 23.12.15 — 14:21
+ доп реквизиты скорее через ТЧ объекта.
3 — 23.12.15 — 14:22
Значения сидят в ТЧ каждого объекта, а сами реквизиты (их описание) — в соответствующем ПВХ и в справочнике «Наборы значений реквизитов»
4 — 23.12.15 — 14:36
(1) вот именно, что никак, потому что первый раз с этим сталкиваюсь
5 — 23.12.15 — 14:37
(3) вижу у объекта ТЧ доп. реквизиты, но что из нее взять, чтоб работать с нужным мне доп. реквизитами? Под описанием реквизитов имеется ввиду их название из предприятия? Не нашел ничего подобного.
6 — 23.12.15 — 15:14
(5) Реквизит Значение из ТЧ — это значение доп.реквизита.
7 — 23.12.15 — 15:46
(5) ИР тебе в помощь — там увидишь стркутуру ТЧ и данные, в ней хранящиеся
8 — 23.12.15 — 15:50
(0)
ВЫБРАТЬ * ИЗ Документ.Мегадокумент.ТЧ_Допреквизитов
9 — 24.12.15 — 09:27
В общем у меня получилось достать данные доп. реквизитов.
Вот код запроса:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«МассивОбъектов»,МассивОбъектов);
Запрос.Текст = «ВЫБРАТЬ
| ЗаказКлиента.Номер,
| ЗаказКлиента.Дата КАК ДатаДоговора,
| ЗаказКлиента.Контрагент.Наименование КАК ПокупательКратко,
| ЗаказКлиента.Контрагент.НаименованиеПолное КАК ОрганизацияПокупатель,
| ЗаказКлиента.Контрагент.ИНН КАК ИННПокупателя,
| ЗаказКлиента.Контрагент.КПП КАК КПППокупателя,
| ЗаказКлиента.СуммаДокумента,
| ЗаказКлиента.БанковскийСчетКонтрагента.НомерСчета,
| ЗаказКлиента.БанковскийСчетКонтрагента.БанкДляРасчетов,
| ЗаказКлиента.БанковскийСчетКонтрагента.БИКБанкаДляРасчетов,
| ЗаказКлиента.Контрагент.ДополнительныеРеквизиты.(
| Свойство.Ссылка КАК Название,
| Значение КАК Значение
| ),
| ЗаказКлиента.Товары.(
| НомерСтроки,
| Номенклатура.Наименование,
| Упаковка.ЕдиницаИзмерения,
| КоличествоУпаковок,
| Цена,
| Сумма
| )
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
|ГДЕ
| ЗаказКлиента.Ссылка В(&МассивОбъектов)»;
Запрос.Выполнить().Выгрузить();
Как теперь достать из массива нужные мне доп. реквизиты по отдельности?
10 — 24.12.15 — 09:59
Ну пожалуйста, помогите! Нигде в гугле не могу найти как это сделать.
11 — 24.12.15 — 10:04
(10) ты же в (9) все уже сделал
12 — 24.12.15 — 10:06
(11) не все. У меня доп. реквизиты в массиве кучей. Теперь мне нужно вычленить их по отдельности.
13 — 24.12.15 — 10:07
Вычленяй
14 — 24.12.15 — 10:07
У тебя в результате есть поле «ДополнительныеРеквизиты»
15 — 24.12.15 — 10:07
Это таблица значений из двух колонок «Название» и «Значение»
16 — 24.12.15 — 10:08
Свойство.Ссылка КАК Название, замени на Свойство КАК Название,
17 — 24.12.15 — 10:10
(15) ну да, я знаю, я как бэ в курсе) В этой таблице 3 доп. реквизита. Теперь мне нужно их по отдельности заполучить.
18 — 24.12.15 — 10:13
(16) заменил. Так что мне это даст?
19 — 24.12.15 — 10:14
(17) У тебя три реквизита. Значит в таблице 3 строки. Что именно ты хочешь?
20 — 24.12.15 — 10:14
Отдельно получаю:
СтрокаТЧ.ДополнительныеРеквизиты[0].Значение — 1 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[1].Значение — 2 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[2].Значение — 3 реквизит
21 — 24.12.15 — 10:15
Отдельно? Отдельно
22 — 24.12.15 — 10:17
(0) А запрос где ты писать будешь?
23 — 24.12.15 — 10:19
(22) запрос уже написан, смотри выше
24 — 24.12.15 — 10:21
(19) нужно получить значение доп. реквизита и присвоить его отдельной переменной, для дальнейшего использования.
25 — 24.12.15 — 10:21
(20) этот код не работает
26 — 24.12.15 — 10:22
(23) я понял, что написан. ты его в конфигураторе пишешь или где?
27 — 24.12.15 — 10:23
(23)Что именно у тебя не получается?
28 — 24.12.15 — 10:23
Спорим работает?
29 — 24.12.15 — 10:23
(26) эм, ну да, через конфигуратор, в модуле внешней обработки.
30 — 24.12.15 — 10:24
ТЗ = Запрос.Выполнить().Выгрузить();
СтрокаТЧ = ТЗ[0];
СтрокаТЧ.ДополнительныеРеквизиты[0].Значение; // 1 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[1].Значение; // 2 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[2].Значение; // 3 реквизит
31 — 24.12.15 — 10:24
И почему у меня то все получается?
32 — 24.12.15 — 10:26
(31) вылетает ошибка: неопознанный оператор.
33 — 24.12.15 — 10:26
В какой строке?
34 — 24.12.15 — 10:26
(30) так должно работать)
35 — 24.12.15 — 10:29
(33) в этих трех:
СтрокаТЧ.ДополнительныеРеквизиты[0].Значение;// 1 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[1].Значение;// 2 реквизит
СтрокаТЧ.ДополнительныеРеквизиты[2].Значение;// 3 реквизит
36 — 24.12.15 — 10:30
1) точку с запятой пропустил
2) Это просто пример. Ну сделай так:
Реквизит1 = СтрокаТЧ.ДополнительныеРеквизиты[0].Значение;
Реквизит2 = СтрокаТЧ.ДополнительныеРеквизиты[1].Значение;
Реквизит3 = СтрокаТЧ.ДополнительныеРеквизиты[2].Значение;
37 — 24.12.15 — 10:32
(36) Ошибок нет. Теперь этим реквизиту 1,2 и 3 присвоено значение тех доп. реквизитов?
Nolan
38 — 24.12.15 — 10:34
(37) Посмотри как пользоваться отладчиком. Тогда ты сможешь сам проверять значения.
Опубликовано в Статьи по 1С 27.10.2018
В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. Принцип работы дополнительных реквизитов и сведений, их добавление и получение значений.
Отличие дополнительного реквизита от дополнительного сведения в том, что
- Дополнительные реквизиты – список реквизитов, доступных в форме документа или справочника; причем эти реквизиты хранятся в табличной части объекта, к которому они добавлены;
- Дополнительные сведения – список значений доступных по дополнительной кнопке; причем доп. сведения хранятся в отдельном регистре.
После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.
Как получить 1С дополнительные реквизиты и сведения программно:
Для получения дополнительных данных используем запрос, в котором получим значение дополнительных реквизитов и сведений:
////
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДополнительныеСведения.Свойство,
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Объект»;
Запрос.УстановитьПараметр(«Объект», СсылкаДокумент);
////
Для получения дополнительного реквизита использую код вида:
////
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| НоменклатураДополнительныеРеквизиты.Свойство,
| НоменклатураДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
|ГДЕ
| НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
| И НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка»;
Запрос.УстановитьПараметр(«Ссылка», СсылкаДокумент);
Запрос.УстановитьПараметр(«Свойство», ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Коэффициент бруто»));
////
Теперь вы без труда сможете добавить и получить необходимые дополнительные 1С данные без снятия конфигурации 1С с поддержки и изменения типовой конфигурации. Без сомнения, такой инструмент должен быть в арсенале 1С программиста и активно использоваться в работе.
На чтение 2 мин. Просмотров 635 Опубликовано 15.12.2019
Примеры работы с дополнительными реквизитами.
Как получить значение дополнительного реквизита:
Пример: мы делаем печатную форму документа «Заказ клиента» и хотим вывести на неё значение определённого дополнительного реквизита — «Должность покупателя».
Используем вложенный запрос, в котором соединяем левым соединением таблицу «Дополнительные реквизиты» документа «Заказ клиента» с Планом видов характеристик «Дополнительные реквизиты и сведения». Устанавливаем условие: заголовок дополнительного реквизита должен быть таким – «Должность покупателя». Таблицы соединяем по ссылке на «Заказ клиента».
Получается вот такой запрос:
Также можно использовать метод НайтиПоНаименованию ( «***» ) .
Переменная Ссылка – это ссылка на «Договор контрагента».
Проверка на предмет того, что дополнительный реквизит заполнен:
Как изменить значения дополнительных реквизитов:
Задействуем общий модуль УправлениеСвойствами , который входит в состав БСП.
Юзайте на здоровья!
3 thoughts on “Получить значение дополнительных реквизитов 1С 8”
Спасибо, очень помогло.
К сожалению, на строчке
Запрос.УстановитьПараметр(«Объект», Объект);
спотыкается и отказывается дальше работать
Как редактировать доп реквизиты:
редактировать их состав можно тут:
хранятся они тут:
где типы реквизитов:
получить их в запросе можно так:
НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
НоменклатураДополнительныеРеквизиты.Ссылка.Код КАК Код,
НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
НоменклатураДополнительныеРеквизиты.Значение КАК Значение
Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
Разберем что откуда берется.
Дополнительные реквизиты заводятся в «ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения» и там же указан тип значений допРеквизитов:
ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
ДополнительныеРеквизитыИСведения.ТипЗначения КАК ТипЗначения
ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
Для справки: Кроме ссыка и типЗначения в «ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения» хранится куча свойств этих реквизитов
Если указан типЗначеня «ДополнительноеЗначение», то виды этих доп значений можем посмотреть тут:
ЗначенияСвойствОбъектов.Владелец КАК Владелец,
ЗначенияСвойствОбъектов.Ссылка КАК Ссылка,
ЗначенияСвойствОбъектов.Владелец.ТипЗначения КАК ВладелецТипЗначения
Справочник.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
а сами значения дополнительных реквизитов хранятся тут:
Google+
В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. В публикации хочу продемонстрировать работу дополнительных реквизитов и сведений, их добавление и получение значений.
Краткое описание механизма дополнительных реквизитов и сведений
Пример добавление дополнительного реквизита вручную вы можете посмотреть в публикации Брутто в ТОРГ12, где добавляется новый реквизит «Коэффициент брутто» в справочнике «Номенклатура». Таким образом можно добавлять реквизиты всех известных типов (число, строка, булево, список значений, ссылки на справочники и т.д.) к распространенным справочникам и документам 1С.
Отличие дополнительного реквизита от дополнительного сведения в том, что
- Дополнительные реквизиты – список реквизитов, доступных в форме документа или справочника; причем эти реквизиты хранятся в табличной части объекта, к которому они добавлены;
- Дополнительные сведения – список значений доступных по дополнительной кнопке; причем доп. сведения хранятся в отдельном регистре.
После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.
Для получения дополнительных данных приведу примеры запросов, в которых получу 1С дополнительные реквизиты и сведения.
Для получения дополнительного сведения использую запрос вида:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ДополнительныеСведения.Свойство, | ДополнительныеСведения.Значение |ИЗ | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения |ГДЕ | ДополнительныеСведения.Объект = &Объект"; Запрос.УстановитьПараметр("Объект", СсылкаДокумент);
Для получения дополнительного реквизита использую код вида (пример получения коэффициента брутто в ТОРГ12):
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НоменклатураДополнительныеРеквизиты.Свойство, | НоменклатураДополнительныеРеквизиты.Значение |ИЗ | Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты |ГДЕ | НоменклатураДополнительныеРеквизиты.Свойство = &Свойство | И НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаДокумент); Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Коэффициент бруто"));
Теперь вы без труда сможете добавить и получить необходимые дополнительные 1С данные без снятия конфигурации 1С с поддержки и изменения типовой конфигурации. Без сомнения, такой инструмент должен быть в арсенале 1С программиста и активно использоваться в работе.
Получение доп реквизита справочника в запросе
Автор NAPYTO1613, 03 авг 2018, 23:31
0 Пользователей и 1 гость просматривают эту тему.
ВЫБРАТЬ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Контрагент,
КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Группа), , , , ) КАК ЖурналПроводокЕПСБУОбороты
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ПО (КонтрагентыДополнительныеРеквизиты.Ссылка.Код = ЖурналПроводокЕПСБУОбороты.Регистратор.Контрагент.Код )
ГДЕ
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
Пытаюсь прикрутить к контрагенту доп реквизит путем соединения по условию
Дело в том, что, если реквизит не заполнен, то запись не выводится вообще
можно ли как-нибудь решить такую проблему?
Оберни КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения в ЕСТЬNULL.
Cоединяй не полным, а левым соединением.
Цитата: AIFrame от 04 авг 2018, 15:03
Оберни КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения в ЕСТЬNULL.
Cоединяй не полным, а левым соединением.
обернул, но все равно выдаёт только с заполненными значениями
ВЫБРАТЬ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Контрагент,
ЖурналПроводокЕПСБУОбороты.СуммаОборот КАК СуммаОборот,
ОперацииДокументов.Операция КАК Операция,
ЕСТЬNULL(КонтрагентыДополнительныеРеквизиты.Значение, 0) КАК СтранаМестонахождения
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Группа), , , , ) КАК ЖурналПроводокЕПСБУОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОперацииДокументов КАК ОперацииДокументов
ПО (ОперацииДокументов.Документ.Дата = ЖурналПроводокЕПСБУОбороты.Регистратор.Дата)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ПО ЖурналПроводокЕПСБУОбороты.Регистратор.Контрагент.Код = КонтрагентыДополнительныеРеквизиты.Ссылка.Код
ГДЕ
ЖурналПроводокЕПСБУОбороты.Регистратор ССЫЛКА Документ.КассовоеПоступление
И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
Целиком запрос так выглядит
Цитата: NAPYTO1613 от 05 авг 2018, 12:28И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
в условии сравнение с таблицей, с которой соединение и может быть NULL , но NULL никогда не равно &Свойство, по этому строки в запрос не попадают.
можно например так:
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
или КонтрагентыДополнительныеРеквизиты.Свойство is null
Спасибо за Сказать спасибо
Положи КонтрагентыДополнительныеРеквизиты во вложенный запрос или предварительно отбери все во временную таблицу и уже в конце соединяй с журналом проводок.
Цитата: alex0402 от 05 авг 2018, 14:25
Цитата: NAPYTO1613 от 05 авг 2018, 12:28И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
в условии сравнение с таблицей, с которой соединение и может быть NULL , но NULL никогда не равно &Свойство, по этому строки в запрос не попадают.
можно например так:
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
или КонтрагентыДополнительныеРеквизиты.Свойство is null
Помогло, спасибо
Добавлено: 05 авг 2018, 20:27
Цитата: AIFrame от 05 авг 2018, 18:46
Положи КонтрагентыДополнительныеРеквизиты во вложенный запрос или предварительно отбери все во временную таблицу и уже в конце соединяй с журналом проводок.
от вложенного запроса было решено отказаться (изначально использовался он, но тоже кстати работал не так как надо )
Примеры работы с дополнительными реквизитами.
Как получить значение дополнительного реквизита:
Пример: мы делаем печатную форму документа «Заказ клиента» и хотим вывести на неё значение определённого дополнительного реквизита — «Должность покупателя».
Используем вложенный запрос, в котором соединяем левым соединением таблицу «Дополнительные реквизиты» документа «Заказ клиента» с Планом видов характеристик «Дополнительные реквизиты и сведения». Устанавливаем условие: заголовок дополнительного реквизита должен быть таким – «Должность покупателя». Таблицы соединяем по ссылке на «Заказ клиента».
Получается вот такой запрос:
Также можно использовать метод НайтиПоНаименованию ( «***» ) .
Переменная Ссылка – это ссылка на «Договор контрагента».
Проверка на предмет того, что дополнительный реквизит заполнен:
Как изменить значения дополнительных реквизитов:
Задействуем общий модуль УправлениеСвойствами , который входит в состав БСП.
- Дополнительные реквизиты и сведения
- План видов характеристик
- Программирование 1С
Комментарии
У вас ошибка в коде:
МассивСтруктур.Добавить(Новый Структура(«Свойство, Значение», ДопРеквизитДатаОтправки, ТекущаяДата());
Не хватает закрывающей скобки.
У вас ошибка в коде:
МассивСтруктур.Добавить(Новый Структура(«Свойство, Значение», ДопРеквизитДатаОтправки, ТекущаяДата());
Условие в запросе 1с как допреквизит
Рассматриваемая задача может быть актуальна, когда требуется соединить данные двух регистров, причем набор условий соединения не полностью идентифицирует строку регистра, т.е. в результате соединения по данному условию в выборке может быть несколько «одинаковых» строк.
Допустим, есть две таблицы:
Реквизит 1 | Реквизит 2 |
а | 1 |
а | 2 |
б | 34 |
в | 10 |
в | 15 |
… | … |
Требуется присоединить Реквизит 2 к Таблице 1, не размножая при этом строки, взяв случайным образом (т.е. любое) значение Реквизита 2 по условию равенства Реквизитов 1 таблицы 1 и 2.
Если написать запрос с Левым соединением:
, то строки исходной таблицы «размножатся».
ВЫБРАТЬ РАЗЛИЧНЫЕ тут тоже не поможет, т.к. значения Реквизит 2 различные.
Свернуть результирующую таблицу по Реквизиту 1 тоже не получится, т.к. ни сумма, ни среднее арифметическое нам не подходит.
Чтобы решить эту задачу, можно использовать получение максимального значения «Реквизита 2». Метод подходит не только для числового значения этого реквизита, а и для любого другого. Но получим мы при этом, конечно не случайное значение из множества, а то, что система вычислит как макимальное. В большинстве случаев такое решение задачи полностью удовлетворит.
Вот запрос, решающий эту задачу:
Однако, можно использовать и другой (не очень красивый) метод.
Запоминаем Таблицу 2 в ее копии, затем Таблицу 2 сворачиваем по Реквизиту 1 и затем перебором строк свернутой таблицы 2 и ее копии выбираем Реквизит2:
Пишите, если найдете другой интересный метод решения. С удовольствием посмотрим.
1с запрос дополнительные реквизиты
Пример: мы делаем печатную форму документа «Заказ клиента» и хотим вывести на неё значение определённого дополнительного реквизита — «Должность покупателя».
Используем вложенный запрос, в котором соединяем левым соединением таблицу «Дополнительные реквизиты» документа «Заказ клиента» с Планом видов характеристик «Дополнительные реквизиты и сведения». Устанавливаем условие: заголовок дополнительного реквизита должен быть таким – «Должность покупателя». Таблицы соединяем по ссылке на «Заказ клиента».
Получается вот такой запрос:
Также можно использовать метод НайтиПоНаименованию ( «***» ) .
Переменная Ссылка – это ссылка на «Договор контрагента».
Проверка на предмет того, что дополнительный реквизит заполнен:
Как изменить значения дополнительных реквизитов:
Задействуем общий модуль УправлениеСвойствами , который входит в состав БСП.
Юзайте на здоровья!
3 thoughts on “Получить значение дополнительных реквизитов 1С 8”
Спасибо, очень помогло.
К сожалению, на строчке
Запрос.УстановитьПараметр(«Объект», Объект);
спотыкается и отказывается дальше работать
Как редактировать доп реквизиты:
редактировать их состав можно тут:
хранятся они тут:
где типы реквизитов:
получить их в запросе можно так:
НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
НоменклатураДополнительныеРеквизиты.Ссылка.Код КАК Код,
НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
НоменклатураДополнительныеРеквизиты.Значение КАК Значение
Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
Разберем что откуда берется.
Дополнительные реквизиты заводятся в «ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения» и там же указан тип значений допРеквизитов:
ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
ДополнительныеРеквизитыИСведения.ТипЗначения КАК ТипЗначения
ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
Для справки: Кроме ссыка и типЗначения в «ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения» хранится куча свойств этих реквизитов
Если указан типЗначеня «ДополнительноеЗначение», то виды этих доп значений можем посмотреть тут:
ЗначенияСвойствОбъектов.Владелец КАК Владелец,
ЗначенияСвойствОбъектов.Ссылка КАК Ссылка,
ЗначенияСвойствОбъектов.Владелец.ТипЗначения КАК ВладелецТипЗначения
Справочник.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
а сами значения дополнительных реквизитов хранятся тут: