Обработка добавления предопределенного элемента справочника Справка
Материал из Boris
Аннотация
При работе с конфигураций часто возникает необходимость добавления предопределённых значений в уже существующие справочники.
Это приводит к значительным временным затратам на корректировку данных: замену ссылок и удаление записи, которая становятся лишней.
В процессе выполнение этих действий сохраняется вероятность совершить ошибку и потратить еще больше времени на приведение данных в соответствие.
Так появилась идея написания этой обработки.
Функционал
работа выполняется последовательно в несколько этапов.

существует возможность запустить последовательную работу сразу со всеми этапами (команда Выполнить "Все")
Реквизиты обработки
- Предопределенное Значение -здесь указываем созданный нами предопределенный элемент справочника.
- Ссылка Антагонист - ссылка на элемент справочника вместо которого создали предопределенный элемент.
- Таблица значений "Таблица Ссылок" - таблица заполняется ссылками на объекты содержащие в своих реквизитах ссылки на "Ссылку Антагонист"
- Таблица значений "Ошибки" - таблица заполняется ссылками на объекты в которых есть ссылки на "Ссылку Антагонист" если при попытке замены ссылки и последующей записи возникла ошибка
- Выполнен Поиск Ссылок - присваивается значение "Истина" если для указанного значения реквизита "Ссылка Антагонист" была выполнена команда "Поиск ссылок".
- Выполнена Замена - присваивается значение "Истина" если для указанных значения реквизита "Ссылка Антагонист" и "Предопределенное Значение " была выполнена команда "Выполнить замену".
- Выполнено Удаление - присваивается значение "Истина" если для "Ссылка Антагонист" была выполнена команда "Удалить Элемент".
Последовательность выполнения
- Указываем значение реквизита "Предопределенное Значение". в качестве значения доступны элементы любого справочника со значением служебного реквизита "предопределенный" = истина.
при этом выполняется попытка найти элемент справочника с таким же кодом и значением реквизита "предопределенный" = ложь
- редактируем значение реквизита "Ссылка Антагонист" если не согласны с тем значением которое подобрала система или значение отсутствует.
Реакция на события
- указание (изменение) реквизита "Предопределенное Значение" приводит к очистке таблиц и реквизитов формы. после чего выполняется попытка подобрать по коду элемента указанного в реквизите "Предопределенное Значение" из того же справочника в котором содержится ссылка на "Предопределенное Значение" ссылки для реквизита "Ссылка Антагонист"
- указание (изменение) реквизита "Ссылка Антагонист" приводит к очистке таблиц и реквизитов формы("Выполнен Поиск Ссылок", "Выполнена Замена", "Выполнено Удаление")
- Каждый следующий шаг выполнения доступен только если выполнен предыдущий.