Часто перед разработчиками и системными администраторами встает вопрос о переходе на новую версию платформы 1С:Предприятие. С одной стороны, новые версии несут в себе исправления ошибок и полезные функциональные возможности. С другой — всегда есть риски, связанные со стабильностью и совместимостью, особенно в сложных, доработанных системах. Разберем на основе обсуждения специалистов, с какими реалиями столкнулось сообщество при попытке внедрения платформы 8.3.20 и почему ее adoption не был молниеносным.
Основной интерес к платформе 8.3.20 был вызван не просто общими улучшениями, а вполне конкретной и долгожданной возможностью для разработчиков: расширением определяемых типов в расширениях конфигурации. Рассмотрим, что это значит и почему это так важно.
В типовых конфигурациях часто используются определяемые типы данных, которые объединяют в себе несколько разных объектов. Например, тип ДокументСсылка может включать ссылки на все документы в системе. Раньше, если вы создавали в расширении новый документ, вы не могли включить его в этот составной тип, не изменяя саму основную конфигурацию. Это создавало массу проблем и ограничений при разработке в парадигме "без снятия с поддержки".
Платформа 8.3.20 решила эту проблему. Появилась возможность в расширении не только заимствовать, но и изменять состав определяемых типов, добавляя в них объекты, созданные в этом же расширении. Это настоящий прорыв, который снимает множество архитектурных ограничений и позволяет делать более глубокие и бесшовные доработки типовых решений.
Помимо этого, версия 8.3.20 принесла и другие значительные улучшения:
СокрЛП(), Лев(), Прав(), СтрНайти() и другие.Несмотря на все преимущества, массовый переход на 8.3.20, особенно в крупных компаниях, был сильно замедлен. Основная причина кроется в механизме режимов совместимости и его тесной связи с версией Библиотеки стандартных подсистем (БСП), на которой построены практически все типовые конфигурации.
Давайте разберемся в этой зависимости по шагам:
"Не использовать"), либо установлен на версию, где эта возможность уже появилась (например, "Версия 8.3.19" или выше).Как справедливо было отмечено в обсуждении, на момент выхода платформы 8.3.20 актуальная версия БСП (например, 3.1.5) официально поддерживала разработку только в режимах совместимости "Версия 8.3.14", "8.3.15", "8.3.16" или "8.3.17". В документации к БСП было прямо сказано, что даже для более новых платформ (8.3.18 и выше) разработка в режиме совместимости "Не использовать" не предусмотрена.
Вывод: пока фирма "1С" не выпустит новую версию БСП, которая официально будет поддерживать работу в режиме совместимости 8.3.19 или выше, все типовые конфигурации на этой БСП не смогут использовать новые возможности платформы 8.3.20. Разработчики, работающие с типовыми решениями (например, УТ 11.4, которая на тот момент использовала еще более старую БСП 3.1.3), оказались в патовой ситуации: платформа есть, а воспользоваться ее преимуществами нельзя.
Именно поэтому в продуктивных средах крупных компаний, где используются типовые конфигурации, в то время можно было встретить максимум платформу 8.3.18, но никак не 8.3.20 с отключенной совместимостью.
Ограничения БСП не распространяются на конфигурации, разработанные с нуля без использования этой библиотеки. Такие системы, которых, конечно, меньшинство, могут позволить себе более гибкий и быстрый переход. Их разработчики могут сразу после тестирования установить режим совместимости "Не использовать" и начать применять все новинки платформы. Однако, как было подмечено, таких "буйных" новаторов немного, и они составляют малую долю рынка.
Переход на свежую версию платформы — это не только вопрос совместимости, но и потенциальных ошибок. Хотя сама по себе платформа 8.3.20 была достаточно стабильной, разработчики сталкивались с неочевидными проблемами. Например, после обновления в некоторых запросах могла возникать ошибка "Повторяющийся псевдоним 'Ссылка'", которую было сложно отловить, так как она проявлялась глубоко внутри платформенных механизмов. Вероятно, это было связано с более строгой типизацией в новой версии.
Подведем итог:
В мире 1С, как и в любой крупной экосистеме, инерция велика. Новые технологии, даже самые полезные, проходят долгий путь, прежде чем стать стандартом де-факто. И история с платформой 8.3.20 — яркий тому пример.