Как программно получить значение дополнительного реквизита в 1С?

Как получить значение дополнительного реквизита с помощью БСП?

Представим, что для справочника Договоры контрагентов, введен новый дополнительный реквизит БезНДС с типом Булево.

Проверим в договоре реквизит и установим значение в Истина

Теперь с помощью БСП получим значение реквизита:

БезНДС = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "БезНДС_da6b6f0a5dac45d4880b8e86b129236a"); // Получение дополнительного реквизита 
БезНДС = УправлениеСвойствами.ЗначениеСвойства(Договор, БезНДС);

Договор — содержит ссылку на нужный договор.

Подробнее про работу со свойствами в БСП, на сайте ИТС, а так же про их отличия.

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

Значения дополнительный реквизитов хранятся в табличной части Дополнительные реквизиты объекта

"ВЫБРАТЬ
|    ДоговорыКонтрагентовДополнительныеРеквизиты.Свойство,
|    ДоговорыКонтрагентовДополнительныеРеквизиты.Значение,
|    ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка
|ИЗ
|    Справочник.ДоговорыКонтрагентов.ДополнительныеРеквизиты КАК ДоговорыКонтрагентовДополнительныеРеквизиты
|ГДЕ
|    ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка = &Ссылка
|    И ДоговорыКонтрагентовДополнительныеРеквизиты.Свойство = &НужноеСвойство";

Нужное свойство,

ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("БезНДС");

Похожие записи

7 комментариев

  1. Пример получения значения реквизита с помощью БСП — просто Супер!!! Очень компактно!

  2. Зачем выкладывать откровенно неработающее решение?
    Ну хоть бы проверили. Значение таким образом вы никак не получите.

    1. Подробнее пожалуйста. В гайде, как минимум два варианта, какой из них не рабочий по вашему?

  3. Для первого варианта нужно учитывать, что эта функция при дополнительном параметре «Булево» возвращает «Истина» или «Неопределено»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *