Создание базисных версий
Раздел «Создать базис» формирует исходные версии для объектов, которые уже существовали до установки модуля. Базис нужен как точка отсчёта: последующие изменения можно сравнивать не только между собой, но и с первоначальным состоянием.
[Скриншот 1: форма «Создать базис» с типом сущности, инфоблоком, размером пакета и принудительным режимом]
Когда создавать базис
- сразу после установки и настройки модуля;
- после переноса проекта, если историю начали вести на новом окружении;
- после импорта контента, для которого ещё нет истории;
- если часть объектов была создана до включения версионирования;
- если требуется сознательно сформировать новую исходную точку — с использованием принудительного режима.
Поля формы
Тип сущности
Выберите Элемент, Раздел или Торговое предложение. Для каждого типа базис создаётся отдельным запуском.
ID инфоблока
Можно выбрать конкретный инфоблок или вариант «Все инфоблоки». Для большого проекта рекомендуется обрабатывать инфоблоки по одному, чтобы проще контролировать нагрузку и результат.
Важно для торговых предложений: текущая версия страницы базиса не определяет автоматически, какие инфоблоки являются инфоблоками SKU. При типе «Торговое предложение» выбирайте именно инфоблок торговых предложений. Не используйте «Все инфоблоки», если не хотите, чтобы элементы обычных инфоблоков были записаны с типом OFFER.
Пакет
Количество объектов, обрабатываемых за один запрос. В интерфейсе указано ограничение до 500, по умолчанию удобно начинать со 100. Чем больше пакет, тем быстрее обработка, но тем выше разовая нагрузка на сервер.
Принудительно пересоздать базис
В обычном режиме объект пропускается, если у него уже есть любая история. Это защищает от повторного создания базиса. Принудительный режим создаёт новую базисную версию даже для объектов, у которых история уже существует.
Используйте этот флажок только осознанно. Он не удаляет старые версии, а добавляет новые ручные снимки с меткой базиса.
Как проходит обработка
- Вы выбираете тип сущности и область обработки.
- Модуль считает количество объектов.
- Данные обрабатываются пакетами через последовательные запросы.
- Для каждого объекта без истории создаётся ручная версия с меткой базиса.
- На странице обновляются прогресс, число созданных и пропущенных версий.
- После завершения итог можно проверить в «Диагностике» и «Истории версий».
[Скриншот 2: прогресс создания базиса: обработано, создано, пропущено]
Почему объект может быть пропущен
В обычном режиме достаточно наличия любой версии этого объекта. Если история уже началась, модуль считает, что отдельный базис создавать не нужно. Это нормальное поведение.
Как понять, что базис создан
В диагностике есть отдельный блок «Базисные версии по инфоблокам». Он показывает количество базисов для ELEMENT, SECTION и OFFER, итог и дату последней базисной версии.
В общем журнале такая запись имеет действие MANUAL и ручной тип снимка. В комментарии присутствует метка базиса.
Рекомендации для большого сайта
- начинайте с одного небольшого инфоблока и проверьте результат;
- используйте пакет 50–100 при ограниченных ресурсах;
- создавайте базис отдельно для элементов, разделов и SKU;
- не запускайте принудительное пересоздание сразу по всему сайту без необходимости;
- после крупных запусков проверьте объём версий и файлов в диагностике.
[Скриншот 3: диагностика с таблицей базисных версий по инфоблокам]
Если страница сообщает, что создавать нечего
Это означает, что для выбранной области не найдено объектов без истории. Если вы действительно хотите сохранить текущие состояния ещё раз как новый базис, включите «Принудительно пересоздать базис».
Разница между базисом и обычной ручной версией
Обе записи имеют тип MANUAL, но базис получает стабильную метку [BASIS] в комментарии. Именно по этой метке диагностика и операция «стереть версии кроме базисной» отличают исходную версию от других ручных снимков.
Почему базис лучше создавать после настройки исключений
Страница базиса работает с выбранной областью напрямую. Если сначала сделать базис для всего сайта, а потом решить, что половина технических инфоблоков не нужна, в истории уже останутся лишние снимки. Поэтому сначала определите область версионирования, затем создавайте исходные версии.
Повторное создание базиса
Без флажка «Принудительно» страница не создаёт базис объекту, если у него есть хотя бы одна версия. Это правило полезно при повторном запуске после прерывания: уже обработанные объекты будут пропущены, а обработка продолжится для остальных.
Принудительный режим нужен в редких случаях, например после завершения крупной миграции, когда вы сознательно хотите считать текущее состояние новой контрольной точкой. Старый базис при этом не удаляется автоматически.
Если обработка прервалась
Запустите тот же диапазон повторно без принудительного режима. Объекты, у которых версия уже успела появиться, будут пропущены. Это безопаснее, чем сразу включать принудительное пересоздание.
Выбор размера пакета
- 20–50 — для слабого сервера или тяжёлых элементов с большим количеством файлов;
- 100 — нормальная стартовая величина;
- 200–500 — только после проверки, что сервер уверенно обрабатывает меньший пакет.