Отчеты и Аналитика · 12 мин
Как сделать отчет универсальным в 1С
Как сделать отчет в 1С универсальным: настройка СКД, гибкие параметры, варианты отчета, отборы и типичные ошибки. Практическое руководство с примерами.
Универсальный отчет в 1С — это отчет, который один раз настраивается, а затем используется для разных задач: смена периода, отбор по контрагенту, группировка по складам или менеджерам выполняются пользователем без доработки конфигурации. Добиться этого можно двумя путями: через систему компоновки данных (СКД) в собственном отчете или через штатные механизмы «Универсальный отчет» и «Динамический список», которые есть в типовых конфигурациях.
Главная идея универсальности — вынести изменчивую часть отчета (период, отборы, группировки, показатели) в настройки, доступные пользователю, а не зашивать их в код или запрос. Тогда один макет отчета заменяет десяток «частных» отчетов под каждую задачу отдела.
Ниже разобраны оба подхода: работа с готовым «Универсальным отчетом» в типовых решениях и создание собственного отчета на СКД с гибкими настройками. Также приведены проверки результата, типичные ошибки и критерии, когда универсальный отчет не нужен и лучше сделать специализированный.
Что делает отчет универсальным и когда это оправдано
Отчет считается универсальным, если пользователь без программиста может: изменить период формирования, добавить отбор по любому доступному реквизиту, поменять группировку строк (по контрагентам, номенклатуре, подразделениям), включить или отключить показатели и сохранить свою настройку как отдельный вариант. Если хотя бы одно из этих действий требует доработки — отчет частный.
Универсальный отчет оправдан, когда одни и те же данные анализируются в разных разрезах: продажи — по менеджерам, товарам, регионам; остатки — по складам и группам номенклатуры. Если же отчет строго регламентирован (например, печатная форма с фиксированной структурой или отчетность по утвержденной форме), универсальность только мешает: лишние настройки повышают риск получить неверную форму.
Подходы к универсальному отчету
Подходит для анализа данных по документам и регистрам без программирования. Ограничение: структура запроса предопределена платформой, сложные соединения таблиц недоступны.
Полный контроль над запросом и полями, можно задать несколько вариантов. Требует навыков работы с конструктором СКД и понимания структуры данных.
Подходит для оперативных списков с отборами, но слабее в группировках, итогах и диаграммах.
Универсальный отчет в типовой конфигурации без программирования
В типовых решениях (например, в конфигурациях на Библиотеке стандартных подсистем) есть отчет «Универсальный отчет». Он строится по выбранному объекту метаданных: документу, справочнику, регистру сведений или регистру накопления. Пользователь выбирает источник данных, период и дальше работает только с настройками.
Типовой сценарий: открыть отчет, выбрать тип данных (например, «Регистр накопления: Продажи»), указать период, затем через кнопку настроек добавить группировку по контрагенту и отбор по организации. Результат можно сохранить как свой вариант отчета, чтобы не настраивать заново.
- 1Откройте отчет «Универсальный отчет» в разделе отчетов конфигурации
- 2Выберите источник данных: документ, справочник или регистр
- 3Укажите период формирования
- 4Через «Настройки» добавьте нужные группировки, отборы и поля
- 5Проверьте результат на контрольном примере
- 6Сохраните настройку как вариант отчета с понятным именем
Ограничение этого подхода — набор полей определяется структурой выбранного объекта. Если нужно объединить данные из нескольких регистров или добавить вычисляемый показатель (например, рентабельность как отношение прибыли к выручке), потребуется собственный отчет на СКД.
Собственный отчет на СКД: основа универсальности
Система компоновки данных (СКД) — механизм платформы, который разделяет запрос к данным и их представление. Разработчик описывает набор данных и поля, а компоновку (группировки, отборы, порядок) пользователь меняет в режиме предприятия. Именно СКД лежит в основе большинства универсальных отчетов в 1С.
Чтобы создать такой отчет, в конфигураторе добавляют новый объект «Отчет», открывают схему компоновки данных и создают набор данных типа «Запрос». В запросе выбирают таблицы и поля, которые могут понадобиться пользователям. Важный принцип: включайте в запрос все поля, по которым потенциально нужны отборы и группировки, — СКД сама уберет лишние из исполняемого запроса, если они не используются в настройках (при включенной автогруппировке полей).
На закладке «Настройки» схемы создают вариант отчета по умолчанию: задают стартовую группировку, список выбранных полей и разумные отборы. Этот вариант увидит пользователь при первом открытии, поэтому он должен быть осмысленным и быстрым.
Гибкие параметры и отборы
Период — самый частый параметр. В СКД удобно использовать стандартный период: он дает пользователю привычный выбор «месяц», «квартал», «произвольный интервал». Если в запросе используется виртуальная таблица регистра, свяжите ее параметры «Начало периода» и «Конец периода» с параметрами СКД, а не пишите условия вручную в секции ГДЕ.
Отборы по реквизитам (контрагент, склад, подразделение) добавляются на закладке «Отбор» в настройках. Чтобы отбор был доступен пользователю, но не обязателен, оставьте его выключенным в варианте по умолчанию и отметьте поле как доступное. Для отборов «в списке» или «в группе» выбирайте соответствующий вид сравнения — это снимает большинство вопросов пользователей.
Полезный прием — параметры-флаги, управляющие структурой отчета: например, «Показывать детально по документам». В вычисляемых полях или условном оформлении такой параметр включает дополнительную группировку. Это позволяет одному отчету работать в режиме «сводно» и «детально».
Не выводите в быстрые настройки (шапку отчета) больше трех-пяти элементов: период, ключевой отбор и, возможно, переключатель режима. Остальное оставьте в расширенных настройках — перегруженная панель настроек пугает пользователей сильнее, чем отсутствие гибкости.
Варианты отчета и сохранение настроек
Варианты — это сохраненные наборы настроек СКД. Один физический отчет может иметь варианты «Продажи по менеджерам», «Продажи по товарам», «Продажи по месяцам», отличающиеся только группировками. В типовых конфигурациях варианты можно выводить в панель отчетов раздела, чтобы пользователь открывал нужный разрез одним кликом.
Разработчик создает предопределенные варианты в схеме компоновки, пользователь — свои личные через «Сохранить вариант». Рекомендуется давать предопределенным вариантам говорящие имена и описания: пользователь должен понимать, что он получит, не открывая отчет.
Если конфигурация использует подсистему «Варианты отчетов», предопределенные варианты регистрируются в ней и становятся видимыми в интерфейсе. Проверьте, что у варианта заполнены ключ и представление, иначе он может не появиться в панели отчетов.
Как выбрать подход
Проверка результата и производительность
После настройки отчет нужно проверить на контрольных данных. Возьмите заведомо известную цифру — например, оборот по конкретному документу или итог по регистру за день — и сравните с результатом отчета при тех же отборах. Расхождение почти всегда означает ошибку в соединениях таблиц или в параметрах виртуальной таблицы.
Проверьте отчет в нескольких режимах: без отборов, с отбором по одному значению, с отбором по списку, за длинный период. Универсальный отчет обязан корректно работать во всех комбинациях, которые доступны пользователю, — иначе кто-нибудь обязательно найдет «сломанную» настройку.
Производительность: если отчет без отборов формируется дольше десятков секунд на рабочей базе, ограничьте вариант по умолчанию обязательным периодом или отбором по организации. Отчет, который по умолчанию тянет все данные за все время, быстро станет источником жалоб и блокировок.
Как проверить результат
Совпадает с данными документа или оборотно-сальдовой ведомостью
Расхождение — проверяйте соединения и параметры виртуальных таблиц
Формируется за приемлемое время и дает полные итоги
Долгое формирование или пустой результат
Итоги не меняются, меняется только детализация
Итоги «плывут» — вероятно, дублирование строк из-за соединения таблиц
Открывается с теми же настройками и результатом
Настройки сбрасываются или вариант не виден в панели отчетов
Типичные ошибки и ограничения
Самая частая ошибка — умножение строк при соединении таблиц: если к продажам присоединить таблицу с несколькими строками на документ, суммы задвоятся. Признак — итоги отчета кратно больше реальных. Лечится проверкой связей «один ко многим» и, при необходимости, группировкой до соединения.
Вторая ошибка — отборы в тексте запроса вместо настроек СКД. Условие, жестко прописанное в секции ГДЕ, пользователь не сможет отключить, и отчет теряет универсальность. Все изменчивые условия должны жить в отборах компоновки.
Третья группа ошибок — права доступа. Пользователь без прав на один из регистров получит либо пустой отчет, либо ошибку. Проверяйте отчет под учетной записью с реальными правами целевой аудитории, а не только под полными правами.
Итоговые рекомендации
Начинайте с готового «Универсального отчета» типовой конфигурации — он закрывает большинство аналитических задач без единой строки кода. Переходите к собственному отчету на СКД, когда нужны соединения таблиц, вычисляемые показатели или особые варианты.
Формула универсальности проста: период и отборы — в настройки, группировки — в варианты, все потенциально нужные поля — в набор данных. Проверка на контрольных цифрах и под реальными правами пользователя обязательна до передачи отчета в работу.
Что важно запомнить
Универсальность отчета достигается переносом периода, отборов и группировок в настройки СКД. Используйте типовой «Универсальный отчет» для простых задач и собственный отчет на СКД с вариантами — для сложных. Обязательно проверяйте итоги на контрольных данных и работу под правами реальных пользователей.
Частые вопросы
Можно ли сделать универсальный отчет без программирования?
Да. В типовых конфигурациях есть отчет «Универсальный отчет»: выбираете источник данных (документ, справочник, регистр), задаете период и настраиваете группировки с отборами через интерфейс настроек. Настройку можно сохранить как личный вариант.
Чем вариант отчета отличается от настройки?
Настройка — текущий набор отборов и группировок в открытом отчете. Вариант — сохраненная настройка с именем, которую можно вызывать повторно. Один отчет обычно имеет несколько вариантов под разные задачи.
Почему итоги отчета больше реальных данных?
Почти всегда причина — соединение таблиц, где на одну строку основной таблицы приходится несколько строк присоединяемой. Суммы дублируются. Проверьте связи в запросе и при необходимости сгруппируйте присоединяемую таблицу до соединения.
Как дать пользователю отбор, который он может отключить?
Добавьте отбор в настройках СКД, но снимите флаг использования — отбор будет виден пользователю и включится по необходимости. Не прописывайте такие условия в тексте запроса: оттуда их убрать нельзя.
Отчет формируется очень долго. Что делать?
Ограничьте вариант по умолчанию обязательным периодом или отбором по организации. Убедитесь, что параметры передаются в виртуальные таблицы регистров, а не фильтруют результат после выборки. Проверьте наличие индексов по полям отборов.
Когда универсальный отчет не нужен?
Для регламентированных форм с утвержденной структурой и для печатных документов. Там изменчивость настроек — источник ошибок, поэтому делают специализированный отчет с фиксированным макетом.