1С БСП. Дополнительные реквизиты и сведения
Введение
В этой статье я хотел бы рассказать об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С БСП).
Для начала предлагаю разобраться с терминологией 1С БСП: согласно ИТС дополнительные реквизиты и сведения — это свойства. По моему мнению, подсистема «Свойства» (Управление свойствами) — это очень мощный функционал, который позволяет во многих случаях отказаться от снятия конфигурации с поддержки или внесения ненужных изменений и ошибок в конфигурацию.
Архитектура
Описание работы с подсистемой «Свойства» на сайте ИТС 1С является исчерпывающим для типовых конфигураций, но в любом случае, для того, чтобы начать работать со свойствами в любой конфигурации с внедрённым 1С БСП необходимо установить установить константу «Использовать дополнительные реквизиты и сведения» в значение «Истина». После этого мы можем открыть справочник «Наборы дополнительных реквизитов и сведений», который содержит список объектов для которых можно создавать дополнительные реквизиты и сведения. При добавлении через стандартные формы 1С БСП пользователь создаёт новый элемент «Плана видов характеристик», который добавляется в табличную часть элемента.
Дополнительные сведения отличаются от дополнительных реквизитов прежде всего расположением, дополнительные сведения содержатся в отдельном регистре с одноименным названием, а дополнительные реквизиты являются табличной частью объекта, к которому относятся. На рисунке ниже слева-направо изображены: элемент справочника «Наборы дополнительных реквизитов и свойств», элемент плана видов характеристик и список регистра сведений «Дополнительные сведения».
Следующий рисунок изображает пример дополнительного реквизита, слева-направо: элемент справочника «Наборы дополнительных реквизитов и свойств», элемент плана видов характеристик и элемент справочника, в который был добавлен дополнительный реквизит.
Также стоит учитывать, что большая часть объектов метаданных в справочнике «Наборы дополнительных реквизитов и сведений» является предопределённой:
Однако, заполнение этих данных происходит программно, при внедрении 1С БСП или обновлении информационной базы — для этого в общих модулях добавляют процедуру ПриПолученииПредопределенныхНаборовСвойств. Уникальный идентификатор задаётся в явном виде, в т.ч. для того чтобы облегчить процедуры обмена между базами.
С точки зрения интеграции с объектами механизм работы с формами не сильно отличается от аналогичных у других подсистем 1С БСП: из модуля УправлениеСвойствами вызываются процедуры и функции с названиями соответствующими названиям событий для которых они вызываются, например:
Полный список функций и процедур находится в общем модуле УправлениеСвойствами в блоке, озаглавленным: «Процедуры и функции для стандартной обработки дополнительных реквизитов».
Использование
Каждый дополнительный реквизит или свойство содержит поле «Имя», подразумевается, что для программного использования будет использоваться этот реквизит.
Пример использования имени для получения дополнительного реквизита:
Пример запроса для получения всех дополнительных свойств:
Примеры получения свойств без запроса:
Особенности реализации
Если с запросами и функциями всё более менее ясно неприятным сюрпризом может стать то, что дополнительный реквизит на форме содержит название, отличающееся от этого реквизита, например, такое:
Чтобы найти реквизит на форме 1С БСП создаёт новые реквизиты формы Свойства_ОписаниеДополнительныхРеквизитов и Свойства_ОписаниеЗависимыхДополнительныхРеквизитов, с помощью них можно установить однозначное соответствие между элементом и значением объекта:
Второй особенностью реализации можно выделить невозможность создания свойства с мутабельным типом, с одной стороны это очевидное ограничение, с другой тип «Список значений» вполне допустим, но только для дополнительного реквизита (у дополнительных сведений невозможность связана с архитектурными ограничениями, так как объект и свойство — это измерения регистра «Дополнительные сведения»). Возможно, отсутствие такого типа связано со сложностями при обмене, а возможно в скором времени это будет реализовано, предлагаю посмотреть на пример такой реализации ниже.
Добавим новый дополнительный реквизит для справочника физические лица «Номера счетов»
Добавляем программно, вторую запись в табличную часть «Дополнительные реквизиты» справочника «Физические лица» с тем же самым свойством:
Немного модифицируем код функции ЗначенияСвойств в общем модуле УправлениеСвойствамиСлужебный:
А также код процедуры ЗаполнитьДополнительныеРеквизитыВФорме в общем модуле УправлениеСвойствами:
Таким образом мы можем сохранять и восстанавливать значения реквизитов, которые, принимают множество значений.
Работа в примерах была осуществлена с версией БСП: 3.1.2.245
Дополнительные реквизиты и дополнительные сведения в 1С
Дополнительные реквизиты и сведения в 1С
Дополнительные реквизиты являются неотъемлемой часть справочника, хранятся в самом объекте и отображаются на его форме. С их помощью описываются свойства объекта. После их настройки они появляются на форме объекта и становятся доступны для заполнения. Они доступны тем же пользователям, которым доступен и сам объект. Дополнительные реквизиты лучше использовать для отражения общедоступной информации.
Настройка подсистемы Дополнительные реквизиты и дополнительные сведения на примере 1С 8.3 Бухгалтерия 3.0
Получите понятные самоучители 2021 по 1С бесплатно:
Добавление дополнительных реквизитов
На вкладке Значения можем перечислить значения нашего реквизита, при этом значения можно объединять в группы. Например, Значение доп. реквизита 1, значение доп. реквизита 2, значение доп. реквизита 3.
Нажимаем Записать и закрыть и также сохраняем наш созданный реквизит.
Создадим еще один реквизит, назовем его Доп. реквизит — 2 (установка галочки). Для добавления реквизита галочка, флажок установим Тип реквизита — Булево. При смене реквизита меняются настройки формы. В данном случае нам предлагается установить настройки видимости и доступности, установить всплывающую подсказку.
Введем для примера еще один реквизит с Типом значения Строка (назовем его для примера Доп. реквизит — 3 (текст)).
Все настройки интуитивно понятны.
Так, при создании дополнительных реквизитов в 1С, при выборе Тип значения реквизита, мы можем использовать разные варианты и в зависимости от его выбора немного меняется настройка создаваемого реквизита.
Мы видим, три наших добавленных реквизита. В первом реквизите — поле с кнопкой выбора значений, во втором — возможность установить галочку, в третьем — обычное текстовое поле и наши всплывающие подсказки, которые прописали в настройках.
Добавление дополнительных сведений к форме
Добавление и настройка дополнительных сведений в 1С производится аналогично дополнительным реквизитам.
Аналогично можно добавить Дополнительные сведения и к документам. Окно ввода дополнительных сведений также будет доступно в кнопке Еще — Дополнительные сведения документа.
Данная команда доступна как из самого документа, так и из журнала документов.
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(3 оценок, среднее: 3,67 из 5)
Все комментарии (16)
Здравствуйте, случайно сделал допреквизит неиспользуемым. Как теперь восстановить?
Помнится, было на это тему видео от Елены Гряниной, найти не смог.
Не отвечайте, сам разобрался, вспомнил, как показывала Елена в одном из видео. Скопировал и вставил «как есть.»
Здравствуйте, спасибо, хорошая статья. Но, похоже, вы описали Бухгалтерию КОРП а не ПРОФ. В ПРОФ не нашел общих дополнительных реквизитов.
Спасибо за внимание к нашему материалу.
Мы публикуем материалы по 1С Бухгалтерия 3.0 ПРОФ.
Добрый день. Хотелось бы, чтобы разобрали дальнейшие действия. Как вывести этот дополнительный реквизит справочника в форму табличной части документа, который этот справочник использует. В Еще-изменить форму — такого реквизита у справочника нет.
Здравствуйте! Необходимо открыть Ещё — изменить форму, далее установить курсор на строчку «Ссылка» нажать «Добавить поля». Откроется окно, где будут доступны в том числе и доп. реквизиты.
Не дописал про Ссылка — Добавить поля. Я там именно и смотрел. Добавленного реквизита не видно. Прилагаю скриншоты. Попробуйте воспроизвести именно со справочником Виды работ.
Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников. Управляемые формы. Без снятия конфигурации с поддержки
Искала приемлемое решение для идентификации графика работы сотрудников при оформлении кадровых документов, в условиях когда одной позиции штатного расписания могут относиться несколько различных графиков работы.
Я пошла искать подобные темы. Форумчане в голос твердили что без снятия конфигурации с поддержки не обойтись. Вот пример такой темы: https://buh.ru/forum/forum18375/topic80453/
Но на моем проекте жёсткое условие, конфигурацию с поддержки не снимать. Подумав пару часов, нашла решение. Применила дополнительные реквизиты и настройки списка.
Решение:
1. Создаем дополнительный реквизит к справочнику Графики работы сотрудников
Как видно на рисунке выше, дополнительный реквизит самый простой, тип строка.
2. Для удобства переместила доп. реквизит на форме элемента справочника вверх
5. В качестве оформляемого поля выбираем Ссылка
6. Сохраняем настройки. При необходимости, передаем свои настройки другим пользователям. И радуемся обновленному списку справочника
Буду рада если кому-нибудь пригодится такое решение.
1С дополнительные реквизиты и сведения
В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. В публикации хочу продемонстрировать работу дополнительных реквизитов и сведений, их добавление и получение значений.
Краткое описание механизма дополнительных реквизитов и сведений
Пример добавление дополнительного реквизита вручную вы можете посмотреть в публикации Брутто в ТОРГ12, где добавляется новый реквизит «Коэффициент брутто» в справочнике «Номенклатура». Таким образом можно добавлять реквизиты всех известных типов (число, строка, булево, список значений, ссылки на справочники и т.д.) к распространенным справочникам и документам 1С.
Отличие дополнительного реквизита от дополнительного сведения в том, что
После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.
Как получить 1С дополнительные реквизиты и сведения
Для получения дополнительных данных приведу примеры запросов, в которых получу 1С дополнительные реквизиты и сведения.
Для получения дополнительного сведения использую запрос вида:
Для получения дополнительного реквизита использую код вида (пример получения коэффициента брутто в ТОРГ12):
Теперь вы без труда сможете добавить и получить необходимые дополнительные 1С данные без снятия конфигурации 1С с поддержки и изменения типовой конфигурации. Без сомнения, такой инструмент должен быть в арсенале 1С программиста и активно использоваться в работе.
1С дополнительные реквизиты и сведения : 5 комментариев
Раз используется БСП, почему место запросов не использовать программный интерфейс ОМ для работы с доп.рекизитами и сведениями? Например, УправлениеСвойствами.ПолучитьЗначенияСвойств() [http://its.1c.ru/db/bspdoc#content:2128:hdoc]
Ценное замечание! Надо дополнить статью этим нюансом.
Запрос написан потому, что, обычно, по значению доп. реквизита необходимо сделать какую либо дополнительную выборку, а через стандартные функции это сделать не всегда получится. Мне видится, что этот путь более универсален. Хотя спорно… нужно покопаться в стандартных функциях.
В бсп 2.4 это методы УправлениеСвойствами.ЗначениеСвойства() и УправлениеСвойствами.ЗначенияСвойств(), УправлениеСвойствами.ПолучитьЗначенияСвойств() — устаревший методо
Добрый день! Подскажите пожалуйста, как записать значение дополнительному реквизиту, если значение — это выбор из списка дополнительных значений (тип строки). Пытаюсь просто записать нужную строку, но программа не понимает, что эта строка из этого списка.
Проверьте тип через конфигуратор, может там не строка, а коллекция или что-либо ещё.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
1С УФ. Добавление в список колонок с реквизитами
Рассмотрим задачу, когда нужно вывести дополнительные реквизиты и сведения в общем списке элементов. Рассмотрим на примере конфигурации УТ 11, в справочник Номенклатура добавлен дополнительный реквизит Артикул клиента.
Открываем список элементов справочника Номенклатура, выбираем меню Все действия – Изменить форму… (рис. 1):
Рис. 1. Все действия – Изменить форму…
В открывшемся окне Настройка формы у Списка номенклатуры находим поле Ссылка, выделяем его и нажимаем Добавить поля (рис. 2):
Рис. 2. Добавление полей
Далее в открывшемся окне Выберите поля для размещения в форме выбираем нужный дополнительный реквизит Артикул клиента и нажимаем ОК (рис. 3):
Рис. 3. Выбор дополнительного реквизита
Поле Артикул клиента появляется на форме Настройка формы, можно переместить его, нажимая на стрелочки Вверх, Вниз. После выбора позиции нажимаем ОК (рис. 4):
Рис. 4. Дополнительный реквизит в списке полей
В списке Номенклатуры появилась колонка с дополнительным реквизитом Артикул клиента (рис. 5):
Рис. 5. Новая колонка в списке
Можно выгрузить в файл получившийся список, меню Все действия – Вывести список… (рис. 6):