Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
1С Интеграция: выполнение определённого действия по окончании выгрузки из 1С
Привет,
Очередной частый вопрос в ТП - "Как выполнить определённое действие после выгрузки из 1С?". Естественно, задачу можно решить кастомизацией компонента bitrix:catalog.import.1c.
Топорный вариант со вставкой кода, который будет выполнять определённую задачу, прямо в код компонента не подходит - это может увеличить время выгрузки товаров из 1С в разы, т.к. 1С будет ожидать ответа от сервера, а ответ не придёт пока будет выполняться ваш код. Примером может случить - выгрузка в Yandex.Market.
Выходом в данный момент является - агент. Решение, в принципе, тривиальное - вставка дополнительного шага выгрузки и создание на этом шаге агента, который будет "дёргать" нужную функцию.
Это добавит нам один шаг. Соответственно, в вызов компонента нужно добавить параметры AGENT_FUNCTION - строка, функция которая должна вызываться на созданном агенте, например "СTest::Test()". AGENT_INTERVAL - интервал и время, через которое должен отработать агент.
Основная тонкость в том, что агент будет добавляться всегда, при отработке кода, а при импорте из 1С код минимум отрабатывает 2 раза - на import.xml и offers.xml. Т.е. под свою задачу нужно вставлять определённые условия на создание агента.