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