Импорт истории
Раздел «Импорт» загружает ZIP, ранее сформированный штатным экспортом SenDev: iBlock History. Импорт добавляет версии в текущую историю и переносит вложенные файлы, если они присутствуют в архиве.
[Скриншот 1: форма «Импорт» с выбором ZIP-файла]
Как выполнить импорт
- Откройте «История инфоблоков → Импорт».
- Выберите ZIP-файл, сформированный страницей «Экспорт».
- Нажмите «Импортировать».
- Дождитесь сообщения о количестве добавленных версий.
- Откройте «История версий» и проверьте добавленные записи.
Что происходит с номерами версий
Импорт не пытается сохранить исходный внутренний ID записи. Для каждой сущности модуль находит текущий максимальный номер версии и добавляет импортируемую запись как следующую. Поэтому после переноса номера могут отличаться от исходного сайта.
Дата и тип импортированной версии
Импортированная запись получает текущую дату импорта, действие MANUAL и дополнение «(import)» в комментарии. Это сделано для того, чтобы в журнале было видно, что версия не возникла из обычного редактирования объекта на этом сайте.
Перенос файлов
Если в ZIP есть файлы для версии, они копируются в служебную папку импорта модуля и связываются с новой версией. Если физического файла в архиве нет, запись о пути может быть сохранена без фактической копии.
[Скриншот 2: сообщение об успешном импорте и количестве добавленных версий]
Что импорт НЕ делает
- не создаёт автоматически сам элемент или раздел, если его нет на сайте;
- не проверяет, совпадает ли структура инфоблока с исходным проектом;
- не сохраняет исходные ID версий;
- не заменяет существующие версии — записи добавляются как новые;
- не выполняет восстановление объекта сразу после импорта.
Поэтому перенос истории между разными проектами следует выполнять только если вы понимаете соответствие ID сущностей и структуры инфоблоков.
Безопасный сценарий переноса
- На исходном сайте отфильтруйте историю по нужным объектам.
- Сделайте экспорт и сохраните ZIP.
- На целевом сайте убедитесь, что нужные инфоблоки и объекты уже существуют с ожидаемыми ID.
- Импортируйте архив.
- Проверьте несколько версий через «Просмотр».
- Только после проверки используйте восстановление.
[Скриншот 3: импортированные записи MANUAL в общем журнале]
Повторный импорт одного архива
Штатный импорт не выполняет дедупликацию по содержимому. Повторная загрузка того же ZIP добавит новые ручные версии ещё раз. Поэтому храните отметку, какие архивы уже были импортированы.
Если импорт завершился ошибкой
- убедитесь, что загружается ZIP, а не распакованный history.json;
- проверьте, что внутри архива есть history.json;
- проверьте, что архив не повреждён;
- убедитесь, что модуль установлен и его таблицы доступны;
- при проблемах с файлами проверьте права записи на upload.
Совпадение ID объектов
Импорт связывает версию с ENTITY_TYPE и ENTITY_ID из исходного архива. Если на целевом сайте под этим ID находится другой объект, история окажется привязана к нему. Поэтому перенос между независимыми проектами нельзя выполнять без проверки соответствия идентификаторов.
Импорт не восстанавливает исходную дату
Дата записи меняется на момент импорта. Если нужно сохранить историческую дату для отчётности, штатная форма 0.9.802 этого не делает. Исходные сведения остаются только внутри экспортного архива, поэтому не удаляйте его до завершения проверки.
Проверка после импорта
- отфильтруйте MANUAL-версии по текущей дате;
- проверьте комментарий с пометкой import;
- откройте поля и свойства нескольких записей;
- проверьте файлы;
- не запускайте массовое восстановление до выборочной проверки.