Почему не отображается поле в отчете 1С:УТ 11.5 и как это исправить

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

При разработке отчетов в 1С:Управление торговлей 11.5 программисты часто сталкиваются с ситуацией, когда запрос в консоли отрабатывает корректно и выводит все необходимые данные, но в итоговом отчете на базе Системы компоновки данных (СКД) одно или несколько полей (обычно ресурсы, такие как СуммаБезНДС) бесследно исчезают. Эта проблема особенно характерна для регистра накопления ПрочиеРасходы.

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

Причина 1: Функциональные опции в конфигурации

Проанализируем архитектуру УТ 11.5. В этой конфигурации многие ресурсы регистров жестко привязаны к функциональным опциям. Если определенная опция выключена в интерфейсе «1С:Предприятие», платформа автоматически «вырезает» связанное с ней поле из всех запросов СКД, даже если оно явно прописано в тексте запроса в Конфигураторе.

Выясним причину на примере поля СуммаБезНДС. В последних версиях УТ это поле часто зависит от использования раздельного учета НДС. Если предприятие не использует раздельный учет, система считает это поле избыточным и скрывает его.

Что необходимо сделать:

  1. Откроем Конфигуратор и найдем в дереве метаданных регистр накопления ПрочиеРасходы.
  2. Перейдем в список ресурсов и найдем нужное нам поле (например, СуммаБезНДС).
  3. Откроем свойства этого ресурса и перейдем на закладку «Функциональные опции».
  4. Если там указана опция, например, ИспользоватьРаздельныйУчетНДС, значит, поле появится в отчете только тогда, когда эта опция включена в режиме пользователя.

Для проверки в режиме «1С:Предприятие» перейдем в раздел НСИ и администрирование -> Настройка НСИ и разделов -> Финансовый результат и контроллинг -> НДС и убедимся, что необходимые флаги установлены.

Причина 2: Настройка ресурсов и поле «Рассчитать по...»

Разберем технический нюанс настройки закладки «Ресурсы» в схеме компоновки данных. Бывает так, что программист добавил поле в список ресурсов и даже прописал выражение Сумма(СуммаБезНДС), но поле всё равно не выводится.

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

Попробуем установить флаги во всех строках колонки «Рассчитать по» для проблемного ресурса. Это гарантирует, что система попытается вычислить итог на каждом уровне группировки отчета.

Причина 3: Ограничения в наборе данных СКД

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

Также проверим Тип значения. Если тип поля не определен или определен некорректно (например, Число(0)), СКД может проигнорировать вывод данных.

Причина 4: Пользовательские настройки и кэширование

Часто встречается ситуация: программист внес изменения в Конфигураторе, сохранил отчет, но в режиме «1С:Предприятие» ничего не изменилось. Выясним причину — скорее всего, дело в сохраненных настройках пользователя.

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

Как решить проблему с кэшем:

  1. В режиме пользователя откройте отчет.
  2. Нажмите кнопку «Еще» -> «Установить стандартные настройки». Это сбросит кэш и применит актуальную схему из Конфигуратора.
  3. Если это не помогло, попробуйте сохранить отчет как внешний (файл .erf) и запустить его под другим именем. Если во внешнем отчете поле появилось — проблема 100% в кэшировании настроек текущего объекта метаданных.

Причина 5: Права доступа и RLS

Проанализируем ситуацию со стороны безопасности. Даже если вы работаете под учетной записью с «Полными правами», механизмы RLS (Record Level Security) могут накладывать свои ограничения, особенно в сложных конфигурациях типа УТ 11.5.

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

Пример настройки ресурса в коде

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


// Пример проверки программного добавления поля в выборку
Настройки = Отчет.КомпоновщикНастроек.Настройки;
ВыбранныеПоля = Настройки.Выбор.Элементы;

// Проверим, нет ли уже такого поля в выбранных
ПолеНайдено = Ложь;
Для Каждого Элемент Из ВыбранныеПоля Цикл
    Если ТипЗнч(Элемент) = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
        Если Строка(Элемент.Поле) = "СуммаБезНДСПриход" Тогда
            ПолеНайдено = Истина;
            Элемент.Использование = Истина;
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

Если Не ПолеНайдено Тогда
    НовоеПоле = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("СуммаБезНДСПриход");
    НовоеПоле.Использование = Истина;
КонецЕсли;

Резюме

Подводя итог, если поле в отчете СКД 1С:УТ 11.5 не отображается, пройдите по следующему чек-листу:

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

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

← На главную