Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Обмен с 1с

00 голосов
5
День добрый.
Стоит задача запуска скрипта после того как обмен каталога сайта с 1С будет закончен.
В том скрипте идет модификация данных каталога.

В общем попытался его засунуть в /bitrix/admin/1c_exchenge.php после подключения другого файла. несрабатывает.
попытался прописать свой скрипт в вызываемый в нем файл. тоже не срабатывает.

Вопрос. где и как узнать что обмен данными с 1С завершился.
спросил 09 Май, 13 от Grimmi (2,560 баллов)

5 Ответы

00 голосов
Мне как то рассказали о таком решении в файл который находится /bitrix/modules/sale/admin/1c_exchange.php
добавляем инклуд
Код
<?include "sync.php";?>

в файле синк у нас код типа
Код
<?
if($_SESSION["BX_CML2_IMPORT"]["NS"]["STEP"] == 18)
{
    // 1с экспорт закончен - запускаем в фоне наш скрипт
    $host = $_SERVER["HTTP_HOST"];
    $path = "/test/index.php";
    
    $fp = fsockopen($host, 80);
    if ($fp){
        $out = "GET $path HTTP/1.1\r\n";
        $out .= "Host: $host\r\n";
        $out .= "Connection: Close\r\n\r\n";
        
        fwrite($fp, $out);
        fclose($fp);
    }
}

то есть фоном что бы не мешать выгрузке 1с запускаем файл (в котором модификация данных) на предпоследнем шаге выгрузки когда все данные в битриксе уже есть.
У меня так получалось когда выгрузка шла в один иб, но когда стало выгружаться два иб так как во втором были характеристики, то обработки не происходило, так как видимо шаг уже изменился, а что бы его узнать при двух иб надо делать логгер которые записывает в файл все что присылает 1с ка
ответил 09 Май, 13 от Norell (260 баллов)
00 голосов
Непомогло.
ИБ один. характеристики хронятся в том же ИБ.
Можно узнать поподробнее про:
Код
if($_SESSION["BX_CML2_IMPORT"]["NS"]["STEP"] == 18)

Почему именно 18 шаг?
ответил 10 Май, 13 от Grimmi (2,560 баллов)
00 голосов
ой нет шаг неверно указан это как раз был эксперимент для двух 18 но это не помогло у меня, надо тебе 9 поставить надо.
ответил 15 Июль, 13 от Norell (260 баллов)
00 голосов
И снова провал (.
Что за шаги? где можно почитать их описание?
ответил 19 Окт, 13 от Grimmi (2,560 баллов)
00 голосов
почитать не знаю где, надо делать логгер который будет принимать с 1ски все пост переменные и переменные сессии, анализировать данные и выяснять что за шаги...
ответил 22 Янв, 14 от Norell (260 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
2 ответов
спросил 20 Апр, 14 от vjick (100 баллов)
0 голосов
4 ответов
спросил 02 Янв, 14 от Oggi (520 баллов)
0 голосов
8 ответов
спросил 04 Июль, 13 от Jerok (120 баллов)
+1 голос
1 ответ