В 1с дополнительные сведения представляют — это механизм позволяющий хранить дополнительные данные для различных объектов метаданных (справочник, документ и т.п.). Это удобно тем, что не требуется вносить изменений в конфигурацию. В конфигурациях использующих управляемое приложение (Бухгалтерия 3.0, Управление торговлей 11 и т.п.) дополнительные сведения хранятся в регистре ДополнительныеСведения, у него два измерения: Объект — ссылка на объект к которому относится дополнительное сведение, Свойство — идентификатор конкретного сведения, тип план видов характеристик ДополнительныеРеквизитыИСведения.
1с дополнительные сведения в режиме Предприятие
Рассмотрим, как добавить в документе дополнительное сведение. Для примера возьмем конфигурацию Управление торговлей 11, документ Авансовый отчет.
- Откроем любой документ для которого необходимо дополнительное сведение;
- На форме документа нажмем кнопку Открыть дополнительные сведения;
- Откроется форма дополнительных сведений;
- Нажимаем кнопку Все действия -> Изменить состав дополнительных сведений;
- Нажимаем кнопку Добавить -> Новое;
- В открывшемся окне заполняем Наименование свойства и его Тип;
- Жмем Записать и закрыть;
- Теперь снова откроем наш документ и нажмем кнопку Открыть дополнительные сведения;
- В форме 1с дополнительные сведения появится строчка с добавленным свойством. Ему можно задать любое значение заданного типа;
- Данное свойство будет доступно во всех документах Авансовый отчет, для каждого документа можно задать свое значение.
Функция получающая в 1с дополнительные сведения
- Ссылка. Тип: Любая ссылка. Ссылка на объект имеющий дополнительные сведения;
- Свойство. Тип: План видов характеристик ДополнительныеРеквизитыИСведения. Свойство, значение которого для данного объекта мы хотим получить.
Код:
Функция ПолучитьЗначениеДопСведений(Ссылка ,Свойство) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Свойство", Свойство);
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Ссылка
| И ДополнительныеСведения.Свойство = &Свойство";
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Количество() = 0 Тогда
Возврат Неопределено;
Иначе
Результат.Следующий();
Возврат Результат.Значение;
КонецЕсли;
КонецФункции
1с дополнительные сведения функция программной записи
Данная функция осуществляет программную запись значения в дополнительные сведения объекта по переданному свойству. Предназначена для конфигурации Управление торговлей 11. Возвращает значение Истина в случае успешной записи и Ложь в случае ошибки.
Параметры:
- Объект Тип: Любая ссылка. Ссылка на объект для которого записывается сведение;
- Свойство Тип: План видов характеристик ДополнительныеРеквизитыИСведения. Дополнительное свойство;
- Значение Тип: Произвольный(Задается при создании (редактировании) свойства в плане видов характеристик ДополнительныеРеквизитыИСведения). Значение, которое будет записано в дополнительные сведения.
Функция ЗаписатьЗначениеДопСведения(Объект, Свойство, Значение)
Попытка
Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
Набор.Отбор.Объект.Установить(Объект);
Набор.Отбор.Свойство.Установить(Свойство);
НоваяСтрокаНабора = Набор.Добавить();
НоваяСтрокаНабора.Объект = Объект;
НоваяСтрокаНабора.Свойство = Свойство;
НоваяСтрокаНабора.Значение = Значение;
Набор.Записать();
Возврат Истина;
Исключение
Возврат Ложь;
КонецПопытки;
КонецФункции
Если вы еще не знаете, как правильно работать с механизмом дополнительных реквизитов в 1с 8, то прочтите об этом в статье Получить / записать дополнительные реквизиты программно.
Добавить комментарий