Проблема, с которой вы столкнулись, связана с тем, как обрабатываются и выводятся данные в вашем компоненте Битрикса. Есть несколько причин, по которым при отсутствии кэша порядок вывода контента может быть нарушен:
1. **Использование буферизации вывода**: Если вы выводите данные напрямую (например, с помощью `echo`), это может привести к тому, что они будут отображены до того, как будут выполнены все операции вывода компонента. В зависимости от того, как вы организовали вывод, это может повлиять на порядок.
Первое, что нужно проверить – это использование буферизации. Для того, чтобы избежать проблем с порядком вывода, вы можете использовать функции буферизации (`ob_start()` и `ob_get_clean()`). Это позволит вам контролировать, когда именно выводится HTML-код.
Пример:
```php
ob_start();
echo "11111111";
$APPLICATION->IncludeComponent(...);
$content = ob_get_clean();
echo $content;
```
2. **Проверка порядка инициализации**: Убедитесь, что все переменные, которые требуются для корректного формирования вывода, инициализируются до момента включения шаблона компонента. Если что-то не инициализировано или выставлено после `IncludeComponentTemplate()`, это может повлиять на вывод HTML.
3. **Различия в структуре вывода**: Возможно, что ваш код в блоке, где кэш не создается, генерирует HTML в другой структуре по сравнению с тем, когда кэш используется. Вам стоит просмотреть этот код и убедиться, что он генерирует одинаковый HTML и для закэшированных, и для незакэшированных данных.
4. **Проблемы с шаблоном компонента**: Убедитесь, что ваш шаблон компонента не зависит от кэшируемых данных таким образом, что их отсутствие приводит к стабильным ошибкам вывода.
5. **Debugging**: Включите вывод ошибок для более детального анализа, что именно происходит при выполнении вашего кода. Это может дать вам подсказки о том, где происходит сбой.
Если все вышеперечисленное не помогает, вам стоит подробнее рассмотреть сам код компонента, чтобы убедиться, что вы правильно обрабатываете данные и контролируете вывод.