Почему не работает расшифровка по регистратору в отчетах на платформе 8.3.14.1565 и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При обновлении технологической платформы «1С:Предприятие» до версии 8.3.14.1565 многие администраторы и разработчики столкнулись с неприятным сюрпризом: в типовых и самописных отчетах перестала корректно работать расшифровка. Типичный сценарий: пользователь открывает отчет (например, «Ведомость по товарам на складах»), пытается расшифровать итоговую цифру по полю Регистратор, отчет формируется, список документов выводится, но колонки с количеством или суммами остаются абсолютно пустыми.

В этой статье мы подробно разберем, почему это происходит, как технически устроена эта ошибка внутри системы компоновки данных (СКД) и какие шаги необходимо предпринять, чтобы восстановить работоспособность системы. Мы проанализируем ситуацию с точки зрения серверных процессов и взаимодействия платформы с базой данных SQL.

Суть проблемы и визуальные проявления

Давайте рассмотрим подробнее, что именно видит конечный пользователь. Основная проблема проявляется в механизме Системы компоновки данных. При попытке детализации отчета до уровня первичного документа (поля Регистратор):

  1. Система успешно создает новую форму отчета или обновляет текущую.
  2. В группировках отображаются ссылки на документы (например, «Реализация товаров и услуг» или «Поступление товаров и услуг»).
  3. Ресурсы (числовые показатели: количество, сумма, вес, НДС), которые должны быть привязаны к этим регистраторам, принимают значение 0 или просто не выводятся в ячейках.

Проблема носит массовый характер и затрагивает конфигурации, активно использующие управляемые формы и последние возможности расширений, такие как Управление торговлей 11.4, ERP 2.4, Зарплата и кадры государственного учреждения 3.1.

Технический анализ: ошибка в движке СКД

Разберем по шагам, что происходит «под капотом» платформы. Система компоновки данных — это декларативный механизм. Когда мы просим расшифровать отчет, платформа динамически генерирует SQL-запрос к базе данных. В релизе 8.3.14.1565 разработчики 1С внесли изменения в алгоритм оптимизации запросов для виртуальных таблиц (остатков и оборотов).

Выясним причину некорректного поведения: при построении схемы компоновки, если в настройках выбрана детальная запись или группировка по регистратору, механизм оптимизации 8.3.14 ошибочно помечает поля ресурсов как «неиспользуемые». Платформа считает, что для получения ссылки на документ (регистратор) ей не нужно обращаться к физическим таблицам накопления за итогами. В результате в итоговом SELECT запросе к SQL-серверу поля с ресурсами просто отсутствуют или заменяются на NULL.

Это подтверждается официальным реестром ошибок (например, баг с кодом 10210214). Ошибка возникает именно в момент компоновки макета, когда платформа решает, какие данные ей «выгодно» извлекать из БД.

Критические сбои сервера: ошибка 10054

Посмотрим на ситуацию со стороны системного администратора. В некоторых случаях попытка сформировать расшифровку в «тяжелых» отчетах (с большим объемом данных) приводит не просто к пустым колонкам, а к полному падению рабочего процесса rphost. В журнале регистрации или в окне пользователя появляется сообщение:

«Удаленный хост принудительно разорвал существующее подключение (10054)».

Проанализируем ситуацию: это происходит из-за того, что некорректно сформированный запрос или ошибка в модуле управления памятью платформы 8.3.14 вызывает исключение Access Violation. Рабочий процесс аварийно завершается, и все пользователи, подключенные к данному процессу, теряют связь с базой. Это делает работу на данном релизе практически невозможной в многопользовательской среде.

Вариант решения №1: Откат платформы (Рекомендуемый)

Если ваша конфигурация позволяет использовать более ранние версии платформы, самым быстрым и надежным способом будет откат. Как отмечают специалисты, стабильной версией для работы УТ 11.4 и других современных решений является ветка 8.3.12 или конкретный релиз 8.3.13.1690.

Разберем процесс отката по шагам:

  1. Проверка режима совместимости: Убедитесь, что в свойствах конфигурации (в дереве метаданных) параметр Режим совместимости установлен в значение, не превышающее 8.3.12. Если стоит 8.3.14, откат может потребовать дополнительных манипуляций с расширениями.
  2. Установка платформы: Установите на сервер и клиентские машины версию 8.3.13.1690.
  3. Очистка кэша: Это критически важный этап. После понижения версии платформы необходимо очистить серверный и клиентский кэш метаданных, чтобы избежать конфликтов форматов.
  4. Перезапуск службы: Перезапустите службу 1C:Enterprise 8.3 Server Agent.

Важно: Помните, что некоторые релизы конфигураций (например, самые новые версии ЗУП или УТ) могут жестко требовать версию не ниже 8.3.13. Всегда сверяйтесь с файлом readme.txt к вашей конфигурации.

Вариант решения №2: Обновление на исправленный релиз

Если вы не можете откатиться назад (например, используете новые возможности расширений, доступные только в 8.3.14), необходимо обновиться до версии, где эта ошибка была официально исправлена. Разработчики 1С оперативно выпустили последующие сборки.

Рассмотрим подробнее: стабильная работа механизмов СКД и расшифровок по регистратору была восстановлена в релизе 8.3.14.1642 и во всех последующих версиях ветки 8.3.15 и выше.

Если вы решите обновляться, придерживайтесь следующего алгоритма:


// Примерный план действий для администратора:
1. Создать резервную копию базы данных (SQL или DT).
2. Завершить все сеансы пользователей.
3. Остановить службу сервера 1С.
4. Установить новый релиз (например, 8.3.14.1854 или 8.3.15.х).
5. Выполнить первый запуск от имени администратора для обновления конфигурации БД.

Особенности работы с расширениями в 8.3.14

Проанализируем еще один аспект: влияние расширений. В версии 8.3.14 механизм расширений претерпел значительные изменения. Если ваш отчет или данные, которые он использует (например, дополнительные реквизиты, добавленные в расширении), задействованы в расшифровке, платформа 1565 может входить в конфликт с логикой сопоставления типов данных.

Если обновление платформы временно невозможно, попробуйте выполнить следующие действия в качестве временной меры (костыля):

Однако, как показывает практика обсуждений, эти меры помогают крайне редко, так как ошибка заложена глубоко в программном коде самого исполняемого файла платформы (в библиотеках, отвечающих за генерацию макета компоновки).

Выводы и рекомендации

Подведем итоги нашего анализа. Платформа версии 8.3.14.1565 оказалась крайне неудачной для организаций, активно использующих аналитическую отчетность и механизмы расшифровки. Основная причина — баг оптимизации СКД, приводящий к «потере» ресурсов при детализации до регистратора.

Наши рекомендации:

  1. Никогда не устанавливайте «первые» релизы новых веток платформы на рабочие базы без предварительного тестирования всех ключевых отчетов.
  2. Если вы уже столкнулись с проблемой на 1565 — не тратьте время на переписывание отчетов. Проблема не в вашем коде, а в платформе.
  3. Оптимальный путь — переход на релиз 8.3.14.1642 или выше. Если есть возможность остаться на ветке 8.3.12, это обеспечит наибольшую стабильность для текущих типовых конфигураций.
  4. При возникновении ошибки 10054 немедленно анализируйте логи сервера на предмет утечек памяти, которые в данном релизе часто сопутствуют ошибкам СКД.

Совместный анализ проблемы показывает, что только системный подход к выбору версии технологической платформы позволяет избежать простоев бизнеса из-за некорректных данных в управленческой отчетности.

← На главную