Перейти к содержимому

Внешние обработки, меняющие данные — прогон на копии, предпросмотр, след в ЖР

Директивный

#внешние-обработки#надёжность#логирование#транзакции

Внешняя обработка, которая записывает объекты или движения:

  • Сначала прогоняется на свежей копии боевой базы, и только потом — в проде.
  • Имеет режим предпросмотра: сначала показывает список «что будет изменено» (сколько объектов, какие поля, старое → новое), запись — отдельным осознанным действием.
  • Пишет порциями с фиксацией прогресса: обрыв на 80 000-м объекте из 100 000 не должен ни откатывать всё, ни заставлять начинать сначала. Транзакция — на порцию, не на весь массив (см. короткие транзакции).
  • Оставляет след в журнале регистрации: кто запустил, с каким отбором, сколько объектов изменено, сколько пропущено с ошибками.
  • ОбменДанными.Загрузка = Истина — только осознанно: это отключает проверки заполнения и бизнес-логику объекта (см. обмен данными и загрузка).

«Групповая обработка справочников» — второй по частоте источник аварий после обновлений: одна ошибка в отборе умножается на весь массив данных. Обработка без предпросмотра не даёт шанса заметить, что отбор зацепил лишнее. Обработка без следа в ЖР не даёт восстановить картину после инцидента («что именно поменяли и у каких объектов?»). А запись всего массива одной транзакцией держит блокировки минутами и при обрыве откатывает часы работы.

  • Обработка только читает данные (выгрузка, диагностика, сверка) — правила предпросмотра и порционной записи не действуют.
  • Изменение заведомо единичное (несколько конкретных объектов по списку из задачи) — предпросмотр можно заменить перечислением ссылок в задаче, но след в ЖР и прогон на копии остаются.