Экспорт заказов в Bitrix24 для Opencart. Битрикс экспорт заказов
Кастомизация экспорта заказов в 1С Предприятие без модификаций ядра 1С Битрикс
Например, недавно я столкнулась с такой задачей. Оптовые покупатели интернет-магазина (на 1С Битрикс Бизнес 11й версии ядра) обладают дополнительными свойствами: номерами договоров и датами заключения этих договоров. При оформлении заказа они выбирают один из своих договоров, на основании которого будет происходить сделка. Номер договора и его дата – должны передаваться в 1С предприятие при экспорте заказов.
Формированием xml-файла заказов, который передается в 1С Предприятие, занимается функция из ядра Битрикс ExportOrders2Xml, которая описана в файле bitrix/modules/sale/general/export.php
Конечно, соблазн исправить пару строк в ней прямо там на месте – велик. Это займет 5 минут. НО ядро битрикс станет модифицированным и каждый раз, обновляя ядро, нужно будет помнить об этой модификации и вносить ее снова. Каждый раз. А если проект перейдет на сопровождение другой студии или разработчику (как частенько бывает), и заказчик забудет о том, что ядро его проекта модифицировано, в один прекрасный день это может обернуться серьезными проблемами. Поэтому, я думаю, что лучше сразу потратить 30 минут вместо 5, но кастомизировать экспорт так, чтобы ядро не было затронуто, и чтобы об этой модификации не нужно было помнить.
Как я делаю? Я копирую компонент sale.export.1c из папки /bitrix/components/bitrix/ в свое пространство имен /bitrix/components/bedrosova/, затем в папке компонента создаю еще 1 файлик /bitrix/components/bedrosova/sale.export.1c/functions.phpВ этот файлик я копирую полное описание функции ExportOrders2Xml из файла bitrix/modules/sale/general/export.php и незамысловато переименовываю ее в ExportOrders2Xml2 (а здесь нужно отметить, что исходная функция ExportOrders2Xml – это статический метод класса, и именно поэтому описываемый мною способ применим. Если бы этот метод не был статическим, то пришлось бы либо копировать весь класс, содержащий его, либо заводить класс – наследующий его. Наследование – это, конечно, спорный механизм, но не в сравнении с модификацией исходного класса) и затем уже в своей скопированной функции вношу все необходимые мне модификации.
После этого я подключаю файл со своей функцией
/bitrix/components/bedrosova/sale.export.1c/functions.php
в своем компоненте /bitrix/components/bedrosova/sale.export.1c/components.php
Затем заменю вызов статического метода класса
CSaleExport::ExportOrders2Xml на вызов свой функции ExportOrders2Xml2
Все, остается только не забыть заменить в файле обмена вызов стандартного компонента sale.export.1c на вызов кастомизированного.
Кастомизация экспорта заказов описанным методом не слетает даже при переходе с 11й версии ядра на 12ю, в которой стандартный экспорт организован с использованием класса CIBlockCMLExport. О его кастомизации без модификации ядра я напишу как-нибудь в другой раз.
Кастомизация экспорта заказов в 1С Предприятие без модификаций ядра 1С Битрикс | Студия Юлии Бедросовой
Продолжая тему нестандартной интеграции 1С Битрикс и 1С Предприятия, хочу рассказать о том, как я кастомизирую экспорт заказов. Это тоже довольно востребованная и распространённая задача, и, что интересно, практически всегда заказчиков не устраивает экспорт «из коробки», и они просят пусть какие-то мелочи, но переделать.Например, недавно я столкнулась с такой задачей. Оптовые покупатели интернет-магазина (на 1С Битрикс Бизнес 11й версии ядра) обладают дополнительными свойствами: номерами договоров и датами заключения этих договоров. При оформлении заказа они выбирают один из своих договоров, на основании которого будет происходить сделка. Номер договора и его дата – должны передаваться в 1С предприятие при экспорте заказов.
Формированием xml-файла заказов, который передается в 1С Предприятие, занимается функция из ядра Битрикс ExportOrders2Xml, которая описана в файле bitrix/modules/sale/general/export.php
Конечно, соблазн исправить пару строк в ней прямо там на месте – велик. Это займет 5 минут. НО ядро битрикс станет модифицированным и каждый раз, обновляя ядро, нужно будет помнить об этой модификации и вносить ее снова. Каждый раз. А если проект перейдет на сопровождение другой студии или разработчику (как частенько бывает), и заказчик забудет о том, что ядро его проекта модифицировано, в один прекрасный день это может обернуться серьезными проблемами. Поэтому, я думаю, что лучше сразу потратить 30 минут вместо 5, но кастомизировать экспорт так, чтобы ядро не было затронуто, и чтобы об этой модификации не нужно было помнить.
В этот файлик я копирую полное описание функции ExportOrders2Xml из файла bitrix/modules/sale/general/export.php и незамысловато переименовываю ее в ExportOrders2Xml2 (а здесь нужно отметить, что исходная функция ExportOrders2Xml – это статический метод класса, и именно поэтому описываемый мною способ применим. Если бы этот метод не был статическим, то пришлось бы либо копировать весь класс, содержащий его, либо заводить класс – наследующий его. Наследование – это, конечно, спорный механизм, но не в сравнении с модификацией исходного класса) и затем уже в своей скопированной функции вношу все необходимые мне модификации.
После этого я подключаю файл со своей функцией
/bitrix/components/bedrosova/sale.export.1c/functions.php
в своем компоненте /bitrix/components/bedrosova/sale.export.1c/components.php
Затем заменю вызов статического метода класса
CSaleExport::ExportOrders2Xml на вызов свой функции ExportOrders2Xml2
Все, остается только не забыть заменить в файле обмена вызов стандартного компонента sale.export.1c на вызов кастомизированного.
Кастомизация экспорта заказов описанным методом не слетает даже при переходе с 11й версии ядра на 12ю, в которой стандартный экспорт организован с использованием класса CIBlockCMLExport. О его кастомизации без модификации ядра я напишу как-нибудь в другой раз.
Экспорт заказов в Bitrix24 Opencart
Модуль автоматических уведомлений о новых заказах из Opencart 2.x в Bitrix24. Полная передача информации о заказе в Битрикс24. Экспорт лидов с интернет-магазина.
Как работает модуль
При создании заказа на товар все данные с формы, которые заполнил клиент (имя, телефон, список товаров, адрес, город) автоматически передаются в CRM Bitrix24, как новый лид и там автоматически заполняются все соответствующие поля.
Модуль работает с API Битрикс24. В настройках магазина на Opencart 2 после установки модуля появится вкладка "Bitrix24", в которой нужно ввести данные доступа к вашему аккаунту Битрикс: логин, пароль и домен вашей CRM, типа domain.bitrix24.ru
Характеристики дополнения | |
Совместимость | 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.2.0, 2.0.3.1, 2.1.0.1, 2.1.0.2, 2.2.0.0, 2.3.0.0, 2.3.0.1, 2.3.0.2 |
Язык | русский, английский |
Ocmod | да |
Характеристики дополнения | |
Совместимость | 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.2.0, 2.0.3.1, 2.1.0.1, 2.1.0.2, 2.2.0.0, 2.3.0.0, 2.3.0.1, 2.3.0.2 |
Язык | русский, английский |
Ocmod | да |
- Скачайте файл модуля нужной вам версии Opencart с нашего сайта;
- Перейдите в раздел "Установка дополнений/расширений" и нажмите кнопку "Загрузить";
- Выберите скачанный файл и дождитесь появления текста "Дополнение успешно установлено";
- Затем перейдите в "Менеджер дополнений" и нажмите кнопку "Обновить";
- Теперь нужно дать права на просмотр и управление модулем в разделе "Группы пользователей" нажав "Выделить все"
Перед выполнением каких-либо действий по установке дополнения настоятельно рекомендуем создать резервную копию файлов сайта и базы данных!
ocmod.net