gifts2017

Простая свертка объектов

Опубликовал Тимофей Иваницкий (tivanitsky) в раздел Администрирование - Чистка базы

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

Описание действий на форме:

Поле "Хорошая ссылка" - то, на что мы будем заменять;

Табличная часть "Некорректные ссылки" - то, что мы будем заменять;

Кнопка вверху "Найти объекты ссылающиеся на некорректные ссылки" - поиск объектов в которых есть некорректные ссылки и их вывод в таблицу "Данные в которых есть некорректные ссылки";

Таблица "Данные в которых есть некорректные ссылки" - данные, содержащие некорректные ссылки;

Таблица "Доп. свойства для записи объектов" - перед записью объектов будут вставлены дополнительные свойства, для обхода запретов записи в коде (Объект.ДополнительныеСвойства...);

Галка "Заменять все в одной транзакции" под таблицей "Доп. свойства для записи объектов" - все замены будут произведены в рамках одной транзакции. Иначе каждая запись объекта будет в своей транзакции (режим по умолчанию). В случае наличия в базе проблем с параллельной работой лучше не производить все замены в одной транзакции, что бы хоть какая то часть данных заменилась. Затем, в случае ошибок, повторить поиск и замену данных;

Кнопка вверху "Заменить некорректные ссылки на хорошу везде" - заменяет некорректную ссылку на хорошие везде в найденных объектах (доступна только после нажатия на кнопку "Данные в которых есть некорректные ссылки");

Галка "Удалять некорректные ссылки после свертки" внизу формы - удалять или нет некорректные объекты некорректных ссылок, после их удачной замены на хорошую ссылку;

Замены во всех объекта происходя в режиме обмена данными и со снятием регистрации на узлах.

То есть изменяемые объекты нигде не регистрируются (узлы планов обмена). Сделано что бы не порождать лавинообразные обмены между базами.

При каких либо ошибках, блокировки в базе или еще что то. Обычно помогает опять нажать "Найти объекты ссылающиеся на некорректные ссылки", затем "Заменить некорректные ссылки на хорошу везде"

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

Наименование Файл Версия Размер Кол. Скачив.
НайтиИЗаменить
.epf 18,92Kb
10.01.16
3
.epf 1.0 18,92Kb 3 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа