Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
failure Ошибка проверки источника запроса. Обновите модуль обмена.
Видимо, битриксоиды отказались от поддержки ранее описанного ими же здесь протокола обмена:
Напомню, каким раньше был протокол:
Конечно, странно, что сейчас битриксоиды полностью отказались от поддержки модуля обмена, который идет в 1С УТ 11 без дополнений
Что делать, если такое произошло на вашем проекте с ранее настроенной интеграцией? Конечно, если интеграция вашего сайта сделана без кастомизации на стороне 1С, проще всего накатить на 1С свежее битриксовое дополнение. Что же делать, если модуль обмена на стороне 1С у вас кастомизирован, и в ваши планы сейчас не входит делать всю работу на стороне 1С заново на основе нового модуля обмена (а ее придется делать заново – изменения модуля обмена глубоки, и обычным слиянием с использованием 1С-совской системы контроля версий тут не обойдешься - проверила), тогда проще использовать на стороне сайта модуль обмена, выдранный из старой версии Битрикс.
Я думаю, каждый, кто захочет сделать себе деградацию модуля обмена на стороне Битрикс – сделает ее. А я сейчас расскажу, как сделать, чтобы ваш модуль обмена на стороне сайта был зафиксирован, никогда не обновлялся, не преподносил сюрпризов вашей кастомной 1С-ке при сохранении возможности обновления всех остальных модулей.
Идем в папку /bitrix/components/bitrix/ (на сайте, на котором обмен уже настроен и версия обмена вас устраивает) и копируем компоненты обмена
catalog.export.1c
catalog.export.1c
sale.export.1c
в свое пространство имен. Соответсвенно я копирую их в папку
/local/components/bedrosova/
Далее нам необходимо скопировать классы обмена. Мы не будем их наследовать в этот раз, а сделаем копии. Заводим свой файлик, не важно по сути, где он будет лежать и как называться, к примеру, можно положить его в /local/php_interface/lib/exchange.php
Открываем файл /www/bitrix/modules/iblock/classes/general/cml2.php и копируем класс class CIBlockCMLImport в свой файлик с другим именем, например с именем CIBlockCMLImport2, аналогично поступаем с файлом CIBlockCMLExport из того же файла.
Аналогично поступаем с классом CAllSaleExport из файла /bitrix/modules/sale/general/ export.php и с классом CSaleExport из /bitrix/modules/sale/mysql/export.php (делаем ему class CSaleExport2 extends CAllSaleExport2)
Далее в наших компонентах обмена из нашего пространства имен подключаем наш файл с нашими классами-копиями, после чего заменяем в компонентах все вызовы CIBlockCMLImport, CIBlockCMLExport и CSaleExport на вызовы CIBlockCMLImport2, CIBlockCMLExport2 и CSaleExport2
После этого идем в /bitrix/admin/ содаем там новый файл 1c_exchange2.php, копируем туда содержимое файла /bitrix/modules/sale/admin/1c_exchange.php
Заменяем в нашем файле /bitrix/admin/1c_exchange2.php вызовы стандартных компонентов битрикс bitrix:sale.export.1c, bitrix:sale.export.1c и bitrix:catalog.export.1c на вызовы наших кастомных (я заменяю на bedrosova:sale.export.1c, bedrosova:sale.export.1c и bedrosova:catalog.export.1c), прописываем в 1С путь к нашему скрипту обмена /bitrix/admin/1c_exchange2.php
Наслаждаемся!
Теперь можем спокойно обновлять битрикс, и не ждать сюрпризов по части обмена с 1С.
Примечание! Наши скопированные классы продолжают использовать стандартные языковые файлы.
Назад в раздел
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Изменения протокола обмена между 1С-Битрикс и 1С Предприятие
Вот такую веселую ошибку при обмене заказами могут наблюдать Битрикс-администараторы, накатившие свежие обновления на Битрикс, но не обновившие модуль обмена на стороне 1Сfailure Ошибка проверки источника запроса. Обновите модуль обмена.
Видимо, битриксоиды отказались от поддержки ранее описанного ими же здесь протокола обмена:
Напомню, каким раньше был протокол:
|
Что делать, если такое произошло на вашем проекте с ранее настроенной интеграцией? Конечно, если интеграция вашего сайта сделана без кастомизации на стороне 1С, проще всего накатить на 1С свежее битриксовое дополнение. Что же делать, если модуль обмена на стороне 1С у вас кастомизирован, и в ваши планы сейчас не входит делать всю работу на стороне 1С заново на основе нового модуля обмена (а ее придется делать заново – изменения модуля обмена глубоки, и обычным слиянием с использованием 1С-совской системы контроля версий тут не обойдешься - проверила), тогда проще использовать на стороне сайта модуль обмена, выдранный из старой версии Битрикс.
Я думаю, каждый, кто захочет сделать себе деградацию модуля обмена на стороне Битрикс – сделает ее. А я сейчас расскажу, как сделать, чтобы ваш модуль обмена на стороне сайта был зафиксирован, никогда не обновлялся, не преподносил сюрпризов вашей кастомной 1С-ке при сохранении возможности обновления всех остальных модулей.
Идем в папку /bitrix/components/bitrix/ (на сайте, на котором обмен уже настроен и версия обмена вас устраивает) и копируем компоненты обмена
catalog.export.1c
catalog.export.1c
sale.export.1c
в свое пространство имен. Соответсвенно я копирую их в папку
/local/components/bedrosova/
Далее нам необходимо скопировать классы обмена. Мы не будем их наследовать в этот раз, а сделаем копии. Заводим свой файлик, не важно по сути, где он будет лежать и как называться, к примеру, можно положить его в /local/php_interface/lib/exchange.php
Открываем файл /www/bitrix/modules/iblock/classes/general/cml2.php и копируем класс class CIBlockCMLImport в свой файлик с другим именем, например с именем CIBlockCMLImport2, аналогично поступаем с файлом CIBlockCMLExport из того же файла.
Аналогично поступаем с классом CAllSaleExport из файла /bitrix/modules/sale/general/ export.php и с классом CSaleExport из /bitrix/modules/sale/mysql/export.php (делаем ему class CSaleExport2 extends CAllSaleExport2)
Далее в наших компонентах обмена из нашего пространства имен подключаем наш файл с нашими классами-копиями, после чего заменяем в компонентах все вызовы CIBlockCMLImport, CIBlockCMLExport и CSaleExport на вызовы CIBlockCMLImport2, CIBlockCMLExport2 и CSaleExport2
После этого идем в /bitrix/admin/ содаем там новый файл 1c_exchange2.php, копируем туда содержимое файла /bitrix/modules/sale/admin/1c_exchange.php
Заменяем в нашем файле /bitrix/admin/1c_exchange2.php вызовы стандартных компонентов битрикс bitrix:sale.export.1c, bitrix:sale.export.1c и bitrix:catalog.export.1c на вызовы наших кастомных (я заменяю на bedrosova:sale.export.1c, bedrosova:sale.export.1c и bedrosova:catalog.export.1c), прописываем в 1С путь к нашему скрипту обмена /bitrix/admin/1c_exchange2.php
Наслаждаемся!
Теперь можем спокойно обновлять битрикс, и не ждать сюрпризов по части обмена с 1С.
Примечание! Наши скопированные классы продолжают использовать стандартные языковые файлы.
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх