Первое куда надо смотреть – установлена ли константа CACHED_b_sale_order. Установил в after_connect.php. Если ставить малое время, то если реалтайм за это время заказ не заберет – то система забудет, что его надо забрать. Поэтому ставим астрономическую цифру.
Изменился алгоритм регистрации заказа в измененных для реалтайм.
Раньше было в …\bitrix\modules\sale\lib\order.php:
if(defined("CACHED_b_sale_order") && ($this->isNew || ($this->isChanged() && $fields["UPDATED_1C"] != "Y")))
{
$CACHE_MANAGER->Read(CACHED_b_sale_order, "sale_orders");
$CACHE_MANAGER->SetImmediate("sale_orders", true);
}
теперь появилась обработка событий при записи заказа, в число которых, однако, создание кэша для реалтайм видимо не входит.
Добавил после проверок на успешность так:
$CACHE_MANAGER->Read(CACHED_b_sale_order, "sale_orders");
$CACHE_MANAGER->SetImmediate("sale_orders", true);
После этих манипуляций реалтайм заработал. Надо бы разобраться, что там за события, fs!…
P.S. Уточнение – битрикс не обновлял, а ставил новый с нуля.