Свой отчёт в 1С: от настройки готового до файла на СКД
Содержание
Создать отчет в 1С 8.3 можно тремя путями: настроить и сохранить вариант готового отчёта, собрать выборку в «Универсальном отчёте» или сделать внешний отчёт на схеме компоновки данных (СКД) в конфигураторе и подключить его через Администрирование → Печатные формы, отчеты и обработки. Первые два способа не требуют программиста, третий даёт любую нужную форму.
Типичная ситуация: главбух просит к пятнице «долги покупателей по менеджерам, только просрочка, с итогами». В ОСВ по счёту 62 менеджеров нет, в отчётах по продажам нет остатков. Её можно закрыть любым из трёх способов, но трудозатраты отличаются в разы: от пяти минут в настройках до пары часов в конфигураторе.
Какой способ создания отчёта выбрать
Начинайте с самого простого способа, который закрывает задачу. Свой файл отчёта придётся сопровождать после каждого обновления конфигурации.
| Способ | Когда подходит | Что нужно | Минусы |
|---|---|---|---|
| Вариант готового отчёта | Нужные данные уже есть в типовом отчёте, не хватает группировки или отбора | Права пользователя на сохранение вариантов | Ограничен полями исходного отчёта |
| Универсальный отчёт | Нужна выборка из одного регистра, документа или справочника | Понимать, в каком регистре лежат данные | Не соединяет несколько источников |
| Внешний отчёт (.erf) на СКД | Нужно связать несколько таблиц, посчитать свои показатели | Конфигуратор, знание языка запросов | Нужно проверять после обновлений |
| Отчёт в расширении (.cfe) | Отчёт нужен постоянно и многим | Конфигуратор, права администратора | Требует аккуратного обновления |
Перед тем как писать код, откройте похожий типовой отчёт и нажмите в нём кнопку Настройки. В расширенном режиме настроек часто можно добавить нужное поле через точку: например, вывести у контрагента реквизит «Основной менеджер» прямо из поля «Контрагент».
Отчёт без программиста: настройка варианта и универсальный отчёт
Сохраняем свой вариант типового отчёта
Варианты отчётов есть во всех конфигурациях на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP.
- Откройте типовой отчёт, например оборотно-сальдовую ведомость по счёту или «Анализ субконто».
- Нажмите
Настройкии переключитесь в расширенный режим. - На вкладках настроек добавьте поля, группировки, отборы и сортировку.
- Сформируйте отчёт и проверьте результат.
- Через меню
Ещёвыберите команду сохранения варианта отчёта, задайте имя и решите, будет ли вариант виден только вам или всем.
Сохранённый вариант появится в панели отчётов раздела, и коллеги смогут им пользоваться без повторной настройки.
Собираем выборку в «Универсальном отчёте»
«Универсальный отчёт» в Бухгалтерии 3.0 открывается из раздела Отчеты. Его смысл в том, что источник данных вы выбираете сами.
- Укажите период.
- Выберите тип источника: документ, справочник, регистр накопления, регистр бухгалтерии или регистр сведений .
- Выберите сам объект, например регистр бухгалтерии «Журнал проводок (бухгалтерский учет)».
- Укажите таблицу: остатки, обороты или остатки и обороты.
- Откройте
Настройкии задайте поля, группировки и отборы так же, как в любом отчёте.
Для задачи из примера подойдёт регистр бухгалтерии, таблица остатков, отбор по счёту 62 и группировка по контрагенту. Менеджера добавьте как реквизит контрагента через точку.
Внешний отчёт в конфигураторе: пошаговое создание
Если данные нужно взять из нескольких мест, переходите к своему файлу. Это главный приём практика: отчёт делают внешним файлом .erf и не трогают основную конфигурацию, поэтому обновления типовой базы не ломаются.
- Запустите базу в режиме
Конфигуратор. Для создания внешнего отчёта монопольный режим не нужен. - В главном меню выберите
Файл → Новыйи тип документа «Внешний отчет ». - Задайте имя латиницей или кириллицей без пробелов, например
ДолгиПоМенеджерам, и синоним, который увидит пользователь. - Нажмите кнопку
Открыть схему компоновки данных. Конфигуратор предложит создать основную схему: соглашайтесь. - В открывшемся редакторе добавьте набор данных «Запрос» и откройте
Конструктор запроса. - Выберите таблицы, поля и связи. Конструктор сам напишет текст запроса.
- На вкладке
Настройкизапустите конструктор настроек и выберите вид: список, таблица или диаграмма. Конструктор создаст группировки и выбранные поля. - Сохраните файл через
Файл → Сохранить.
Форму отчёта рисовать не обязательно. Если у отчёта есть основная СКД и нет своей формы, платформа построит стандартную форму сама: с кнопками Сформировать и Настройки.
Внешний отчёт видит данные с правами того, кто его запускает. Но для открытия файла нужно отдельное право на интерактивное открытие внешних отчётов. Если пользователю его не дали, файл не откроется: подключайте отчёт через справочник дополнительных отчётов (о нём ниже).
Схема компоновки данных: запрос, ресурсы и период
СКД — это три слоя. Набор данных говорит, откуда брать. Ресурсы говорят, что суммировать. Настройки говорят, как показать.
Запрос для примера с долгами
Возьмём остатки по регистру бухгалтерии Бухгалтерии 3.0 и подтянем менеджера из карточки контрагента:
ВЫБРАТЬ
Остатки.Субконто1 КАК Контрагент,
Остатки.Субконто1.ОсновнойМенеджер КАК Менеджер,
Остатки.СуммаОстатокДт КАК Долг,
Остатки.СуммаОстатокКт КАК Аванс
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(
&ДатаОтчета,
Счет В ИЕРАРХИИ (&Счет),
,
) КАК Остатки
Параметры &ДатаОтчета и &Счет СКД добавит на вкладку Параметры автоматически. Счёт 62 пользователь выберет сам при формировании.
Если реквизит менеджера в вашей карточке контрагента называется иначе, конструктор запроса покажет точное имя: раскройте поле Субконто1 в списке полей.
Ресурсы
На вкладке Ресурсы перенесите поля Долг и Аванс. По умолчанию для числа выбирается функция Сумма. Без ресурсов отчёт не посчитает итоги по группировкам: суммы будут только в детальных строках.
Стандартный период вместо двух дат
Для отчётов «за период» удобнее один параметр вместо двух:
- На вкладке
Параметрыдобавьте параметрПериодс типом «Стандартный период». - У параметра
НачалоПериодав колонке «Выражение» укажите&Период.ДатаНачала. - У параметра
КонецПериодаукажите&Период.ДатаОкончания. - У самих
НачалоПериодаиКонецПериодаснимите доступность для пользователя.
Пользователь увидит привычный выбор «месяц / квартал / год» вместо двух полей с датами.
Группировки и детальные записи
На вкладке Настройки в структуре отчёта должна быть хотя бы одна группировка. Для примера создайте группировку по полю Менеджер, внутри неё — группировку по Контрагент. Если нужны отдельные строки без свёртки, добавьте группировку без поля: это «Детальные записи».
Отборы и параметры в отчёте: что вынести пользователю
Есть два места, где можно ограничить данные. Их часто путают.
- 🎯 Условие в запросе (
ГДЕили параметр виртуальной таблицы) отбирает данные до расчёта. Это быстро и правильно для остатков: условие по счёту стоит внутри скобок виртуальной таблицы, а не вГДЕ. - 🔎 Отбор в настройках СКД накладывается на готовый результат. Удобно для пользователя, но на больших объёмах медленнее.
Чтобы бухгалтер мог менять отбор без конфигуратора, вынесите его в пользовательские настройки:
- На вкладке
Настройкиоткройте отбор и добавьте поле, напримерМенеджер. - Выделите строку отбора и откройте свойства элемента пользовательских настроек.
- Включите флаг «Включать в пользовательские настройки».
- Выберите режим «Быстрый доступ», если поле нужно в шапке отчёта, или «Обычный», если оно нужно только в окне настроек.
То же сделайте для параметров ДатаОтчета и Счет. Теперь поля появятся прямо над кнопкой Сформировать.
Для отбора «только просрочка» сравните дату документа расчётов с порогом. Это потребует субконто «Документ расчётов» на счёте 62 и дополнительного вычисляемого поля. Если в вашей базе учёт по документам расчётов не ведётся, просрочку по счёту не определить: сначала включите аналитику по документам расчётов в настройках учёта.
Как подключить отчёт к базе: дополнительные отчёты и расширения
Файл .erf можно просто открыть через Файл → Открыть. Но для постоянной работы его лучше зарегистрировать.
Через справочник дополнительных отчётов
- В пользовательском режиме откройте
Администрирование → Печатные формы, отчеты и обработки. - Включите флаг «Дополнительные отчеты и обработки».
- Перейдите по ссылке в список и добавьте файл командой загрузки из файла.
- Укажите размещение (раздел программы) и пользователей, которым отчёт доступен.
Чтобы загрузка сработала, в модуле объекта отчёта должна быть функция регистрации. Для конфигураций на БСП минимальный вариант такой:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Истина;
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Долги покупателей по менеджерам";
Команда.Идентификатор = "ДолгиПоМенеджерам";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Возврат ПараметрыРегистрации;
КонецФункции
Без этой функции файл не зарегистрируется как дополнительный отчёт: программа откажет в загрузке.
При загрузке программа может показать предупреждение о безопасности. Загружайте только файлы, которые написали сами или получили от проверенного специалиста: внешний отчёт выполняет код в вашей базе.
Через расширение конфигурации
Если отчёт нужен постоянно, а доработок несколько, сделайте расширение. В конфигураторе откройте Конфигурация → Расширения конфигурации, создайте расширение и добавьте в него новый отчёт с той же СКД. Расширения появились в платформе 8.3.6. Отчёт в расширении можно сразу включить в подсистему, чтобы он стоял в нужном разделе.
Вывод данных: оформление, выгрузка в Excel и печать
Результат отчёта на СКД — табличный документ. С ним работают так же, как с ОСВ.
Оформление прямо в схеме
- 🎨 Условное оформление на вкладке
Настройки: например, красить строку красным, еслиДолгбольше 500 000. - 📐 Формат чисел: в оформлении поля задайте формат
ЧДЦ=2, чтобы суммы шли с копейками. - 📊 Диаграмма: добавьте в структуру элемент «Диаграмма», точкой укажите
Менеджер, серией — ресурсДолг. - 🧾 Макет: на вкладке
Макетыможно задать своё оформление заголовка или группировки, если стандартного не хватает.
Выгрузка и рассылка
- Сформируйте отчёт.
- В главном меню выберите
Файл → Сохранить как. - Укажите формат:
xlsxдля Excel,pdfдля отправки,mxlдля открытия в 1С.
Для регулярной отправки в программах на БСП есть рассылки отчётов: в Администрирование → Печатные формы, отчеты и обработки включите их и задайте расписание, получателей и формат файла. Сохранённый вариант отчёта можно выбрать в рассылке так же, как типовой.
Если в Excel нужны «чистые» данные для сводной таблицы, перед выгрузкой отключите в настройках общие итоги и вывод заголовка. Так файл сразу пригоден для фильтров.
Ошибки при создании отчёта и как их найти
Ещё два промаха, которые не видны сразу:
- 🐢 Отчёт тормозит у всех. В запросе выбирается вся физическая таблица регистра, а отбор по периоду наложен в настройках. Переносите условия в параметры виртуальной таблицы.
- 👥 Отчёт работает у вас и не работает у бухгалтера. Вы проверяли под полными правами. Запустите отчёт под пользователем с ролью бухгалтера: часть полей ему может быть недоступна.