Ситуация, сложившаяся в ноябре 2020 года с платформой 1С:Предприятие 8.3.17, стала хрестоматийным примером для системных администраторов и разработчиков. В течение всего десяти дней фирма «1С» выпустила три последовательных релиза: 8.3.17.1823, 8.3.17.1846 и 8.3.17.1851. При этом в официальных списках изменений к последним версиям часто фигурировала лаконичная фраза «Ошибок не зарегистрировано» или просто «Исправлены ошибки», что вызывало закономерное недоумение у специалистов.
В этой статье мы подробно проанализируем, что происходило «под капотом» платформы в тот период, разберем технические причины такой спешки и выясним, как правильно действовать в условиях «релизного марафона».
Давайте восстановим хронологию событий и проанализируем, какие именно проблемы заставляли разработчиков выпускать патч за патчем. Важно понимать концепцию регрессии — ситуации, когда исправление одной критической ошибки порождает новые, еще более серьезные проблемы в функционале, который ранее работал исправно.
IIS и Apache. Тем не менее, в нем проявились утечки памяти в рабочих процессах сервера rphost и менеджере кластера rmngr.Рассмотрим подробнее, почему именно ветка 8.3.17 оказалась настолько проблемной. Основным вектором изменений в этот период стала глубокая модернизация внутренних компонентов платформы.
Интеграция встроенного браузера на базе Chromium
Одним из самых сложных нововведений стал переход на новый движок отображения веб-контента внутри форм 1С. Это привело к ряду трудностей:
1cv8.exe работали некорректно. В результате сессии пользователей, активно использующих отчеты с веб-графиками или внешние интерфейсы, «раздувались» до нескольких гигабайт в оперативной памяти.Новые механизмы защиты и лицензирования
Проанализируем ситуацию с системой защиты. В версиях ноября 2020 года внедрялись обновленные алгоритмы проверки легальности использования программного обеспечения. Это вызывало:
В обсуждениях часто встречается совет: «Ставь сразу 8.3.18». Давайте выясним, насколько это было оправдано на тот момент. Ветка 8.3.18 действительно содержала оптимизации работы с PostgreSQL и улучшенное управление памятью, однако для консервативных систем (таких как «Бухгалтерия предприятия 3.0» на больших базах) она сама находилась в режиме стабилизации.
Рассмотрим пример логики выбора версии:
// Псевдокод принятия решения администратором
Если ТребуетсяСтабильность Тогда
ИспользуемРелиз(Версия.ПредыдущаяСтабильная); // Например, ветка 8.3.16
ИначеЕсли НужноНовоеФункционал ИЛИ ТребованиеКонфигурации Тогда
ВыбираемРелиз(Версия.ПоследняяИсправленная); // В нашем случае 8.3.17.1851
КонецЕсли;
Для конфигураций, использующих режим совместимости с более старыми версиями платформы, переход на 8.3.18 мог вызвать специфические ошибки в работе запросов, так как в 18-й ветке был изменен механизм генерации SQL-кода для некоторых типов соединений.
Проанализировав «недельный марафон обновлений», мы можем сформулировать золотые правила эксплуатации платформы 1С:
8.3.17.1851 были ошибки в работе с расширениями, перед обновлением всегда проверяйте работу ДинамическийСписок в тех формах, которые затронуты вашими доработками.rphost порога памяти в 80% от доступной. Это поможет вовремя заметить утечки, характерные для переходных версий платформы.Подводя итог, можно сказать, что чехарда релизов в ноябре 2020 года была вызвана попыткой быстро исправить глубокие архитектурные ошибки, возникшие при внедрении новых технологий (Chromium, защита). Релиз 8.3.17.1851 в итоге стал относительно стабильной точкой входа для тех, кому была необходима именно 17-я ветка, но он наглядно показал: отсутствие зарегистрированных ошибок в списке изменений еще не гарантирует отсутствие проблем на практике.