Библиотека стандартных подсистем 1С 8.3. Свойства

Курс

Рассмотрена подсистема Свойства из библиотеки стандартных подсистем (БСП) 3.1.3.

Примеры приведены на конфигурации Управление торговлей 11.4.13.

В пользовательском режиме

Дополнительные реквизиты

В разделе НСИ и администрирование — Общие настройки — Дополнительные реквизиты и сведения можно включить использование дополнительных реквизитов и сведений, а также перейти к их спискам:

У каких-то объектов можно добавлять только общие для всего справочника/документа доп. реквизиты. У каких-то с разделением, например у номенклатуры по видам номенклатуры:

В этом случае доп. реквизит будет доступен только для номенклатуры с определенным значением вида номенклатуры. Но также имеется возможность добавить общий для всего справочника доп. реквизит.

Доп. реквизиты хранятся в самом объекте в табличной части ДополнительныеРеквизиты. Отображаются на форме объекта как обычный реквизит.

При создании нового доп. реквизита нужно указать его наименование, тип, подсказку, комментарий:

В самом низу в поле Имя можно указать имя для разработчиков. В дальнейшем его можно будет использовать в программном коде для поиска доп. реквизита.

Также есть возможность настроить видимость и доступность в зависимости от условия. Например, укажем, что доп. реквизит будет виден только для не помеченных на удаление товаров:

В этом случае у помеченных на удаление товаров доп. реквизит не будет отображаться на форме.

Если установить флаг Заполнять обязательно, то нельзя будет записать номенклатуру с незаполненным реквизитом. Здесь также можно настроить условие, в каком случае нужно контролировать заполнение. В списке доп. реквизитов такой реквизит отображается жирным шрифтом:

Если установить флаг Отображать в виде гиперссылки, то на форме такой доп. реквизит будет отображаться как гиперссылка. По щелчку будет открываться форма объекта. Доступен для ссылочных типов:

Дополнительные сведения

Дополнительные сведения хранятся в отдельном регистре сведений ДополнительныеСведения:

Они не отображаются на форме, а доступны в отдельной форме, которая открывается из формы объекта или из формы списка:

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

Общий дополнительный реквизит

Один дополнительный реквизит может входить в состав разных объектов: для номенклатуры, для контрагентов и т.д. Для этого в списке дополнительных реквизитов нужно выбрать Добавить — Из другого набора:

Затем нужно выбрать тот дополнительный реквизит, который хотим сделать общим и нажать Далее:

На следующем шаге нужно выбрать Добавить реквизит как есть:

Реквизит стал общим для нескольких наборов. Состав набора можно увидеть в карточке доп. реквизита:

Если выбрать Сделать копию реквизита, то будет создана полная копия доп. реквизита с копированием всех его значений (если тип доп. реквизита = Дополнительные значения):

Если выбрать Сделать копию реквизита по образцу, то будет создан отдельный доп. реквизит, но список значений будет общим (данный пункт доступен только если тип доп. реквизита = Дополнительные значения):

Удаление дополнительного реквизита

Если доп. реквизит пометить на удаление, то он перестанет отображаться на форме объекта. Однако, если он уже был заполнен, то на форме он будет зачеркнут:

Чтобы в списке доп. реквизит увидеть помеченные на удаление доп. реквизиты нужно внизу установить флаг Показать неиспользуемые реквизиты:

В конфигураторе

Получение значений дополнительных реквизитов и сведений

Одно значение:

Несколько значений в виде таблицы

Нужно учитывать, что если какой-то доп. реквизит или доп. сведение не заполнено, то оно не хранится в базе данных и его не будет в таблице.

Получение значений дополнительных реквизитов и сведений в запросе

Доп. реквизиты:

Доп. сведения:

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

Можно записать вручную:

Получение всех свойств объекта

Работа с дополнительными реквизитами на форме

Иногда требуется получить или изменить значение доп. реквизита прямо из формы объекта. Объект может быть даже не записан. Для этого можно воспользоваться следующими процедурами:

Добавление дополнительных реквизитов для нового объекта

Например, в конфигурацию добавлен новый документ Документ2.

  1. Добавляем табличную часть ДополнительныеРеквизиты:
ИмяТип
СвойствоПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
ЗначениеХарактеристика.ДополнительныеРеквизитыИСведения
ТекстоваяСтрокаСтрока неограниченной длины

Для реквизита Значение указываем связи параметров выбора: Отбор.Владелец(ДополнительныеРеквизиты.Свойство)

  1. На форму добавляем элемент формы группа с именем ГруппаДополнительныеРеквизиты. В нем будут расположены дополнительные реквизиты.
  1. В модуль формы документа добавляем следующие процедуры:

  1. На закладке Данные — Характеристики указать где хранятся доп. реквизиты и их значения:
  1. В общий модуль УправлениеСвойствамиПереопределяемый в процедуру ПриПолученииПредопределенныхНаборовСвойств добавить код:

Уникальный идентификатор нужно создать новый, например тут: https://www.uuidgenerator.net/version4

  1. Разработать обработку с одной строкой кода для создания нового элемента в справочнике Наборы дополнительных реквизитов и сведений:

  1. В пользовательском режиме появится возможность добавления доп. реквизитов для нового документа (если не заполнено наименование проверьте синоним объекта):

Добавление дополнительных сведений для нового объекта

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

На закладке Данные — Характеристики указать где хранятся доп. сведения и их значения (вторая строка):

Если дополнительные реквизиты не используются, то нужно выполнить шаги 5 и 6 из предыдущего раздела.

Расширение возможных типов

Если нужно расширить возможные типы для дополнительных реквизитов и сведений, то достаточно указать его в свойстве Типы значения характеристик в плане видов характеристик ДополнительныеРеквизитыИСведения.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok