Если после обмена с 1С удаляются SEO-поля, проблема обычно находится в правилах владения данными: импорт обновляет свойства, метаполя, текст или символьный код значением из 1С, включая пустое. Возможен и более серьёзный сценарий — товар удаляется и создаётся заново, поэтому теряет все ручные данные.
Первое действие — остановить повторный обмен или работать на копии, сохранить резервную копию и выяснить, какие именно поля и элементы изменяются.
Определите тип потерянных данных
В Битрикс SEO может храниться в шаблонах метаданных инфоблока и раздела, индивидуальных IPROPERTY_VALUES, обычных свойствах, PREVIEW_TEXT, DETAIL_TEXT, CODE или пользовательской таблице. Механизм восстановления и защиты для них различается.
Составьте список: поле, старое значение, ID товара, XML_ID, время изменения и источник заполнения.
Проверьте, обновился или пересоздался товар
Сравните внутренний ID до и после. Если он новый, проблема не в отдельном SEO-поле: обмен потерял связь по внешнему идентификатору. Сначала восстановите стабильный XML_ID и карту соответствия. Иначе любые ручные данные будут исчезать снова.
Если ID прежний, смотрите обработчики импорта и настройки обновления.
Пустое значение тоже может быть командой
Некоторые процессы трактуют отсутствие поля как «не менять», другие — как «очистить». Зафиксируйте контракт обмена: какие поля передаются, что означает пустота и кто имеет право удалить значение. Не полагайтесь на случайное текущее поведение модуля.
Проверьте фактический CommerceML-файл или другой пакет до загрузки.
Разделите владельцев полей
Например, 1С управляет названием, ценой, остатком и базовыми характеристиками, а сайт — SEO-title, description, H1, текстом категории и символьным кодом. Либо название принадлежит редакции сайта, если оно оптимизировано и не должно повторять номенклатуру.
- поле и сущность;
- система-источник;
- разрешённое направление;
- правило для пустого значения;
- ручное исключение;
- журнал изменения;
- ответственный.
Проверьте пользовательские обработчики
События до и после добавления элемента могут генерировать CODE, очищать свойства или пересчитывать метаданные при любом обновлении. Логика, написанная для нового товара, иногда запускается и для существующего. Добавьте условия и журнал, не изменяя ядро Битрикс.
Учитывайте кеш: поле может сохраниться в базе, но старая страница продолжит показывать пустое значение.
Как восстановить потерянное
Лучший источник — резервная копия базы или журнал версий. Восстанавливайте выбранные поля по стабильному идентификатору, а не откатывайте всю рабочую базу без оценки новых заказов и остатков. Сначала исправьте обмен, затем верните данные на тестовой группе.
Если резервной копии нет, используйте выгрузки, поисковые кеши и редакционные документы как вспомогательные источники, проверяя актуальность вручную.
Защитите следующий обмен
Выполните импорт одной позиции с заполненным SEO, пустым значением из 1С, переименованием и повторным запуском. Сравните все поля до и после автоматически. Введите порог остановки: неожиданное массовое очищение не должно доходить до полного каталога.
Контроль после запуска
- Создать резервную копию.
- Сохранить выгрузку SEO-полей.
- Запустить малую партию.
- Сравнить изменения.
- Проверить страницы и кеш.
- Повторить обмен.
- Настроить регулярный отчёт об очистках.
Алиса может найти участок импорта, который очищает поля, и настроить разделение данных между 1С и Битрикс без правки ядра.
Комментарии
Комментариев пока нет. Будьте первым!
Оставить комментарий