@antonowano
Профессиональный самоучка

Как обновлять только статусы заказов?

Имеется Биток интегрированный с 1С. Из Битка выгружаются заказы в 1С, а после обновление заказа в 1С он выгружается обратно в Биток. Есть задача исключить любые изменения кроме статуса. Подскажите, хотя бы, в каких файлах рыться?
  • Вопрос задан
  • 612 просмотров
Решения вопроса 1
udjin123
@udjin123
PHP, Golang, React
1с отправляет данные на скрипт /bitrix/admin/1c_exchange.php
В этом файле за обновление заказов из 1с отвечает кусок кода, где вызывается компонент sale.export.1c, в котором за все это отвечает класс CSaleOrderLoader

Как кастомизировать выгрузку не трогая ядро?

1. Создаем свой класс и наследуем его от CSaleOrderLoader ну или тупо копи-пастим CSaleOrderLoader но уже своим названием, пусть будет MyOrderLoader

2. Меняем в нем логику обновления заказа из 1с (запасаемся валерьянкой и кофе, там класс на ~4000 строк)
5e35dc000fc8b072477447.jpeg

3. Создаем папочку /local/bitrix/components/custom и копируем туда компонент sale.export.1c (да, да! в компоненте с названием export, делается импорт)
5e35dd91e8fa4990941836.jpeg

4. В файлике /local/bitrix/components/custom/sale.export.1c/component.php подменяем название класса CSaleOrderLoader на MyOrderLoader

5. Копируем /bitrix/admin/1c_exchange.php в /bitrix/admin/my_1c_exchange.php и меняем в нем вызов
bitrix:sale.export.1c на custom:sale.export.1c

6. В 1ске в модуле обмена меняем путь соответственно на /bitrix/admin/my_1c_exchange.php
5e35db643087f714543457.jpeg
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы