Почему пустеют отчеты (например, «Валовая прибыль по партнерам») при установке отбора по организации в УТ 11.4.7.114?

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

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

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

Симптомы проблемы и первичная диагностика

Давайте сначала проанализируем поведение системы, чтобы убедиться, что мы столкнулись именно с этой системной ошибкой, а не с банальным сбоем кэша или неверной настройкой прав пользователя. Признаки проблемы выглядят следующим образом:

  1. Отчет (например, Валовая прибыль по партнерам) формируется корректно, если в настройках не заданы отборы по ключевым аналитикам — Организация и Партнер.
  2. Как только мы переходим в расширенные настройки и добавляем отбор по конкретной организации (или списку организаций), отчет выводится полностью пустым. Даже если выбрать все организации, присутствующие в базе данных, результат будет нулевым.
  3. Аналогичное поведение наблюдается при попытке установить отбор по партнеру или контрагенту.
  4. Проблема воспроизводится на разных компьютерах, под разными пользователями (даже с полными правами) и на чистых демонстрационных базах. Это сразу исключает влияние локального кэша платформы (как внешнего, так и внутреннего) и указывает на ошибку в коде или метаданных самой конфигурации.

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

Технический анализ причин сбоя в СКД

Давайте выясним причину такого поведения системы. Для этого нам потребуется заглянуть внутрь конфигурации и сравнить схему компоновки данных отчета ВыручкаИСебестоимостьПродаж (который является базовым для всей линейки отчетов по валовой прибыли) в рабочем релизе 11.4.6.230 и проблемном 11.4.7.114.

В релизе 11.4.6.230 связка данных по организациям и партнерам строилась через обращение к специализированному регистру сведений аналитики. Запрос СКД корректно получал данные из левого соединения с регистром сведений АналитикаУчетаПоПартнерам:


(АналитикаУчетаПоПартнерам.Организация).* КАК Организация,
(АналитикаУчетаПоПартнерам.Партнер).* КАК Партнер,

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

Вместо обращения к аналитике партнеров, пути к данным перенаправили на аналитику номенклатуры:


Продажи.АналитикаУчетаНоменклатуры.Организация.* КАК Организация,
Продажи.АналитикаУчетаНоменклатуры.Партнер.* КАК Партнер,

Почему это привело к ошибке? Справочник аналитики учета номенклатуры (КлючиАналитикиУчетаНоменклатуры) хранит исключительно товарные свойства: номенклатуру, характеристики, серии и места хранения (склады). В нем физически отсутствуют реквизиты Партнер или Организация в разрезе расчетов с клиентами. Когда платформа 1С пытается наложить системный отбор СКД по выбранной организации, она обращается к пустому полю аналитики номенклатуры, не находит соответствий и отсекает абсолютно все строки отчета. Именно поэтому отчет возвращает пустоту.

Способы решения проблемы

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

Вариант 1. Официальное обновление конфигурации (рекомендуемый)

Компания 1С быстро признала наличие этой критической ошибки. Исправление вошло в состав релиза 11.4.7.128 и последующих версий УТ. В новой схеме компоновки данных разработчики вернули корректные пути выборки полей:


// Изменения в релизе 11.4.7.128:
Продажи.АналитикаУчетаПоПартнерам.Организация.* КАК Организация,
Продажи.АналитикаУчетаПоПартнерам.Партнер.* КАК Партнер,

Если у вас есть возможность обновить конфигурацию, это самый простой и надежный способ. Достаточно обновить базу до релиза 11.4.7.128 или выше, после чего отборы по организациям снова заработают в штатном режиме.

Вариант 2. Ручное исправление запроса в схеме компоновки данных (СКД)

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

Выполним следующие шаги для ручного исправления:

  1. Откроем конфигуратор и найдем отчет ВыручкаИСебестоимостьПродаж (или конкретный отчет, например, ВаловаяПрибыльПоПартнерам, если он использует индивидуальный макет).
  2. Откроем основную схему компоновки данных (макет ОсновнаяСхемаКомпоновкиДанных).
  3. Перейдем на вкладку «Наборы данных» и выберем набор данных-запрос (обычно с именем ВыручкаИСебестоимостьПродаж).
  4. В тексте запроса найдем строки, отвечающие за выборку полей организации и партнера из структуры продаж.
  5. Заменим ошибочные обращения к АналитикаУчетаНоменклатуры на корректные обращения к АналитикаУчетаПоПартнерам:

    Вместо:

    
    Продажи.АналитикаУчетаНоменклатуры.Организация КАК Организация,
    Продажи.АналитикаУчетаНоменклатуры.Партнер КАК Партнер
    

    Напишем:

    
    Продажи.АналитикаУчетаПоПартнерам.Организация КАК Организация,
    Продажи.АналитикаУчетаПоПартнерам.Партнер КАК Партнер
    
  6. Сохраним изменения в конфигурации базы данных и обновим конфигурацию (клавиша F7).

Вариант 3. Использование внешнего отчета или расширения

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

Рекомендуем использовать первый или второй варианты, так как они гарантируют полную совместимость со всеми внутренними механизмами и ролями новой версии конфигурации.

← На главную