С выходом новой версии платформы 1С:Предприятие 8.3.22 разработчики представили ряд значительных обновлений, направленных на повышение производительности, стабильности и расширение функциональных возможностей. Давайте подробно рассмотрим эти изменения, проанализируем их потенциальное влияние на работу систем и разберем, какие преимущества они приносят пользователям и программистам.
Обновленный план задач на версию 8.3.22 вызвал активное обсуждение в сообществе, поскольку включает в себя как долгожданные улучшения, так и новые подходы к реализации критически важного функционала. Мы выясним, какие именно аспекты платформы были затронуты и как это повлияет на ежедневную работу с 1С.
Одно из самых обсуждаемых изменений в версии 8.3.22 — это официальное прекращение поддержки хранения журнала регистрации в формате SQLite. Ранее этот формат использовался в основном для файловых информационных баз или небольших инсталляций, но часто сталкивался с проблемами производительности и стабильности, особенно в многопользовательских и нагруженных системах.
Мы видим, что это решение является логичным шагом к повышению общей надежности платформы. Для обеспечения стабильности и производительности теперь рекомендуется использовать последовательный формат хранения журнала регистрации. Пользователям и администраторам, которые ранее полагались на SQLite, следует подготовиться к переходу на новый механизм или убедиться, что их текущие настройки соответствуют рекомендованному подходу.
Давайте проанализируем, почему это изменение является важным. SQLite, несмотря на свою простоту и компактность, не предназначен для высоконагруженных сценариев с интенсивными операциями записи, которые характерны для журнала регистрации в активно используемой системе 1С. Переход на последовательный формат хранения позволит избежать узких мест в производительности и ошибок, связанных с блокировками и повреждением данных, которые могли возникать при работе с SQLite в прошлых версиях.
Полнотекстовый поиск является критически важным инструментом для многих пользователей 1С, и его работа часто вызывала нарекания. Версия 8.3.22 предлагает новый механизм полнотекстового поиска (v2), который обещает существенные улучшения. Давайте рассмотрим его ключевые преимущества:
Важным требованием для работы нового механизма полнотекстового поиска является наличие на компьютерах кластера серверов Java версии 8 и выше. Это означает, что системным администраторам потребуется убедиться в соответствии инфраструктуры этим требованиям, возможно, установив или обновив Java Development Kit (JDK) или Java Runtime Environment (JRE). Также стоит отметить, что полнотекстовый поиск версии 2 не поддерживается в файловом варианте информационной базы, за исключением случаев использования файлового варианта совместно с автономным сервером.
В ходе обсуждений на форуме было замечено, что хотя "Новый механизм полнотекстового поиска" помечен как "Выполнена", "Ускорение полнотекстового поиска" остается в статусе "Запланирована". Это может говорить о том, что базовая функциональность реализована, но дальнейшая оптимизация производительности еще предстоит. Мы будем внимательно следить за развитием этого направления, ожидая еще более впечатляющих результатов в будущих версиях.
Платформа 8.3.22 включает исправления и оптимизации работы с индексами, что является важным шагом к повышению общей стабильности и производительности кластера серверов. Мы знаем, что правильное использование индексов в СУБД критически важно для скорости выполнения запросов и общей отзывчивости системы.
Современные СУБД, такие как Microsoft SQL Server и PostgreSQL, предоставляют широкие возможности для оптимизации с помощью составных, фильтрованных и частичных индексов. Эти оптимизации в платформе 1С:Предприятие помогут более эффективно использовать возможности баз данных, что приведет к ускорению работы и снижению нагрузки на серверы. Оптимизация работы с индексами может включать улучшение стратегий их создания, перестроения и использования платформой, что в конечном итоге сократит время отклика системы на пользовательские операции.
Хотя конкретные детали оптимизаций будут более полными в файле V8Update.htm, общая направленность на улучшение работы с индексами безусловно положительна для всех пользователей, особенно в условиях больших объемов данных и высокой активности. Мы ожидаем, что эти изменения снимут часть нагрузки с баз данных и сделают работу с 1С более комфортной.
Ранее функциональность внешнего управления сеансами была доступна исключительно в клиент-серверном варианте работы. Теперь, к радости многих, эта возможность появилась и для файловых информационных баз.
Давайте рассмотрим, что это означает. Внешнее управление сеансами позволяет системным администраторам и разработчикам учитывать и контролировать активные сеансы, их активность, а также время подключения. Это особенно ценно для отладки, мониторинга и управления доступом пользователей к информационной базе. Например, мы можем принудительно завершать неактивные сеансы, получать информацию о текущей нагрузке на систему или анализировать поведение пользователей. Для использования этой функциональности в файловых базах потребуется лицензия уровня ПРОФ, в то время как для клиент-серверных баз она доступна с лицензией КОРП.
Это изменение отвечает на потребность тех, кто, возможно, не использует полноценный клиент-серверный вариант по разным причинам (например, из-за масштаба бизнеса или бюджета), но при этом нуждается в более тонком контроле над активностью пользователей. Мы видим, как это поможет автоматизировать процессы управления небольшими, но критически важными инсталляциями, повышая их управляемость и безопасность.
Одно из самых ожидаемых и полезных нововведений для разработчиков – это новая функция УникальныйИдентификатор(Ссылка) в языке запросов и языке выражений Системы Компоновки Данных (СКД). Эта функция возвращает уникальный идентификатор переданной ссылки, что значительно упрощает задачи интеграции систем на платформе 1С:Предприятие с внешними системами.
Давайте посмотрим, как это могло быть использовано. Раньше для получения уникального идентификатора объекта из запроса требовались обходные пути, например, через поля типа Ссылка.УникальныйИдентификатор, что не всегда было удобно или эффективно, особенно при работе с составными типами ссылок. Теперь же мы можем использовать эту функцию напрямую, что делает код более чистым, лаконичным и производительным, а также упрощает разработку сложных запросов.
Пример использования в запросе:
ВЫБРАТЬ
ДокументСсылка.Номер,
УНИКАЛЬНЫЙИДЕНТИФИКАТОР(ДокументСсылка.Ссылка) КАК УникальныйИдентификаторДокумента
ИЗ
Документ.РеализацияТоваровУслуг КАК ДокументСсылка
ГДЕ
ДокументСсылка.Дата >= &НачалоПериода
Мы видим, что это изменение значительно упрощает жизнь разработчикам, особенно при создании отчетов и механизмов обмена данными, где требуется связывание объектов 1С с внешними сущностями по их уникальному идентификатору. Это позволяет избежать дополнительных вызовов серверного кода или сложных преобразований данных, что положительно сказывается на общей производительности и простоте поддержки решений. Форумчане активно обсуждали, почему эту возможность не выпустили минорным обновлением раньше, подчеркивая ее важность и востребованность в повседневной разработке.
В версии 8.3.22 снято ограничение в 4 ГБ на размер файлов, помещаемых во временное хранилище. Ранее при передаче больших объемов данных между клиентом и сервером через временное хранилище существовал этот лимит, который мог вызывать проблемы при работе с крупными файлами или массивами данных, приводя к ошибкам или необходимости использования сложных обходных путей.
Это изменение особенно актуально для систем, работающих с большими вложениями, мультимедийным контентом, резервными копиями, сложными отчетами, которые могут генерировать большие файлы, или при обмене данными с другими системами, передающими объемные бинарные данные. Теперь мы можем передавать и обрабатывать файлы значительно большего размера без необходимости разделения их на части или использования сторонних механизмов, таких как файловые хранилища общего доступа. Это повышает удобство и эффективность работы с большими данными в 1С:Предприятии, упрощая интеграцию и обмен информацией.
ASAN (AddressSanitizer) — это динамический инструмент обнаружения ошибок памяти, который помогает выявлять такие проблемы, как выход за границы буфера, использование памяти после освобождения (use-after-free), двойное освобождение памяти (double-free) и другие распространенные ошибки, связанные с управлением памятью. Его поддержка в сборках платформы 1С на Windows x64 направлена на повышение стабильности и надежности работы платформы.
Давайте разберем, что это означает для нас. Включение ASAN в процесс разработки и тестирования позволяет обнаруживать скрытые, трудновоспроизводимые ошибки, которые могут приводить к сбоям, "падениям" приложений или непредсказуемому поведению системы. Это позволяет разработчикам 1С выявлять и устранять эти проблемы на ранних стадиях разработки, когда их исправление наименее затратно. В конечном итоге это приводит к созданию более стабильной, надежной и безопасной платформы для конечных пользователей. Для системных администраторов это означает меньшее количество инцидентов, связанных с ошибками памяти, и более предсказуемую работу системы, что снижает операционные риски и затраты на поддержку.
Помимо перечисленных выше ключевых изменений, версия 8.3.22 включает множество других важных улучшений, которые мы также должны рассмотреть, поскольку они затрагивают различные аспекты работы с платформой:
Полный и исчерпывающий список всех изменений, как всегда, содержится в файле V8Update.htm, который входит в дистрибутив каждой новой версии платформы 1С:Предприятие. Мы настоятельно рекомендуем ознакомиться с ним для получения максимально детальной информации по всем затронутым аспектам.
В целом, версия 8.3.22 представляет собой значительный шаг вперед в развитии платформы 1С:Предприятие, привнося улучшения в производительность, стабильность, безопасность и удобство разработки. Мы надеемся, что эти изменения сделают работу с системой еще более эффективной и комфортной для всех категорий пользователей, от системных администраторов и разработчиков до конечных пользователей, которые ежедневно взаимодействуют с функционалом 1С.