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

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

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

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

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

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

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

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

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

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

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

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

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

Код:

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

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

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

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

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

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

КонецФункции

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

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

Параметры:

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

    Попытка

        Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
        Набор.Отбор.Объект.Установить(Объект);
        Набор.Отбор.Свойство.Установить(Свойство);

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

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

        Возврат Истина;

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

КонецФункции

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

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

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