Универсальный отчет 1С — встроенный конструктор, который строит таблицу по документу, справочнику или регистру без программиста: выбрали источник, период и нужные колонки — получили список или свод с итогами. Он выручает, когда готового отчета под вопрос нет, а ждать доработку не хочется: «все реализации за квартал по менеджерам», «у каких контрагентов не заполнен ИНН».
Отчет входит в Библиотеку стандартных подсистем (БСП), на которой построены БП 3.0, УТ 11, КА 2, ERP, УНФ и другие типовые конфигурации на управляемых формах. Поэтому универсальный отчет в 1С 8.3 выглядит в них почти одинаково. Внутри — система компоновки данных (СКД), как у большинства типовых отчетов.
Источник данных — один объект программы:
На типовые вопросы по счетам быстрее ответят оборотно-сальдовая ведомость и анализ счета, а регистр бухгалтерии в универсальном отчете нужен для нестандартных выборок проводок (пример — в таблице ниже).
Где в 1С находится универсальный отчет, зависит от конфигурации и релиза. Три способа, от быстрого к надежному:

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

Нажмите «Настройки» и перейдите к полям. Снимите флажки с лишних колонок и добавьте недостающие. У ссылочных полей раскрываются реквизиты: у поля «Контрагент» можно взять ИНН, у «Номенклатуры» — артикул. Порядок колонок меняется стрелками, там же задается сортировка.
Отбор ограничивает данные: организация, склад, менеджер; условия — «равно», «в списке», «не заполнено» и другие. Проверьте, не попадают ли в результат непроведенные и помеченные на удаление документы: если попадают, добавьте отборы по «Проведен» и «Пометка удаления», иначе черновики исказят итоги.
Отбор, который меняете при каждом запуске, выведите в шапку отчета — тогда его не придется искать в настройках.
Чтобы получить свод, переключите настройки в расширенный режим, откройте структуру отчета и добавьте группировку «Менеджер», а внутрь нее — «Контрагент». Детальные записи оставьте, если нужно видеть сами документы, или уберите, если хватает итогов. Числовые показатели — сумму, количество — отчет суммирует по каждой группе и в общем итоге.
Настроенный отчет сохраните как вариант — командой на панели формы или в меню «Еще». Дайте понятное имя, например «Продажи по менеджерам, месяц», и решите, кому он доступен: только вам или всем пользователям. Потом он выбирается из списка вариантов со всеми настройками. Как переименовать или удалить вариант — в статье о вариантах отчета 1С.
В остальном настройка универсального отчета в 1С не отличается от настройки любого типового отчета на СКД. Подробнее о полях, отборах и структуре — в материале про настройку отчета в 1С.
| Задача | Тип данных | Объект | Таблица |
|---|---|---|---|
| Список продаж за период с суммами документов | Документ | Документ реализации: в БП 3.0 — «Реализация (акт, накладная, УПД)», в УТ 11 — «Реализация товаров и услуг» | Основная (шапка) |
| Что и в каком количестве продали по товарам | Документ | Тот же документ реализации | Табличная часть «Товары» |
| Контрагенты с незаполненным ИНН | Справочник | «Контрагенты», отбор «ИНН не заполнено» | Основная |
| Остатки товаров по складам (УТ 11, КА 2, ERP) | Регистр накопления | «Товары на складах» | Остатки |
| Движение товара за месяц: остатки на начало и конец, приход, расход | Регистр накопления | «Товары на складах» | Остатки и обороты |
| Все проводки с конкретным субконто за период (БП 3.0) | Регистр бухгалтерии | «Журнал проводок (бухгалтерский и налоговый учет)», отбор по субконто | Движения с субконто |
| Все установленные курсы валют за период | Регистр сведений | «Курсы валют» | Основная (все записи) |
| Актуальные курсы на дату | Регистр сведений | «Курсы валют» | Срез последних |
В доработанной конфигурации названия могут отличаться — ищите по смыслу.
Главное ограничение — один источник. Не получится собрать то, что требует связать данные из разных мест:
Тогда нужен отдельный отчет со своим запросом. Его можно сделать внешним файлом, не меняя конфигурацию, — см. внешний отчет 1С и сравнение способов в статье как сделать отчет в 1С.
Частая просьба — открывать настроенный отчет одной кнопкой. Вариант уже сохранен, так что хватит команды, которая найдет его по имени и сразу сформирует. Код — для модуля управляемой формы, БСП 3.x, платформа 8.3.6+ из-за СтрШаблон. Добавьте команду формы, укажите в ее свойстве «Действие» процедуру ОткрытьВариантУниверсальногоОтчета и перетащите команду на командную панель.
// Модуль управляемой формы (обработка «Рабочее место», форма из расширения).
// Команда открывает сохраненный вариант универсального отчета по его имени
// и сразу формирует отчет. Нужна конфигурация на БСП 3.x
// (БП 3.0, УТ 11, КА 2, ERP и др.): справочник ВариантыОтчетов,
// общие модули ОбщегоНазначения и Пользователи.
&НаКлиенте
Процедура ОткрытьВариантУниверсальногоОтчета(Команда)
ИмяВарианта = "Продажи по менеджерам, месяц";
КлючВарианта = КлючВариантаУниверсальногоОтчета(ИмяВарианта);
Если КлючВарианта = Неопределено Тогда
ПоказатьПредупреждение(, СтрШаблон(
НСтр("ru = 'Вариант универсального отчета ""%1"" не найден или недоступен.'"), ИмяВарианта));
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("КлючВарианта", КлючВарианта);
ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
// Четвертый параметр (уникальность): разные варианты откроются в разных окнах.
ОткрытьФорму("Отчет.УниверсальныйОтчет.Форма", ПараметрыФормы, ЭтотОбъект, КлючВарианта);
КонецПроцедуры
&НаСервереБезКонтекста
Функция КлючВариантаУниверсальногоОтчета(Знач ИмяВарианта)
// Найти, а не Метаданные.Отчеты.УниверсальныйОтчет:
// в конфигурации без этого отчета прямое обращение вызовет ошибку.
МетаданныеОтчета = Метаданные.Отчеты.Найти("УниверсальныйОтчет");
Если МетаданныеОтчета = Неопределено
Или Не ПравоДоступа("Использование", МетаданныеОтчета) Тогда
Возврат Неопределено;
КонецЕсли;
// Имена вариантов могут совпадать (личные варианты разных пользователей,
// общий вариант). Первым берем вариант текущего пользователя:
// без УПОРЯДОЧИТЬ ПО порядок строк не гарантирован.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ВариантыОтчетов.КлючВарианта КАК КлючВарианта,
| ВЫБОР
| КОГДА ВариантыОтчетов.Автор = &ТекущийПользователь
| ТОГДА 0
| ИНАЧЕ 1
| КОНЕЦ КАК Приоритет
|ИЗ
| Справочник.ВариантыОтчетов КАК ВариантыОтчетов
|ГДЕ
| ВариантыОтчетов.Отчет = &Отчет
| И ВариантыОтчетов.Наименование = &Наименование
| И НЕ ВариантыОтчетов.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| Приоритет";
Запрос.УстановитьПараметр("Отчет",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(МетаданныеОтчета));
Запрос.УстановитьПараметр("Наименование", ИмяВарианта);
Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.АвторизованныйПользователь());
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.КлючВарианта;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Разбор ключевых строк:
Метаданные.Отчеты.Найти("УниверсальныйОтчет") вернет Неопределено, если отчета в конфигурации нет; обращение через точку упало бы с ошибкой.ПравоДоступа("Использование", МетаданныеОтчета) — пользователь без прав получит понятное предупреждение, а не ошибку.ВариантыОтчетов БСП. Отчет там хранится ссылкой на идентификатор объекта метаданных, поэтому параметр получаем через ОбщегоНазначения.ИдентификаторОбъектаМетаданных.Приоритет сравнивает реквизит Автор с Пользователи.АвторизованныйПользователь(). Без УПОРЯДОЧИТЬ ПО строка для ПЕРВЫЕ 1 была бы произвольной, возможно чужой.РАЗРЕШЕННЫЕ — строки, закрытые ограничением доступа на уровне записей, пропускаются без ошибки прав.КлючВарианта и СформироватьПриОткрытии — стандартные параметры формы отчета платформы, их понимает и форма отчетов БСП.&НаСервереБезКонтекста: на клиенте объекта Запрос нет.Метаданные.Отчеты.УниверсальныйОтчет в конфигурации без этого отчета дает «Поле объекта не обнаружено (УниверсальныйОтчет)», а Новый Запрос в клиентской процедуре — «Тип не определен (Запрос)».Да, как любой отчет: сформируйте его, нажмите сохранение в форме отчета (или «Файл → Сохранить как») и выберите формат листа Excel.
Описанный здесь отчет — часть БСП для управляемых форм. В конфигурациях на обычных формах набор отчетов другой, полный список — в меню «Операции → Отчеты». Если подходящего нет, выход — внешний отчет.
Нет, источник всегда один. Можно свести два варианта в Excel, но для регулярной работы надежнее отдельный отчет на СКД.
Отчет работает с правами текущего пользователя: объекты без прав в списке не появятся, а записи, закрытые ограничением доступа (например, по организациям), не попадут в результат. Чтобы скрыть отчет совсем, уберите его из профиля группы доступа.
Если задача упирается в несколько источников, расчеты или скорость, быстрее поручить отчет программисту: он соберет запрос под вашу базу и разместит отчет в нужном разделе. Это наша услуга разработка отчетов и обработок 1С. Опишите, какие колонки и итоги нужны, и разместите задачу на площадке: оценка бесплатная, ответ в течение рабочего дня.
Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.