gifts2017

Групповая обработка справочников и документов (v.3.4) - замена реквизита выражением, удаление объектов - новая версия

Опубликовал Sergey Tis (Serggray) в раздел Администрирование - Чистка базы

Доработка обработки "Групповая обработка справочников и документов" с возможностью:
- изменить значение реквизита на значение другого реквизита совпадающего по типу. Как правило для реквизитов простых типов. Например, заменить реквизит НаименованиеПолное на Наименование.
- использовать выражение при замене.
- удалять объекты непосредственно
Делалось для УПП.  

1. Изменить значение реквизита на значение другого реквизита

Итак, после того как Вы сделали необходимый отбор порядок действий такой:

 - открываем форму Настройка. Устанавливаем галочки в поле Разрешить изменение реквизитов объектов и Реквизит как значение (новое поле)

- В сновной форме в списке Действие выбираем Изменить реквизит .. В открывшемся окне выбираем нужный реквизит.

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

- Выполнить.

2. Использовать выражение при замене

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

{[Реквизит],ЗначениеДобавления}

ЗначениеДобавления - дополнительное значение которое будет добавленно к значению Реквизита. Перемена мест слагаемых допускается. Данная операция допустима для типов Строка и Число. Для строкового типа ЗначениеДобавления обрамляться одинарными кавычками. Пробелы внутри кавычек сохраняются.

Пример:   {[Наименование], ' ящик'}

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

3. Удаление объектов непосредственно

Это очень ответственная операция и пользоваться ей нужно очень осторожно. Прежде всего необходимо воспользоваться стандартной процедурой Удаление помеченных объектов и проверить наличие ссылок на те объекты которые будут удаляться. Если возможно удалить помеченные объекты стандартной процедурой, то так и надо делать. Но иногда это бывает очень трудоемко, поэтому и появилось данное решение. И так если Вы решили безвозратно удалить не нужные объекты, то необходимо сделать следующее. После установки соответстующего отбора в Списке действий выбрать Удаление Объектов - и подтвердить.   И все. )

 

Перед тем как выполнять данные операции настоятельно рекомендую сделать резервную копию ИБД.

Удачи !

 

UPD (v.3.4) 27.01.2015

 

1) В Заменяемом Реквизите можно использовать Составной тип.

2) Возможно Удаление Объектов в Справочниках


UPD (v.3.2) 09.07.2014

1) Теперь в Выражении Замены можно использовать Составной тип.

2) Обработка стала более независимой (.. все своё ношу с собой ) )

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

Наименование Файл Версия Размер
ГрупповаяОбработкаЗаменаПоРеквизиту 138
.epf 49,03Kb
16.05.16
138
.epf v.3.4 49,03Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. V. L. (Vladal) 14.06.13 13:48
Чем отличается от "Произвольного алгоритма" с тем же функционалом в той же обработке?

Предлагаю делиться именно такими алгоритмами, а не доработанной обработкой.
2. Sergey Tis (Serggray) 14.06.13 16:43
.. извините не совсем понял Вашу реплику Вы хотите сказать что такое решение уже есть (можно ссылку) или предлагаете опубликовать только описание решения ?
3. Осипов Сергей (fixin) 15.04.16 11:03
у меня не появилась обработка "Изменение реквизита" в списке обработок.

Также криво работает со свойствами, закомментил все, что касается свойств:

{Форма.Форма.Форма(599)}: Поле объекта не обнаружено (НазначениеСвойства)
Если Не Выборка.НазначениеСвойства.ТипЗначения = Неопределено Тогда



Убрал ссылку на этот модуль, т.к. если его нет, не компилируется:
//Если УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(Объект, , НаПринтер) Тогда
// Сообщить(Ссылка);
//КонецЕсли;
4. Sergey Tis (Serggray) 15.04.16 15:58
to fixin: Чтобы появилось действие
Изменить реквизит
необходимо сначала выполнить отбор, затем задать свойства в Меню
Настройка
как в описании, прочтите внимательно. И какая у Вас конфигурация ?
В принципе эта обработка из УПП и код для Печати не менялся.