Общие

Где найти файл обмена заказами между Битрикс и 1С Предприятие

Где найти файл обмена заказами между Битрикс и 1С Предприятие

Файлы обмена заказами между Битрикс и 1С Предприятие обычно находятся в нескольких местах, в зависимости от настройки вашей системы:

В Битрикс:

  • Основной каталог обмена данными:
/bitrix/admin/1c_exchange.php

Это скрипт, который обрабатывает запросы от 1С.

  • Папка с файлами заказов:
/upload/1c_exchange/

В этой директории создаются временные файлы XML для обмена данными.

  • Логи обмена (если включено логирование):
/bitrix/modules/sale/admin/1c_exchange_log.txt

В 1С:

  • В 1С Предприятие файлы обмена обычно хранятся в каталоге:
C:\Program Files\1Cv8\conf\

или

%APPDATA%\1C\1Cv8\
  • Если используется CommerceML**: Файлы заказов в формате XML (.xml) создаются в папке, указанной в настройках обмена в 1С.

Проверьте настройки:

  • В Битрикс: Администрирование > Настройки > Настройки продукта > Интеграция с 1С

  • В 1С: В настройках обмена с сайтом, где указан URL для выгрузки и параметры авторизации

Если вам нужно найти конкретный файл с заказами, проверьте логи обмена — там будет указан путь к файлам, которые использовались при последнем обмене.

Имейте в виду, что конфигурация может отличаться в зависимости от версии Битрикс и 1С, а также от особенностей настройки вашей системы.

Для сохранения XML-файлов обмена между Битрикс и 1С нужно выполнить настройки в обеих системах:

В Битрикс:

  • Включение логирования обмена:

  • Перейдите в Настройки > Настройки продукта > Настройки модулей > Интернет-магазин

  • В разделе “Обмен с 1С” установите флажок “Записывать подробную информацию в лог”

  • Также можно включить опцию “Сохранять временные файлы”

  • Через настройки в файле (.settings.php или .settings_extra.php):

'sale' => array(
'value' => array(
'1C_IMPORT_DEBUG' => true,
'1C_INTERVAL' => 30,
'log_1c_exchange' => true
)
)
  • Настройка в php_interface: Создайте или отредактируйте файл /bitrix/php_interface/init.php:
// Сохранение XML-файлов обмена с 1С
define('SALE_DEBUG', true);
define('BX_SALE_IMPORT_1C_PRESERVE_XML', true); // Сохранять XML файлы

В 1С:

  • Настройка сохранения файлов выгрузки:

  • Откройте обработку обмена с сайтом

  • В настройках обмена найдите раздел “Настройки обмена” или “Дополнительно”

  • Включите опцию “Сохранять файлы обмена” (название может отличаться в разных конфигурациях)

  • Путь для сохранения файлов:

  • В 1С настройте директорию для сохранения файлов обмена

  • Обычно это делается в настройках обработки обмена в поле “Каталог файлов обмена”

Проверка результата:

После включения этих настроек:

  • XML-файлы будут сохраняться в директории /upload/1c_exchange/ на стороне Битрикс

  • В 1С файлы будут сохраняться в указанном каталоге

  • Дополнительная информация будет записываться в лог /bitrix/modules/sale/admin/1c_exchange_log.txt

Важные примечания:

  • Включение логирования и сохранения файлов может замедлить процесс обмена

  • Регулярно очищайте каталоги с сохраненными файлами, чтобы они не занимали много места

  • После отладки рекомендуется отключить эти опции в производственной среде

Эти настройки позволят вам сохранять и анализировать XML-файлы, которыми обмениваются системы, что полезно для диагностики проблем интеграции.

Решение проблемы с сохранением XML-файлов обмена

Если XML-файлы не сохраняются в директории /upload/1c_exchange/, давайте выполним следующие действия для исправления:

1. Добавьте константы в файл init.php

В файле /bitrix/php_interface/init.php добавьте следующие строки:

php Скопировать

Закрыть блок

// Сохранение XML файлов при обмене с 1С
define('BX_SALE_IMPORT_1C_PRESERVE_XML', true); // Главная константа для сохранения XML
define('SALE_DEBUG', true); // Режим отладки
define('BX_CRONTAB_SUPPORT', true); // Для поддержки длительного обмена
define('BX_CRONTAB', true); // Для корректной работы обмена в фоне

2. Проверьте права доступа к директории

/upload/1c_exchange/

Убедитесь, что веб-сервер имеет права на запись в эту директорию:

bash Скопировать

Закрыть блок

chmod 755 /path/to/site/upload/1c_exchange/
chown www-data:www-data /path/to/site/upload/1c_exchange/

(замените www-data на пользователя, от имени которого работает веб-сервер, например, apache, nginx или другой)

3. Создайте директорию, если она не существует

php Скопировать

Закрыть блок

// Добавьте в init.php
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/upload/1c_exchange/')){
mkdir($_SERVER['DOCUMENT_ROOT'].'/upload/1c_exchange/', 0755, true);
}

4. Настройки через .htaccess

Создайте файл /upload/1c_exchange/.htaccess для защиты директории:

Order Deny,Allow
Deny from all

Allow from all

5. Очистите кеш Битрикса

Перейдите в панель администратора и выполните:

  • Настройки > Настройки продукта > Автокеширование > Очистить кеш

  • Или через командную строку, если доступно: php -f /bitrix/modules/main/tools/clear_cache.php

6. Дополнительный способ через модуль sale

Можно создать или отредактировать файл /bitrix/modules/sale/lib/helpers/admin/orderedit.php (сделайте резервную копию перед изменением):

php Скопировать

Закрыть блок

// В подходящем месте добавьте
\Bitrix\Main\Config\Option::set('sale', '1C_IMPORT_DEBUG', 'Y');
\Bitrix\Main\Config\Option::set('sale', 'log_1c_exchange', 'Y');

7. Проверьте, не блокируются ли файлы

Убедитесь, что на сервере нет правил (например, в конфигурации nginx/apache), которые блокируют доступ к .xml файлам в этой директории.


После выполнения этих шагов, попробуйте запустить обмен с 1С снова. XML-файлы должны начать сохраняться в указанной директории.

Если проблема сохраняется, проверьте логи ошибок веб-сервера, они могут содержать информацию о причине отсутствия сохранения файлов.


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →