Работа с документами в 1С:Документооборот требует не только их регистрации и движения, но и анализа. Стандартные отчеты системы покрывают базовые потребности, но часто возникают задачи, для которых нужны кастомные решения. Например, анализ времени согласования по отделам, контроль просроченных поручений с учетом специфики бизнес-процессов или сводка по документам определенного типа за произвольный период.
В этой статье разберем, как создать собственный отчет в 1С:Документооборот 8.3 без программирования — с помощью встроенного конструктора. А для опытных пользователей покажем, как усилить функционал через СКД (Система Композиции Данных) и встроенный язык. Материал актуален для последних редакций платформы, но ключевые принципы применимы и к более ранним версиям.
Подготовка: что нужно знать перед созданием отчета
Прежде чем приступать к разработке, определитесь с целями отчета:
- 📌 Для кого он предназначен (руководители, сотрудники отдела, бухгалтерия)?
- 📊 Какие данные должны отображаться (список документов, статистика, графики)?
- 🔍 Нужны ли фильтры по датам, типам документов, исполнителям?
- 📈 Формат вывода: таблица, диаграмма, сводная ведомость?
В 1С:Документооборот есть два основных способа создания отчетов:
- Конструктор отчетов — визуальный инструмент для пользователей без навыков программирования. Позволяет собрать отчет из готовых блоков (поля, группировки, условия).
- Система Композиции Данных (СКД) — гибкий механизм для разработчиков. Требует знания языка запросов 1С и структуры базы, но открывает доступ к любым данным системы.
Если вам нужен простой отчет по стандартным полям (например, список входящих писем за месяц), хватит конструктора. Для сложных задач (например, анализ цепочек согласования с учетом истории изменений) потребуется СКД или доработка через 1С:Enterprise Development Tools.
⚠️ Внимание: Перед созданием отчета проверьте, нет ли аналогичного в разделе Отчеты → Стандартные отчеты. Дублирование функционала усложняет поддержку системы.
Способ 1: Создание отчета через конструктор (без программирования)
Это самый быстрый способ для пользователей с правами Администратор или Полные права. Рассмотрим на примере отчета по просроченным поручениям.
Шаг 1. Запуск конструктора
Перейдите в раздел Администрирование → Отчеты и обработки → Отчеты. Нажмите Создать → Конструктор отчетов. В открывшемся окне укажите:
- 📝 Наименование (например, "Просроченные поручения по отделам")
- 📁 Группа отчетов (выберите существующую или создайте новую)
- 🔧 Тип отчета — "Табличный документ" или "Диаграмма"
Шаг 2. Выбор источника данных
В конструкторе перейдите на вкладку Данные. Здесь нужно указать, откуда будут браться сведения. Для поручений выберите объект Поручения (или Задачи, если используете эту терминологию). Нажмите Добавить поля и отметьте:
- 📅
ДатаСоздания,СрокИсполнения - 👤
Исполнитель,Автор - 📄
Тема,Статус - 🏢
ПодразделениеИсполнителя(для группировки по отделам)
Дата создания поручения|
Срок исполнения|
Исполнитель (ФИО)|
Статус (например, "Просрочено")|
Подразделение исполнителя (для группировки)-->
Шаг 3. Настройка фильтров
На вкладке Фильтры добавьте условие для отбора просроченных поручений:
СрокИсполнения < ТекущаяДата() И Статус = "Просрочено"
Также полезно добавить фильтры по:
- 📅 Периоду (например, "за последние 30 дней")
- 🏢 Подразделению (чтобы руководители видели только свои отделы)
Шаг 4. Группировка и сортировка
На вкладке Группировки сгруппируйте данные по ПодразделениюИсполнителя, а внутри группы — по Исполнителю. Для сортировки используйте СрокИсполнения по убыванию, чтобы сначала показывались самые просроченные задачи.
Шаг 5. Оформление и сохранение
На вкладке Оформление выберите стиль таблицы (например, "Сетка с заголовками") и цвета для статусов (красный — просрочено, зеленый — выполнено). Сохраните отчет и проверьте его работу через кнопку Выполнить.
Конструктор отчетов подходит для 80% задач пользователей. Если вам нужны сложные вычисления (например, среднее время согласования по типам документов), используйте СКД.
Способ 2: Разработка отчета через СКД (для опытных пользователей)
Система Композиции Данных (СКД) — это мощный инструмент, который позволяет создавать отчеты с произвольной логикой, включая:
- 📉 Сводные таблицы с динамическими группировками
- 📈 Графики и диаграммы (гистограммы, круговые диаграммы)
- 🔄 Вложенные отчеты (например, детализация по двойному клику)
- 📊 Вычисляемые поля (например, "Количество дней просрочки")
Рассмотрим создание отчета по времени согласования документов.
Шаг 1. Создание новой схемы компоновки
В разделе Администрирование → Отчеты и обработки выберите Создать → Отчет (СКД). В открывшемся окне:
- Укажите имя отчета (например, "Анализ времени согласования").
- Перейдите на вкладку
Схема компоновки данных. - Нажмите
Конструктор схемы компоновки.
Шаг 2. Настройка источника данных
В конструкторе СКД добавьте новый набор данных типа "Запрос". Введите следующий код (пример для документов типа "Приказ"):
ВЫБРАТЬ
ДокументыСогласования.Ссылка КАК Документ,
ДокументыСогласования.Дата КАК ДатаДокумента,
ДокументыСогласования.Тип КАК ТипДокумента,
МИНИМУМ(ЗадачиСогласования.ДатаНачала) КАК ДатаНачалаСогласования,
МАКСИМУМ(ЗадачиСогласования.ДатаОкончания) КАК ДатаОкончанияСогласования,
(МАКСИМУМ(ЗадачиСогласования.ДатаОкончания) - МИНИМУМ(ЗадачиСогласования.ДатаНачала)) / 86400 КАК ДлительностьДней
ИЗ
Документ.ДокументыСогласования КАК ДокументыСогласования
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗадачиСогласования КАК ЗадачиСогласования
ПО ДокументыСогласования.Ссылка = ЗадачиСогласования.Документ
ГДЕ
ДокументыСогласования.Тип = &ТипДокумента
И ЗадачиСогласования.ДатаОкончания ЕСТЬ NULL ИЛИ ЗадачиСогласования.ДатаОкончания >= &ДатаНачала
И ЗадачиСогласования.ДатаНачала <= &ДатаОкончания
СГРУППИРОВАТЬ ПО
ДокументыСогласования.Ссылка,
ДокументыСогласования.Дата,
ДокументыСогласования.Тип
Шаг 3. Добавление параметров
На вкладке Параметры создайте:
- 📅
ДатаНачала(тип "Дата", значение по умолчанию — начало текущего месяца) - 📅
ДатаОкончания(тип "Дата", значение по умолчанию — текущая дата) - 📄
ТипДокумента(тип "СправочникСсылка.ТипыДокументов", обязательный параметр)
Шаг 4. Настройка структуры отчета
На вкладке Настройки добавьте:
- 📌 Группировки по
ТипДокументаиДатаДокумента - 📊 Поля:
Документ,ДлительностьДней - 🔍 Условия: отбор по датам и типу документа
- 📈 Диаграмма: гистограмма по полю
ДлительностьДней
Шаг 5. Вычисляемые поля
Добавьте новое поле СтатусСогласования с выражением:
ЕСЛИ ДлительностьДней > 5 ТОГДА "Долгое согласование"
ИНАЧЕ ЕСЛИ ДлительностьДней > 2 ТОГДА "В пределах нормы"
ИНАЧЕ "Быстрое согласование"
КОНЕЦ
Сохраните схему и выполните отчет. Результат можно экспортировать в Excel, PDF или отправить по почте прямо из интерфейса.
⚠️ Внимание: При использовании СКД учитывайте нагрузку на сервер. Сложные запросы с множеством соединений таблиц могут замедлять работу системы в часы пик. Тестируйте отчеты на копии базы.
Добавление отчета в интерфейс пользователя
Созданный отчет нужно сделать доступным для сотрудников. Для этого:
- Перейдите в
Администрирование → Настройка интерфейса → Панели навигации. - Выберите роль (например, "Руководители отделов").
- Добавьте новый пункт меню типа "Отчет" и укажите ваш отчет.
- Настройте права доступа в разделе
Администрирование → Права доступа.
Для удобства можно:
- 📌 Закрепить отчет на главной панели
- 🔗 Добавить в избранное для быстрого доступа
- 📅 Настроить рассылку по расписанию (например, ежедневный отчет о просроченных поручениях)
Если отчет нужен только определенным пользователям, ограничьте доступ через настройку ролей. Например, отчет по зарплатным документам должен быть виден только бухгалтерии и руководителю.
Как ограничить доступ к отчету по подразделениям?
Чтобы пользователи видели данные только по своим отделам, в запросе СКД добавьте условие:
И ПодразделениеИсполнителя В (&ТекущиеПодразделения)
Затем в параметрах отчета создайте динамический список ТекущиеПодразделения, который будет подставлять подразделения пользователя автоматически. Это реализуется через функцию:
Параметры.ТекущиеПодразделения = Пользователь.Подразделения;
Экспорт и интеграция отчетов
Готовые отчеты в 1С:Документооборот можно:
- 📄 Экспортировать в форматы
Excel,PDF,HTML,XML - ✉️ Отправлять по почте автоматически (через
Рассылки отчетов) - 🔄 Интегрировать с внешними системами (например, Power BI, Tableau)
- 📊 Публиковать на портале (если используется 1С:Предприятие 8.3 + Веб-клиент)
Экспорт в Excel с сохранением форматирования
Чтобы экспортировать отчет с сохранением цветов и формул:
- Выполните отчет и нажмите
Еще → Экспорт → Excel. - В настройках экспорта выберите
Сохранять форматированиеиЭкспортировать формулы. - Для больших отчетов (более 10 000 строк) используйте формат
XLSXвместоXLS.
Автоматическая рассылка отчетов
Настройка рассылки:
- Перейдите в
Администрирование → Рассылки отчетов. - Создайте новую рассылку, укажите отчет и получателей (можно выбрать роли или конкретных пользователей).
- Задайте расписание (например, каждый понедельник в 9:00).
- Укажите формат файла (
PDFилиExcel) и тему письма.
Для интеграции с Power BI используйте OData-сервис или выгружайте данные в CSV через Внешние обработки.
| Формат экспорта | Преимущества | Ограничения |
|---|---|---|
Excel (XLSX) |
Сохраняет форматирование, поддерживает формулы, удобен для дальнейшей обработки | Ограничение на 1 048 576 строк в одном листе |
PDF |
Сохраняет точный вид отчета, удобен для печати и архивации | Не редактируется, большой размер файла при сложных отчетах |
HTML |
Подходит для публикации на веб-порталах, поддерживает гиперссылки | Может отображаться по-разному в разных браузерах |
XML |
Универсальный формат для интеграции с другими системами | Требует преобразования для чтения человеком |
CSV |
Минимальный размер файла, совместим с большинством аналитических систем | Не сохраняет форматирование, проблемы с кодировкой при руском тексте |
Оптимизация и ускорение работы отчетов
Сложные отчеты могут тормозить при большом объеме данных. Чтобы ускорить их работу:
1. Оптимизируйте запросы
- 🔍 Используйте индексированные поля в условиях (
Дата,Ссылка,ТипДокумента). - 🚫 Избегайте
ПОДОБНО(LIKE) с символом % в начале строки. - 📌 Ограничивайте период данных (например, за последний год вместо "всех времен").
2. Используйте кэширование
В настройках отчета (СКД) включите опцию Кэшировать данные. Это ускорит повторное открытие отчета, но данные будут актуальны на момент первого выполнения.
3. Разбивайте сложные отчеты
Если отчет содержит более 10 группировок или вычисляемых полей, разбейте его на несколько более простых. Например:
- Отчет 1: "Статистика по типам документов"
- Отчет 2: "Детализация по конкретному типу"
4. Настройте фоновое выполнение
Для долгих отчетов (более 30 секунд) настройте фоновое выполнение:
- В схеме компоновки на вкладке
ДополнительновключитеВыполнять в фоне. - Укажите тайм-аут (например, 300 секунд).
- Настройте уведомление по завершении (email или всплывающее окно).
Если отчет выполняется дольше 5 минут, рассмотрите вариант выгрузки данных в внешнюю аналитическую систему (например, Power BI). Для этого настройте регулярный экспорт в CSV через Рассылки отчетов и подключите файл к дашборду.
Типичные ошибки и их решение
При создании отчетов пользователи часто сталкиваются с следующими проблемами:
1. Отчет не показывает данные
Возможные причины и решения:
- 🔍 Неверные фильтры: проверьте условия отбора (например, даты могут быть перепутаны местами).
- 🔒 Отсутствуют права: убедитесь, что у пользователя есть доступ к данным (раздел
Администрирование → Права доступа). - 📌 Ошибка в запросе: откройте
Журнал регистрации(Администрирование → Поддержка и обслуживание) и проверьте текст ошибки.
2. Отчет тормозит или выдает ошибку тайм-аута
Решения:
- 📊 Упростите запрос: удалите ненужные поля или группировки.
- 🕒 Увеличьте тайм-аут в настройках СКД (вкладка
Дополнительно). - 🗃️ Очистите кэш метаданных (
Администрирование → Тестирование и исправление → Очистка кэша).
3. Неправильное форматирование в Excel
Чтобы данные в Excel отображались корректно:
- 📅 Для дат используйте формат
ДД.ММ.ГГГГ. - 💰 Для чисел с десятичными знаками укажите формат
Число(15, 2). - 📌 В настройках экспорта отключите опцию
Экспортировать как текст.
4. Отчет не обновляется
Если данные в отчете устарели:
- 🔄 Нажмите
Обновить(кнопка с круговой стрелкой). - 🗑️ Очистите кэш отчета (
Еще → Очистить кэш). - 📥 Проверьте, не включен ли режим
Только чтениев настройках базы.
⚠️ Внимание: Если после обновления платформы 1С:Предприятие отчет перестал работать, проверьте совместимость запросов с новой версией. В 1С:Документооборот 8.3.20+ изменилась структура некоторых таблиц (например,ДокументыСогласования). ИспользуйтеКонсоль запросов(Администрирование → Поддержка и обслуживание) для тестирования.
FAQ: Частые вопросы по созданию отчетов
Могу ли я создать отчет без прав администратора?
Да, но с ограничениями. Пользователи с ролью Пользователь могут создавать личные отчеты через конструктор, но не смогут:
- 🔧 Изменять схемы компоновки данных (СКД).
- 📁 Добавлять отчеты в общие панели навигации.
- 🔒 Настраивать права доступа для других пользователей.
Личные отчеты видны только их создателю и хранятся в разделе Мои отчеты.
Как сделать отчет с графиком?
В Системе Композиции Данных (СКД) на вкладке Настройки добавьте новую диаграмму:
- Выберите тип диаграммы (например,
ГистограммаилиКруговая). - Укажите серии данных (например, количество документов по типам).
- Настройте ось категорий (например, месяцы или отделы).
- Добавьте легенду и подписи данных.
Для динамических графиков (например, с фильтрами по датам) используйте параметры отчета.
Можно ли в отчете показать историю изменений документа?
Да, но для этого потребуется доработка через СКД с использованием виртуальных таблиц:
- В запросе подключите таблицу
РегистрСведений.ИсторияИзменений. - Добавьте связь по
СсылкаНаДокумент. - Сгруппируйте данные по дате изменения и автору.
Пример запроса:
ВЫБРАТЬ
ИсторияИзменений.СсылкаНаДокумент КАК Документ,
ИсторияИзменений.ДатаИзменения КАК Когда,
ИсторияИзменений.Пользователь КАК Кто,
ИсторияИзменений.ОписаниеИзменения КАК ЧтоСделано
ИЗ
РегистрСведений.ИсторияИзменений КАК ИсторияИзменений
ГДЕ
ИсторияИзменений.СсылкаНаДокумент = &Документ
Для отображения истории в виде таблицы используйте вложенные области в СКД.
Как экспортировать отчет в Power BI?
Есть два способа:
- Через OData:
- В 1С настройте
OData-сервис(Администрирование → Публикация на веб-сервере). - В Power BI подключитесь к OData-фиду как к источнику данных.
- Используйте параметры отчета для фильтрации.
- В 1С настройте
- Через CSV/Excel:
- Экспортируйте отчет в
CSVчерезРассылки отчетов. - В Power BI настройте автоматическое обновление данных из файла.
- Экспортируйте отчет в
Для больших объемов данных (более 100 000 строк) рекомендуется использовать SQL-соединение напрямую к базе 1С (требуется настройка на стороне сервера).
Почему в отчете не отображаются новые документы?
Возможные причины:
- 🔄 Кэширование данных: очистите кэш отчета или отключите его в настройках СКД.
- 📅 Фильтр по дате: проверьте, что текущая дата попадает в указанный период.
- 🔒 Права доступа: новые документы могут быть созданы в подразделении, к которому у вас нет доступа.
- 📥 Не проведён документ: некоторые отчеты показывают только проведённые документы (проверьте статус).
Если проблема остается, выполните тестовый запрос в Консоли запросов с теми же условиями, что и в отчете.