Особенности импорта и экспорта CSV в модуле Обмен данными
Сначала рассмотрим пример импорта новых данных. Как и написано в документации, необходимо указывать id страниц, id может содержать как буквы, так и цифры и он должен быть уникальным хотя бы для одного файла импорта. Важно, родительские страницы, внутри которых есть дочерние, располагались в файле выше, до перечисления дочерних страниц. При повторном импорте этого же файла, с измененными данными, уже существующие страницы обновятся. Корректное обновление происходит потому что при первом импорте, в базе данных, в таблицу cms3_import_sources добавляется новый источник данных, к примеру с параметрами:
id = 13 source_name = 3515.csv
source_name выставляется равным названию импортируемого файла. А в таблице cms3_import_relations, для нового источника импорта проставляются соответствия между id страницы в CSV-файле и id страницы который поставила UMI при создании страницы в системе. В итоге, при повторном импорте данных, по названию файла, в таблице cms3_import_sources определяется id источника импорта, предположим что он равен 13. Потом при обновлении страницы из CSV файла с id = 345_object, в таблице cms3_import_relations ищется строка параметрами:
source_id = 13 old_id = 345_object
если соответствие найдено, то берется значение в столбце new_id и именно страница с данным page_id обновляется в системе.
Рассмотрим экспорт данных. При экспорте данных в Csv, система может дать название файлу с данными примерно в следующем виде: 5847.csv
и в базе данных, в таблицах cms3_import_sources и cms3_import_relations пропишутся необходимые соответствия. Потом при изменении данных в полученном файле и импорте этого файла, очень важно, чтобы файл, который будет прикреплен к сценарию импорта сохранил свое исходное название, в данном случае это 5847.csv. Если название файла изменится, допустим станет 5847_10.csv, уже существующие данные не обновятся, будут созданы новые страницы, т.к. не найдется соответствий в таблицах cms3_import_sources (название файла) и cms3_import_relations (id страниц, которые должны быть обновлены).