Всвязи с большими объемами сделок (счетов,товаров) на сайтах, всё чаще возникает необходимость "серийного" (пошагового) запуска тех или иных обработчиков.
Общая идея метода в следующем:
Имеем аякс-клиент,который с заданной периодичностью инициирует на сервере скрипт, обрабатывающий очередную порцию данных.
Принципиальное новшество метода,описанного в данной статье, в том, что клиентская часть реализована при помощи битриксовых аякс-функций.
Итак, задача реализуется при помощи трех страниц.
На первой - необходимые настроечные параметры запуска: ID инфоблока (указание CRM сущности - и т п - с чем собираемся работать),другие необходимые в контексте параметры плюс - шаг обработки данных. Страница представляет из себя форму, по кнопке сабмит сохраняем все введенные параметры в сессию и переходим к странице 2.
Вот примерный код:
if ($y = $_POST['id кнопки Сабмит']){ &nbsnbsp; $_SESSION["имя переменной сессии"] = $_POST[имя параметра]; .............................. ............................ $_SESSION["..."] = $_POST["..."]; require($_SERVER["DOCUMENT_ROOT"]."/адрес страницы 2 от корня сайта"); else { ?> |
На ней не должно быть ничего лишнего, только именованный див (для вывода сообщений аякс-скрипта и результата) и собственно аякс-функция
Вот примерный код
|
setTimeout(repeat_export, 1000); // циклический вызов скрипта } else { BX("step5-progress-bar").innerHTML = ''; } }, onfailure: function(){ } }); } BX.ready(function (){ setTimeout(repeat_export, 10); });
|
|