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

В 1с дополнительные сведения представляют — это механизм позволяющий хранить дополнительные данные для различных объектов метаданных (справочник, документ и т.п.). Это удобно тем, что не требуется вносить изменений в конфигурацию. В конфигурациях использующих управляемое приложение (Бухгалтерия 3.0, Управление торговлей 11 и т.п.) дополнительные сведения хранятся в регистре ДополнительныеСведения, у него два измерения: Объект  — ссылка на объект к которому относится дополнительное сведение, Свойство — идентификатор конкретного сведения, тип план видов характеристик ДополнительныеРеквизитыИСведения.

1с дополнительные сведения в режиме Предприятие

Рассмотрим, как добавить в документе дополнительное сведение. Для примера возьмем конфигурацию Управление торговлей 11, документ Авансовый отчет.

  • Откроем любой документ для которого необходимо дополнительное сведение;
  • На форме документа нажмем кнопку Открыть дополнительные сведения;

Кнопка 1с дополнительные сведения в документе

  • Откроется форма дополнительных сведений;
  • Нажимаем кнопку Все действия -> Изменить состав дополнительных сведений;

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

  • Нажимаем кнопку Добавить -> Новое;
  • В открывшемся окне заполняем Наименование свойства и его Тип;

Дополнительное сведение создание

  • Жмем Записать и закрыть;
  • Теперь снова откроем наш документ и нажмем кнопку Открыть дополнительные сведения;
  • В форме 1с дополнительные сведения появится строчка с добавленным свойством. Ему можно задать любое значение заданного типа;
  • Данное свойство будет доступно во всех документах Авансовый отчет, для каждого документа можно задать свое значение.

Функция получающая в 1с дополнительные сведения

  • Ссылка. Тип: Любая ссылка. Ссылка на объект имеющий дополнительные сведения;
  • Свойство. Тип: План видов характеристик ДополнительныеРеквизитыИСведения. Свойство, значение которого для данного объекта мы хотим получить.

Код:

Функция ПолучитьЗначениеДопСведений(Ссылка ,Свойство) Экспорт

    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Свойство", Свойство);

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

    Результат = Запрос.Выполнить().Выбрать();

    Если Результат.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Результат.Следующий();

        Возврат Результат.Значение;
    КонецЕсли;
КонецФункции

1с дополнительные сведения функция программной записи

Данная функция осуществляет программную запись значения в дополнительные сведения объекта по переданному свойству. Предназначена для конфигурации Управление торговлей 11. Возвращает значение Истина в случае успешной записи и Ложь в случае ошибки.

Параметры:

  • Объект Тип: Любая ссылка. Ссылка на объект для которого записывается сведение;
  • Свойство Тип: План видов характеристик ДополнительныеРеквизитыИСведения. Дополнительное свойство;
  • Значение Тип: Произвольный(Задается при создании (редактировании) свойства в плане видов характеристик ДополнительныеРеквизитыИСведения). Значение, которое будет записано в дополнительные сведения.
Функция ЗаписатьЗначениеДопСведения(Объект, Свойство, Значение)
    Попытка
        НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();

        НаборЗаписей.Отбор.Объект.Установить(Объект);
        НаборЗаписей.Отбор.Свойство.Установить(Свойство);

        НоваяСтрокаНабора = НаборЗаписей.Добавить();

        НоваяСтрокаНабора.Объект = Объект;
        НоваяСтрокаНабора.Свойство = Свойство;

        НоваяСтрокаНабора.Значение = Значение;

        НаборЗаписей.Записать();

        Возврат Истина;
    Исключение
        Возврат Ложь;
    КонецПопытки;
КонецФункции

Если вы еще не знаете, как правильно работать с механизмом дополнительных реквизитов в 1с 8, то прочтите об этом в статье Получить / записать дополнительные реквизиты программно.

12

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

Ваш e-mail не будет опубликован.