Изменение типа дополнительного реквизита БСП

Опубликовал Евгений - (zenechka) в раздел Обработки - Универсальные обработки

В БСП есть механизм дополнительных реквизитов. Рассмотрим как после создания изменить его тип штатными средствами и ...более ювелирно.

После создания реквизита, по умолчанию, изменение типа реквизита не доступно.

Для того, чтобы все-таки изменить тип, необходимо открыть карточку реквизита и выбрать пункт меню: "Еще - Разрешить редактирование реквизитов".

После этого появится возможность изменить тип. Система может предупредить, что уже есть введенные значения с данным набором типов и Вы можете все сломать. 

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

В БСП в части дополнительных реквизитов имеем следующую структуру.

Настройки дополнительных реквизитов хранятся в объекте "ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения"

Сами значения реквизитов хранятся в табличной части "ДополнительныеРеквизиты" соответствующих справочников и документов.

Таким образом для корректного изменения типа у дополнительного реквизита необходимо найти  в базе существующие значения данного реквизита, определить минимальный набор используемых им типов и их квалификаторов.

После чего можно изменять тип реквизита, но так, чтобы состав типов содержал уже используемые типы и квалификаторы были не "меньше" используемых.

Пример:

Есть некий абстрактный дополнительный реквизит Реквизит1 с доступными типами {Контрагент, Договор, Строка(100)}

Проанализировав базу, определили, что данный реквизит принимает значения с типом Контрагент и Строка. Причем максимальное строковое значение имеет длину 50. 

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

Для верности анализ существующих значений в базе лучше проводить в монопольном режиме, чтобы в промежутке между анализом и изменением типа кто-то не добавил новое значение дополнительного реквизита с новым типом.

Для автоматизации описанных действий собственно и написана данная обработка.

На самом деле, на момент написания обработки автор не обнаружил типовой функционал, разрешающий изменения типа (о чем сообщила пользователь kn, за что ей огромное спасибо :)) . Но даже после этого тайного знания функционал обработки может быть полезен, для более взвешенного принятия решения об изменении типа. 

Ограничения: Управляемые формы

Примеры использования обработки.

Добавление "Строки" в типы дополнительного реквизита:


Проверка на удаление используемого типа (вариант изменения нового типа после анализа данных базы);


Проверка на удаление используемого типа (вариант изменения нового типа до анализа данных базы);


Отблагодарить автора

Скачать файлы

Наименование Файл Версия Размер
Изменение типа допполнительного реквизита
.epf 14,37Kb
08.12.16
0
.epf 14,37Kb Скачать

См. также

PowerTools от 1 000
В этой теме еще нет сообщений.