1с дополнительные реквизиты и сведения

В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. В публикации хочу продемонстрировать работу дополнительных реквизитов и сведений, их добавление и получение значений.



Краткое описание механизма дополнительных реквизитов и сведений

Пример добавление дополнительного реквизита вручную вы можете посмотреть в публикации Брутто в ТОРГ12, где добавляется новый реквизит «Коэффициент брутто» в справочнике «Номенклатура». Таким образом можно добавлять реквизиты всех известных типов (число, строка, булево, список значений, ссылки на справочники и т.д.) к распространенным справочникам и документам 1С.

Отличие дополнительного реквизита от дополнительного сведения в том, что

  • Дополнительные реквизиты – список реквизитов, доступных в форме документа или справочника; причем эти реквизиты хранятся в табличной части объекта, к которому они добавлены;
  • Дополнительные сведения – список значений доступных по дополнительной кнопке; причем доп. сведения  хранятся в  отдельном регистре.

После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.

Как получить 1С дополнительные реквизиты и сведения

Для получения дополнительных данных приведу примеры запросов, в которых получу 1С дополнительные реквизиты и сведения.

Для получения дополнительного сведения использую запрос вида:

Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ДополнительныеСведения.Свойство,
	|	ДополнительныеСведения.Значение
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Объект = &Объект";
Запрос.УстановитьПараметр("Объект", СсылкаДокумент);

Для получения дополнительного реквизита использую код вида (пример получения коэффициента брутто в ТОРГ12):

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	НоменклатураДополнительныеРеквизиты.Свойство,
	|	НоменклатураДополнительныеРеквизиты.Значение
	|ИЗ
	|	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
	|ГДЕ
	|	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
	|	И НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаДокумент);
Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Коэффициент бруто"));

Теперь вы без труда сможете добавить и получить необходимые дополнительные 1С данные без снятия конфигурации 1С с поддержки и изменения типовой конфигурации. Без сомнения, такой инструмент должен быть в арсенале 1С программиста и активно использоваться в работе.


1С дополнительные реквизиты и сведения

1С дополнительные реквизиты и сведения: 5 комментариев

  • 21.02.2017 в 15:30
    Постоянная ссылка

    Раз используется БСП, почему место запросов не использовать программный интерфейс ОМ для работы с доп.рекизитами и сведениями? Например, УправлениеСвойствами.ПолучитьЗначенияСвойств() [http://its.1c.ru/db/bspdoc#content:2128:hdoc]

    Ответить
    • 21.02.2017 в 21:52
      Постоянная ссылка

      Ценное замечание! Надо дополнить статью этим нюансом.
      Запрос написан потому, что, обычно, по значению доп. реквизита необходимо сделать какую либо дополнительную выборку, а через стандартные функции это сделать не всегда получится. Мне видится, что этот путь более универсален. Хотя спорно… нужно покопаться в стандартных функциях.

      Ответить
    • 01.04.2018 в 19:49
      Постоянная ссылка

      В бсп 2.4 это методы УправлениеСвойствами.ЗначениеСвойства() и УправлениеСвойствами.ЗначенияСвойств(), УправлениеСвойствами.ПолучитьЗначенияСвойств() — устаревший методо

      Ответить
  • 16.10.2019 в 09:36
    Постоянная ссылка

    Добрый день! Подскажите пожалуйста, как записать значение дополнительному реквизиту, если значение — это выбор из списка дополнительных значений (тип строки). Пытаюсь просто записать нужную строку, но программа не понимает, что эта строка из этого списка.

    Ответить

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Рейтинг@Mail.ru
Яндекс.Метрика
Здесь находится аттестат нашего WM идентификатора 739402762981
Проверить аттестат