Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2026, 15:44

Как получить реквизиты, добавленные в расширении программно?

Автор andadra, 25 мар 2026, 10:23

0 Пользователей и 1 гость просматривают эту тему.

andadra

Справочник Номенклатура. В расширении добавлены реквизиты, если обращаюсь программно Метаданные.Справочники.Номенклатура.Реквизиты, то они не отображаются. Как их получить?

antoneus


andadra

antoneus, ну я смотрю через отладку. Просто нет этих реквизитов, а через консоль запросов они есть, в предприятии

antoneus

Через отладку не увидеть. Они видны будут только в режиме предприятия. Ну, если запустить какую-нибудь обработку, включенную в расширение - в отладке они появятся.

andadra

antoneus,
    МассивРеквизитовТовара = Новый Массив;
Для каждого Реквизит Из Метаданные.Справочники.Номенклатура.Реквизиты Цикл
Если Строка(Реквизит.Тип) = "Строка" ИЛИ Строка(Реквизит.Тип) = "Число" Тогда
МассивРеквизитовТовара.Добавить(Реквизит.Имя);
КонецЕсли;
КонецЦикла;
Элементы.ТаблицаСвязиРеквизитТовара.СписокВыбора.ЗагрузитьЗначения(МассивРеквизитовТовара);

Вот такой код не выводит реквизиты из расширения. Просто в списке нет этих реквизитов

LexaK

а почему не используете Доп.реквизиты и/или Доп.сведения ?
очень удобный механизм, все доступно программно и без всяких расширений!
если помогло нажмите: Спасибо!

KJIUKU

andadra, Через объект справочника
Когда вы работаете с объектом, у него уже есть все реквизиты, включая расширения.

Ном = Справочники.Номенклатура.НайтиПоКоду("0001").ПолучитьОбъект();

Для Каждого Свойство Из Ном.ПолучитьРеквизиты() Цикл
    Сообщить(Свойство);
КонецЦикла;

antoneus

Цитата: KJIUKU от 27 мар 2026, 10:20andadra, Через объект справочника
Ном = Справочники.Номенклатура.НайтиПоКоду("0001").ПолучитьОбъект();

Для Каждого Свойство Из Ном.ПолучитьРеквизиты() Цикл
[/quote]


И что, прям работает?

LexaK

ПолучитьРеквизиты

Возвращаемое значение:
Тип: Массив.
Массив объектов РеквизитФормы.


ВОЗМОЖЕН ТАКОЙ ВАРИАНТ

написать запрос

Запрос.текст = "выбрать первые 1 спр.* из Справочник.Номенклатура спр";
и в цикле перебрать колонки результата
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск