← На главную
Выход платформы 1С:Предприятие 8.3.19 стал значимым событием для сообщества разработчиков. В этой версии разработчики не просто добавили косметические улучшения, но и глубоко переработали механизмы работы с данными, оптимизировали взаимодействие с СУБД и значительно расширили возможности интерфейсных объектов. В данной статье мы подробно разберем наиболее важные изменения, проанализируем их влияние на производительность и рассмотрим примеры их практического применения.
Оптимизация записи объектов и табличных частей
Разберем одно из самых интригующих изменений, касающееся производительности записи. Теперь при многократном нажатии кнопки Записать в форме объекта (если сам объект не менялся) платформа не выполняет повторную запись табличных частей в СУБД. Рассмотрим, что это означает для нас:
- Снижение нагрузки на СУБД: Исключаются лишние операции
DELETE и INSERT для строк табличных частей, которые и так актуальны.
- Работа триггеров: Важно понимать, что если на уровне базы данных у вас настроены триггеры на изменение таблиц ТЧ, они перестанут срабатывать при "холостых" записях.
- Подписки на события: Проанализируем ситуацию с кодом. Если в подписке на событие
ПриЗаписи или ПередЗаписью вы рассчитываете на безусловное обновление данных в СУБД, поведение может измениться.
Революция в динамических списках: возможности СКД
Посмотрим на динамические списки под новым углом. В версии 8.3.19 разработчики реализовали функционал, который ранее был доступен только в Системе компоновки данных (СКД). Теперь мы можем настраивать списки гораздо гибче прямо в конфигураторе и в режиме «1С:Предприятие»:
- Вычисляемые поля: Теперь в динамическом списке можно создавать поля, значения которых вычисляются по формулам, аналогично СКД. Это избавляет от необходимости писать сложные вложенные запросы для простых вычислений.
- Настройка полей запроса: Мы можем управлять заголовками, типами, оформлением и ограничениями использования полей непосредственно в свойствах списка.
- Параметры и их свойства: Реализована полноценная работа с параметрами, включая возможность их вывода в пользовательские настройки.
- Работа с датами: Для полей типа
Дата реализована поддержка дочерних полей (НачалоДня, НачалоМесяца и т.д.) для группировки и сортировки без изменения основного запроса.
Управление выполнением запросов на копиях баз данных
Выясним причину появления механизма управления копиями. Ранее использование копий баз данных часто требовало сложной настройки или разделения логики в коде. Теперь реализована возможность декларативного управления местом выполнения запроса или компоновки данных. Мы можем выбрать один из режимов:
- Использовать только копии.
- Использовать только основную базу.
- Преимущественно копии.
- Выбирать автоматически.
Это позволяет разгрузить основную рабочую базу от тяжелых аналитических отчетов, просто перенаправив их на актуальную копию (Data Accelerator или другие СУБД-копии).
Архитектурные изменения в регистрах бухгалтерии
Проанализируем глубокие изменения в структуре хранения данных регистров бухгалтерии. Разработчики оптимизировали работу с виртуальной таблицей ДвиженияССубконто. Фактически, поля субконто были перемещены непосредственно в основную таблицу регистра. Это привело к следующим последствиям:
- Ускорение запросов: Обращение к субконто теперь происходит быстрее, так как исключается необходимость сложных соединений с таблицей значений субконто.
- Увеличение размера БД: Как отмечают специалисты, из-за добавления множества новых полей (до 24 дополнительных полей для хранения типов и значений субконто) размер физической таблицы регистра может заметно вырасти.
- Реструктуризация: Первый запуск или обновление на 8.3.19 для баз с большими регистрами бухгалтерии может потребовать значительного времени на реструктуризацию этих таблиц.
Ускорение загрузки данных из .dt файлов
Разберем техническую сторону оптимизации загрузки информационных баз. В клиент-серверном варианте загрузка из файла .dt теперь выполняется с использованием нескольких фоновых заданий. Рассмотрим преимущества:
- Сокращение времени простоя системы при развертывании копий или восстановлении из бекапа.
- Более эффективное использование ресурсов сервера (CPU и дисковой подсистемы) за счет параллелизации записи таблиц.
Расширения конфигурации: новые горизонты
В 8.3.19 возможности расширений значительно приблизились к возможностям основной конфигурации. Рассмотрим наиболее важные моменты:
- Собственные переменные и функции: Теперь в модули расширяемых объектов можно добавлять собственные переменные и экспортные методы, что упрощает инкапсуляцию логики доработок.
- Подсистемы: Реализована поддержка вложенных подсистем в расширениях. Мы можем структурировать свои доработки, не смешивая их в одну кучу.
- HTTP-сервисы: Улучшена работа с HTTP-запросами. Появилась возможность получать тело запроса в виде потока, что критически важно для обработки файлов больших размеров без риска переполнения оперативной памяти (
Memory limit exceeded).
Безопасность и целостность системы
Выясним ситуацию с изменениями в области защиты. Платформа 8.3.19 усилила контроль целостности программного кода. Это выразилось в более агрессивном выявлении механизмов обхода лицензирования. Разберем практические аспекты:
- Ошибка нарушения целостности: Платформа стала чаще проверять легальность использования. При обнаружении несоответствий сеанс принудительно завершается.
- SQL-авторизация: Попытки сброса пароля пользователя через прямое редактирование таблиц SQL (например,
v8users) стали сложнее из-за изменения алгоритмов хеширования и хранения соответствий.
Интерфейс и юзабилити
Посмотрим на визуальные и сервисные изменения. Даже небольшие на первый взгляд правки упрощают жизнь:
- Система взаимодействия: Теперь отчеты могут оповещать пользователя о завершении формирования через систему взаимодействия. Это удобно для длительных фоновых отчетов.
- Формат PDF/A-3: Реализована поддержка вложений в PDF. Это стандарт для современного ЭДО, где визуальный образ документа (PDF) содержит в себе машиночитаемый файл (XML).
- Корректное название: В списке установленных программ Windows название фирмы «1С» теперь пишется с использованием русской буквы «С», что устраняет многолетнюю путаницу в сортировке.
Резюме: Платформа 8.3.19 — это мощный шаг вперед в плане производительности и гибкости разработки. Переход на нее требует тщательного тестирования, особенно в части работы регистров бухгалтерии и подписок на события при записи объектов, однако предоставляемые возможности по оптимизации запросов и расширению функционала динамических списков полностью оправдывают этот процесс.