Предыдушие публикации:
//infostart.ru/1c/tools/288722/
Сокращения:
- БСП – библиотека стандартных подсистем;
- ДРС – дополнительные реквизиты и сведения;
- ДР – Дополнительный реквизит;
- ДС – Дополнительное сведение;
- БП – конфигурация Бухгалтерия предприятия;
- ЗУП – конфигурация Зарплата и управление персоналом;
- УНФ – конфигурация Управление нашей фирмой;
- ГУИД – глобальный уникальный идентификатор;
- ПВХ – План видов характеристик.
Что интересно, увидел, внезапно, что в новой версии БСП справочник «Наборы дополнительных реквизитов и сведений» был зарезан без ножа, в плане предопределённых элементов – они теперь (в смысле пока совсем не удалили) выглядят так:
т.е ВСЕ (ну почти ВСЕ, подробности ниже) предопределённые элементы справочника заимели префикс «Удалить», и собственно теперь не используются. Сказать, что это был для меня шок – не сказать ничего…
Столкнулся с этим, когда после переноса данных из УНФ 1.6 в УНФ 3.0 своей обработкой, все перенесённые дополнительные реквизиты оказались зачеркнутыми. Расследование показало, что в плане видов характеристик «Дополнительные реквизиты и сведения» тоже случилась революция, в сравнении с прошедшей эпохой – кроме реквизита ПВХ «НаборСвойств» с типом «СправочникСсылка.НаборыДополнительныхРеквизитовИСведений есть ещё табличная часть «ЗависимостиДополнительныхРеквизитов», где так же есть реквизит «НаборСвойств» того же типа.
Сделано это для того, чтобы была возможность использовать один ПВХ для нескольких объектов (ТЧ появилась не вчера, просто до этого момента как удавалось её игнорировать)))):
Но главное не в этом, перенос отработал некорректно, потому что в справочнике «Наборы дополнительных реквизитов и сведений» перенеслись элементы, ранее бывшие предопределёнными, и которые сейчас не используются. Потанцевав с бубном, решил поделиться информацией с сообществом (не претендую на истину, если где-то заблуждаюсь, буду рад пояснениям от компетентных товарищей).
Про «почти ВСЕ», обещанное ниже, в конфигурациях УНФ 3.0 и ЗУП 3.1 действительно ВСЕ предопределённые элементы подготовлены к удалению, и не используются в текущей версии БСП. НО, в БП таки остались предопределённые элементы в справочнике «Наборы дополнительных реквизитов и сведений», из-за чего терзаю меня смутные сомнения, может зря я всё это к БСП отношу? Не такая уж и «стандартная» подсистема получается:
Попытка применения предопределённых элементов справочника с префиксом «Удалить» бесполезна – не работает. НО!!! Вместо предопределённых элементов справочника «Наборы дополнительных реквизитов и сведений» используются «обычные» элементы этого справочника (ну почти обычные). Почти обычные, потому что создаются они автоматически при установке (обновлении) программы, и имеют заданный в коде ГУИД кусок таблицы с кодами из УНФ:
Таблица ГУИД Наборов дополнительных реквизитов и сведений из ОМ «УправлениеСвойствамиУНФ»:
Эти созданные программно элементы не являются предопределенными (поле «Имя предопределенного набора» не заполнено). На вид это точно такие же элементы справочника, которые в конфигураторе как предопределённые не значатся, но в справочнике они есть. Правда «обозваны» во множественном числе, но вот у них поле «Имя предопределенного набора» заполнено ... и тут
УПС. Это не то поле, про которое подумалось, т.е. то, что определяет «предопределённость», называется «ИмяПредопределенныхДанных», а тут «ИмяПредопределенногоНабора»!!!
В принципе, может это всё это и не имеет большого значения, но упомянутую выше БДРС использовать сейчас не рекомендую, для работы набросал на скорую руку новый простенький вариант «ДРС.epf.
Обработка не может использоваться как самодостаточный объект, просто в модуле находятся необходимые процедуры и функции для создания, чтения и записи дополнительных реквизитов и сведений, аналогичные БДРС. Этот код можно использовать в модулях внешних своих обработок или отчетов, или включить в общий модуль конфигурации или расширения.
Тут для поиска нужного «набора» используется стандартная процедура общего модуля «УправлениеСвойствами» - «НаборСвойствПоИмени», в параметр которого ИмяПредопределенного передается строка вида «<ТипСсылки>_<ИмяСсылки>» (например «Справочник_Контрагенты» или «Документ_АвансовыйОтчет»). Создание ПВХ «ДобавитьСвойство» тоже из общего модуля «УправлениеСвойствами». Такой подход выбран исходя из того, что создавать свои процедуры/функции для этих целей на текущий момент считаю контрпродуктивным (на момент написания БДРС альтернативы не было, сейчас есть), т.к. мало что ещё разработчики намутят с дополнительными реквизитами и сведениями, а так есть шанс, что код проживёт подольше, или будет оперативно правиться, если изменения будут критичными, и разработки, его использующие, будут падать по ошибке.
В области «КомандыПрограммногоИнтерфейса» - расположены необходимые для программной работы команды.
Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.31.32