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