Свой отчёт в 1С: от настройки готового до файла на СКД

· 9 мин

Содержание

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

Типичная ситуация: главбух просит к пятнице «долги покупателей по менеджерам, только просрочка, с итогами». В ОСВ по счёту 62 менеджеров нет, в отчётах по продажам нет остатков. Её можно закрыть любым из трёх способов, но трудозатраты отличаются в разы: от пяти минут в настройках до пары часов в конфигураторе.

Какой способ создания отчёта выбрать

Начинайте с самого простого способа, который закрывает задачу. Свой файл отчёта придётся сопровождать после каждого обновления конфигурации.

СпособКогда подходитЧто нужноМинусы
Вариант готового отчётаНужные данные уже есть в типовом отчёте, не хватает группировки или отбораПрава пользователя на сохранение вариантовОграничен полями исходного отчёта
Универсальный отчётНужна выборка из одного регистра, документа или справочникаПонимать, в каком регистре лежат данныеНе соединяет несколько источников
Внешний отчёт (.erf) на СКДНужно связать несколько таблиц, посчитать свои показателиКонфигуратор, знание языка запросовНужно проверять после обновлений
Отчёт в расширении (.cfe)Отчёт нужен постоянно и многимКонфигуратор, права администратораТребует аккуратного обновления

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

Отчёт без программиста: настройка варианта и универсальный отчёт

Сохраняем свой вариант типового отчёта

Варианты отчётов есть во всех конфигурациях на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP.

  1. Откройте типовой отчёт, например оборотно-сальдовую ведомость по счёту или «Анализ субконто».
  2. Нажмите Настройки и переключитесь в расширенный режим.
  3. На вкладках настроек добавьте поля, группировки, отборы и сортировку.
  4. Сформируйте отчёт и проверьте результат.
  5. Через меню Ещё выберите команду сохранения варианта отчёта, задайте имя и решите, будет ли вариант виден только вам или всем.

Сохранённый вариант появится в панели отчётов раздела, и коллеги смогут им пользоваться без повторной настройки.

Собираем выборку в «Универсальном отчёте»

«Универсальный отчёт» в Бухгалтерии 3.0 открывается из раздела Отчеты. Его смысл в том, что источник данных вы выбираете сами.

  1. Укажите период.
  2. Выберите тип источника: документ, справочник, регистр накопления, регистр бухгалтерии или регистр сведений .
  3. Выберите сам объект, например регистр бухгалтерии «Журнал проводок (бухгалтерский учет)».
  4. Укажите таблицу: остатки, обороты или остатки и обороты.
  5. Откройте Настройки и задайте поля, группировки и отборы так же, как в любом отчёте.

Для задачи из примера подойдёт регистр бухгалтерии, таблица остатков, отбор по счёту 62 и группировка по контрагенту. Менеджера добавьте как реквизит контрагента через точку.

Внешний отчёт в конфигураторе: пошаговое создание

Если данные нужно взять из нескольких мест, переходите к своему файлу. Это главный приём практика: отчёт делают внешним файлом .erf и не трогают основную конфигурацию, поэтому обновления типовой базы не ломаются.

  1. Запустите базу в режиме Конфигуратор. Для создания внешнего отчёта монопольный режим не нужен.
  2. В главном меню выберите Файл → Новый и тип документа «Внешний отчет ».
  3. Задайте имя латиницей или кириллицей без пробелов, например ДолгиПоМенеджерам, и синоним, который увидит пользователь.
  4. Нажмите кнопку Открыть схему компоновки данных. Конфигуратор предложит создать основную схему: соглашайтесь.
  5. В открывшемся редакторе добавьте набор данных «Запрос» и откройте Конструктор запроса.
  6. Выберите таблицы, поля и связи. Конструктор сам напишет текст запроса.
  7. На вкладке Настройки запустите конструктор настроек и выберите вид: список, таблица или диаграмма. Конструктор создаст группировки и выбранные поля.
  8. Сохраните файл через Файл → Сохранить.

Форму отчёта рисовать не обязательно. Если у отчёта есть основная СКД и нет своей формы, платформа построит стандартную форму сама: с кнопками Сформировать и Настройки.

Внешний отчёт видит данные с правами того, кто его запускает. Но для открытия файла нужно отдельное право на интерактивное открытие внешних отчётов. Если пользователю его не дали, файл не откроется: подключайте отчёт через справочник дополнительных отчётов (о нём ниже).

Схема компоновки данных: запрос, ресурсы и период

СКД — это три слоя. Набор данных говорит, откуда брать. Ресурсы говорят, что суммировать. Настройки говорят, как показать.

Запрос для примера с долгами

Возьмём остатки по регистру бухгалтерии Бухгалтерии 3.0 и подтянем менеджера из карточки контрагента:

ВЫБРАТЬ
    Остатки.Субконто1 КАК Контрагент,
    Остатки.Субконто1.ОсновнойМенеджер КАК Менеджер,
    Остатки.СуммаОстатокДт КАК Долг,
    Остатки.СуммаОстатокКт КАК Аванс
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
        &ДатаОтчета,
        Счет В ИЕРАРХИИ (&Счет),
        ,
    ) КАК Остатки

Параметры &ДатаОтчета и &Счет СКД добавит на вкладку Параметры автоматически. Счёт 62 пользователь выберет сам при формировании.

Если реквизит менеджера в вашей карточке контрагента называется иначе, конструктор запроса покажет точное имя: раскройте поле Субконто1 в списке полей.

Ресурсы

На вкладке Ресурсы перенесите поля Долг и Аванс. По умолчанию для числа выбирается функция Сумма. Без ресурсов отчёт не посчитает итоги по группировкам: суммы будут только в детальных строках.

Стандартный период вместо двух дат

Для отчётов «за период» удобнее один параметр вместо двух:

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

Пользователь увидит привычный выбор «месяц / квартал / год» вместо двух полей с датами.

Группировки и детальные записи

На вкладке Настройки в структуре отчёта должна быть хотя бы одна группировка. Для примера создайте группировку по полю Менеджер, внутри неё — группировку по Контрагент. Если нужны отдельные строки без свёртки, добавьте группировку без поля: это «Детальные записи».

Отборы и параметры в отчёте: что вынести пользователю

Есть два места, где можно ограничить данные. Их часто путают.

  • 🎯 Условие в запросе (ГДЕ или параметр виртуальной таблицы) отбирает данные до расчёта. Это быстро и правильно для остатков: условие по счёту стоит внутри скобок виртуальной таблицы, а не в ГДЕ.
  • 🔎 Отбор в настройках СКД накладывается на готовый результат. Удобно для пользователя, но на больших объёмах медленнее.

Чтобы бухгалтер мог менять отбор без конфигуратора, вынесите его в пользовательские настройки:

  1. На вкладке Настройки откройте отбор и добавьте поле, например Менеджер.
  2. Выделите строку отбора и откройте свойства элемента пользовательских настроек.
  3. Включите флаг «Включать в пользовательские настройки».
  4. Выберите режим «Быстрый доступ», если поле нужно в шапке отчёта, или «Обычный», если оно нужно только в окне настроек.

То же сделайте для параметров ДатаОтчета и Счет. Теперь поля появятся прямо над кнопкой Сформировать.

Для отбора «только просрочка» сравните дату документа расчётов с порогом. Это потребует субконто «Документ расчётов» на счёте 62 и дополнительного вычисляемого поля. Если в вашей базе учёт по документам расчётов не ведётся, просрочку по счёту не определить: сначала включите аналитику по документам расчётов в настройках учёта.

Как подключить отчёт к базе: дополнительные отчёты и расширения

Файл .erf можно просто открыть через Файл → Открыть. Но для постоянной работы его лучше зарегистрировать.

Через справочник дополнительных отчётов

  1. В пользовательском режиме откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Включите флаг «Дополнительные отчеты и обработки».
  3. Перейдите по ссылке в список и добавьте файл командой загрузки из файла.
  4. Укажите размещение (раздел программы) и пользователей, которым отчёт доступен.

Чтобы загрузка сработала, в модуле объекта отчёта должна быть функция регистрации. Для конфигураций на БСП минимальный вариант такой:

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.БезопасныйРежим = Истина;

    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = "Долги покупателей по менеджерам";
    Команда.Идентификатор = "ДолгиПоМенеджерам";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

    Возврат ПараметрыРегистрации;

КонецФункции

Без этой функции файл не зарегистрируется как дополнительный отчёт: программа откажет в загрузке.

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

Через расширение конфигурации

Если отчёт нужен постоянно, а доработок несколько, сделайте расширение. В конфигураторе откройте Конфигурация → Расширения конфигурации, создайте расширение и добавьте в него новый отчёт с той же СКД. Расширения появились в платформе 8.3.6. Отчёт в расширении можно сразу включить в подсистему, чтобы он стоял в нужном разделе.

Вывод данных: оформление, выгрузка в Excel и печать

Результат отчёта на СКД — табличный документ. С ним работают так же, как с ОСВ.

Оформление прямо в схеме

  • 🎨 Условное оформление на вкладке Настройки: например, красить строку красным, если Долг больше 500 000.
  • 📐 Формат чисел: в оформлении поля задайте формат ЧДЦ=2, чтобы суммы шли с копейками.
  • 📊 Диаграмма: добавьте в структуру элемент «Диаграмма», точкой укажите Менеджер, серией — ресурс Долг.
  • 🧾 Макет: на вкладке Макеты можно задать своё оформление заголовка или группировки, если стандартного не хватает.

Выгрузка и рассылка

  1. Сформируйте отчёт.
  2. В главном меню выберите Файл → Сохранить как.
  3. Укажите формат: xlsx для Excel, pdf для отправки, mxl для открытия в 1С.

Для регулярной отправки в программах на БСП есть рассылки отчётов: в Администрирование → Печатные формы, отчеты и обработки включите их и задайте расписание, получателей и формат файла. Сохранённый вариант отчёта можно выбрать в рассылке так же, как типовой.

Если в Excel нужны «чистые» данные для сводной таблицы, перед выгрузкой отключите в настройках общие итоги и вывод заголовка. Так файл сразу пригоден для фильтров.

Ошибки при создании отчёта и как их найти

Диагностика: выберите симптом

Ещё два промаха, которые не видны сразу:

  • 🐢 Отчёт тормозит у всех. В запросе выбирается вся физическая таблица регистра, а отбор по периоду наложен в настройках. Переносите условия в параметры виртуальной таблицы.
  • 👥 Отчёт работает у вас и не работает у бухгалтера. Вы проверяли под полными правами. Запустите отчёт под пользователем с ролью бухгалтера: часть полей ему может быть недоступна.

Частые вопросы про создание отчётов

Чем внешний отчёт отличается от внешней обработки?
Отчёт только читает данные и выводит результат, у него есть основная схема компоновки и стандартная форма с настройками. Обработка может менять данные: создавать документы, перезаполнять реквизиты.
Где хранится сохранённый вариант отчёта?
В самой информационной базе, а не на компьютере пользователя. Поэтому вариант доступен с любого рабочего места и сохраняется при переносе базы.
Как проверить запрос, не собирая весь отчёт?
Воспользуйтесь консолью запросов: это внешняя обработка, в которую вставляют текст запроса и сразу видят результат. Когда запрос даёт верные цифры, переносите его в набор данных СКД.
Можно ли отдать готовый отчёт в другую организацию?
Да, файл .erf переносится между базами одной конфигурации. Перед этим проверьте, что в другой базе такие же реквизиты и регистры: при другом релизе запрос может не найти поля.
Нужно ли выгонять пользователей из базы, чтобы подключить внешний отчёт?
Нет. Загрузка в справочник дополнительных отчётов идёт в пользовательском режиме. Монопольный доступ нужен для других операций, например для обновления конфигурации базы данных со сменой структуры.