Ассиметричный по времени обмен с Битриксом. УТ 11

Клиент захотел, чтобы заказы с сайта грузились чаще, а товары выгружались реже. Потому что товары меняются редко, а заказы нужно видеть чуть ли не оперативно.

Я сделал простую логику — при запуске обмена запоминалось, когда произошла последняя выгрузка товаров и если время еще не подошло, то делал только загрузку заказов.

&Вместо(«ДобавитьНастройкиОбменаВПараметры»)
Функция дор_ДобавитьНастройкиОбменаВПараметры(УзелОбмена, Параметры, ПринудительнаяПолноеОбновлениеДанныхТовара)
   
//2021-05-06 — делает загрузку не такой частой
   
Результат = ПродолжитьВызов(УзелОбмена, Параметры, ПринудительнаяПолноеОбновлениеДанныхТовара);
    Если
Результат <> Истина Тогда Возврат Результат; КонецЕсли; //Если были ошибки

   
УстановитьПривилегированныйРежим(Истина);
   
дор_ИнтервалВыгрузкиНаСайтМинут = Константы.дор_ИнтервалВыгрузкиНаСайтМинут.Получить();
    Если
ЗначениеЗаполнено(дор_ИнтервалВыгрузкиНаСайтМинут) Тогда
       
дор_ПоследняяВыгрузкаНаСайт = Константы.дор_ПоследняяВыгрузкаНаСайт.Получить();
       
Сейчас = ТекущаяДата();
       
РазницаМинут = Цел((Сейчас дор_ПоследняяВыгрузкаНаСайт) / 60); //Разница в минутах
        //Если прошло еще недостаточно времени с момента последней выгрузки
       
Если РазницаМинут < дор_ИнтервалВыгрузкиНаСайтМинут Тогда
           
Параметры.ВыгружатьНаСайт = ложь;
           
Параметры.ОбменТоварами = ложь;
           
СообщитьПодробно(» Прошло только » + РазницаМинут + » минут. Выгрузка на сайт не будет производиться, т.к. требуется перерыв »  + дор_ИнтервалВыгрузкиНаСайтМинут + » минут.», Параметры, Истина, ложь);
        Иначе
           
Константы.дор_ПоследняяВыгрузкаНаСайт.Установить(Сейчас);
           
дор_ПодготовитьДанныеПередВыгрузкой(); //Готовим данные для перед выгрузкой
       
КонецЕсли;
    КонецЕсли;

    Возврат
Результат;
КонецФункции

Для пользователя это выглядит так:

Вот несколько протоколов обмена:

Среда: УТ 11.4.13.46, 1С 8.3.16.1502, Битрикс «Интернет-магазин + 1С 7.0.1.32»

Объем факт: 1 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *