Вероятно проблема не в компиляторе, а в локали системы. Посмотрите текущие используемые локали, команда locale в консоли. Должно быть что-то типа:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Виталий, вы сейчас делаете запросы в базе по количеству значений в arSource. Почему не получить 1 запросом с группировкой, если вам нужно только количество? https://dev.1c-bitrix.ru/api_d7/bitrix/main/entity... параметр group, там же в документации ссылка на страницу обучающего курса с примерами.
Nik Master, чем вы этот файл редактируете? в куче мест вместо нормальных пробелов спецсимвол неразрывного пробела, который PHP не воспринимает обычным пробелом https://pasteboard.co/jN2QW6bTQbVI.png
В Битриксе в последних версиях в классе DataManager (через который работают хайлоады) появились методы addMulti и updateMulti. Я сам ими не пользовался, только видел в исходниках, и не уверен что это именно то, что вам надо (поэтому и не пишу в ответы). Попробуйте посмотреть их.
Регистр символов в названии шаблона и в пути до шаблона точно правильный? Если локально windows - то ошибку с кривым регистром папок/файлов могли не заметить.
Роман Морозов, хм, действительно, вы правы, тег выставляется сам. Видимо я сильно привык через различные обёртки работать, и не совсем этот момент в чистом АПИ битиркса помню.
Единственное, уточню, что само проставление тега кеша происходит не в самом CIBlockElement/CIBlockSection::GetList, а в вызове CIBlockResult::Fetch() (который происходит внутри CIBlockResult::GetNext())
Не ответ на ваш вопрос, просто небольшой совет - если уж взялись изучать битрикс - то учите актуальную документацию, а не устаревшие возможности.
1. Делайте компоненты через классы (class.php) - https://dev.1c-bitrix.ru/learning/course/index.php...
2. Используйте актуальное АПИ по работе с инфоблоками, и в принципе возможности ядра D7: https://dev.1c-bitrix.ru/api_d7/bitrix/iblock/index.php
3. используйте современные возможности языка PHP, хотя бы короткую запись массивов через [ ], вместо array()
4. явно регистрируйте зависимость кеша компонента от тегированного кеша инфоблока - внутрь кешируемой области вызовите
\Bitrix\Main\Application::getInstance()->getTaggedCache()->registerTag('iblock_id_' . $arParams["IBLOCK_ID"]);
sagaton, у вас миграции через какой-то модуль, или самописные? Я использую https://marketplace.1c-bitrix.ru/solutions/sprint.... и там есть миграции в том числе на форму редактирования элемента инфоблока, можно переносить текущие настройки формы.
Виктория, Тоже с веб-формами?
Я их последний раз использовал лет 6 назад, и больше не трогаю - как раз из-за неочевидного поведения конструктора в админке, который периодически очень странно ломается. Может конечно, это именно у меня руки кривые, но больше я их стараюсь не использовать.
Проблема только с веб-формами? Вы точно ничего не сохраняли при этом?
Теоретически, если попробовать побыть оракулом, могли быть какие-то изменения в админке произведены ранее, но не был сброшен кеш компонентов, и из-за этого вроде как всё работало. Пока вы ходили по админке кеш истёк и сгенерился заново, и появилась проблема.
"а настройка в этом файле корректного не срабатывает - старый редирект остается а новый не срабатывает."
На всякий случай - браузеры кешируют отдаваемые сайтом редиректы. Вы в приватной вкладке/другом браузере пробовали открыть после изменения редиректа?
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=