Skip to main content

Передача данных выгрузки из 1С на сайт — в сжатом (zip архиве) и несжатом виде

21 мая, 2020 11:41
Просмотров 29
Section backgroundSection background

1C может передавать выгрузку на сайт, как в сжатом виде (в zip архиве), так и в несжатом, то есть каждый файл по отдельности.

Безусловно, вариант передачи в сжатом виде является более оптимальным, так как передается меньший объем данных и меньшим числом запросов (без сжатия, каждый файл передается отдельно и отдельным запросом), что может очень существенно сэкономить время на передаче, в особенности, когда много картинок или размер xml велик (данные в xml содержат большое количество одинаковой информации, так как теги имеют одинаковые имена, что очень хорошо поддается сжатию, к примеру 40 мегабайт xml из выгрузки, в архиве занимают порядка 500 килобайт).

В настройках плагина принятие данных в сжатом виде включено по умолчанию, в 1С вам делать ничего не нужно это стандартное поведение и, будут данные сжиматься или нет, по сути решает принимающая сторона, сообщая в рамках протокола о том, готова она принять в сжатом виде или нет.

Работает это следующим образом:

Перед тем, как передавать данные на сайт, 1С отправляет запрос вида — «type=catalog&mode=init», запрашивая от сайта параметры обмена, а именно, поддерживается ли передача в сжатом виде и ограничение на размер части данных, в ответ получая «zip=yes» или «zip=no» и «file_limit=значение» и уже использует полученные настройки в логике выгрузки. 

Если в ответ было получено «zip=yes», то 1С сжимает сформированную выгрузку в архив и передает его на сайт. После завершения передачи архива, 1С начинает передавать запросы вида «type=catalog&mode=import&filename=имя xml файла» на сайт для того, чтобы он обработал переданные данные, сайт получив первый такой запрос, распаковывает ранее полученный архив и приступает к обработке указываемого 1С файла выгрузки.

Если в ответ было получено «zip=no», то 1С не сжимает выгрузку в архив, а сразу после формирования, начинает последовательную передачу на сайт, при этом каждый файл, включая картинки, передается отдельно.

Поделиться: