Доработка статистического отчёта в 1С 8.3 через расширение и СКД
Содержание
Чтобы обновить шаблон статистики
в 1С 8.3 и не потерять правки при следующем обновлении конфигурации, меняйте отчёт не в основной конфигурации, а в расширении. Заимствуете отчёт, правите его схему компоновки данных (СКД) и макет, сохраняете расширение в файл .cfe и подключаете в рабочей базе через Администрирование → Печатные формы, отчеты и обработки → Расширения.
Типичная боль: аналитический отчёт со статистикой продаж, обращений или остатков после обновления релиза показывает нули, теряет колонку или падает с ошибкой запроса. Причина почти всегда одна: доработку внесли прямо в типовую схему или в расширение, а после релиза её никто не сверил с новой версией. Порядок действий ниже рассчитан на то, чтобы обновить шаблон за один подход и перенести его в рабочую базу без снятия конфигурации с поддержки.
Если под «шаблоном статистики» вы имеете в виду формы Росстата в 1С-Отчетности — это другая задача. Такие шаблоны загружаются в журнале Отчеты → Регламентированные отчеты, а не правятся в Конфигураторе. Эта страница — про доработку собственного или типового отчёта со статистикой.
1. Разбор текущего отчёта: где живёт шаблон и что в нём сломалось
Сначала выясните, что именно нужно обновить. «Шаблон» статистического отчёта в 1С 8.3 — это обычно три слоя, и правятся они по-разному.
| Слой | Где находится | Что меняют |
|---|---|---|
| Схема компоновки данных | Макет отчёта ОсновнаяСхемаКомпоновкиДанных | Запрос, поля, ресурсы, параметры |
| Вариант отчёта | Настройки внутри СКД или сохранённые варианты пользователей | Группировки, отборы, сортировки |
| Оформление | Условное оформление, макеты на закладке «Макеты» СКД | Цвета, шапка, формат чисел |
Если не хватает только группировки или отбора, Конфигуратор не нужен. Откройте отчёт, нажмите Настройки, переключите вид на расширенный и поменяйте структуру. Затем сохраните вариант под своим именем.
Если же нужно новое поле из регистра, другой расчёт или изменить запрос — это правка СКД, и тут без расширения не обойтись.
Перед правкой соберите факты:
- 🔍 какой отчёт: типовой (из конфигурации), внешний (
.erf) или уже доработанный в расширении; - 🔍 какие поля и показатели должны появиться или исправиться;
- 🔍 на каком периоде и с какими отборами видна проблема — запишите пример с цифрами;
- 🔍 какой релиз конфигурации стоит сейчас и какой будет после обновления.
Пример из практики: отчёт «Статистика продаж по менеджерам» после обновления показывает пустую колонку «Маржа». Причина — в новом релизе поменялся источник себестоимости, а запрос в доработке остался старым. Такие вещи видно только при сравнении запроса со свежей типовой схемой.
2. Подготовка базы и создание расширения конфигурации
Все правки делайте на копии рабочей базы, не на самой рабочей. Выгрузите базу в .dt или сделайте копию средствами СУБД и разверните её отдельно.
Порядок подготовки:
- Убедитесь, что релиз конфигурации в копии совпадает с рабочим (
Справка → О программе). - Откройте копию в Конфигураторе.
- Перейдите в
Конфигурация → Расширения конфигурации. - Нажмите «Добавить» и задайте имя, например
ДоработкаОтчетовСтатистики. Префикс задайте коротким, напримерстат_: им будут помечаться новые объекты. - В свойствах расширения выберите назначение «Адаптация» — это вариант для доработок под задачи конкретной организации.
Расширения появились в платформе 8.3.6, но для правки отчётов лучше работать на актуальной версии 8.3.2x. В ней корректнее работают заимствование макетов и сравнение с основной конфигурацией.
Режим совместимости расширения не должен быть новее режима совместимости основной конфигурации. Иначе расширение не применится в рабочей базе.
Как заимствовать отчёт
- В дереве основной конфигурации найдите отчёт:
Отчеты → <ИмяОтчета>. - Щёлкните правой кнопкой и выберите «Добавить в расширение».
- В дереве расширения раскройте заимствованный отчёт, затем его макеты.
- Заимствуйте макет схемы компоновки тем же способом — через контекстное меню.
Теперь в расширении есть своя копия схемы. Основную конфигурацию вы не трогаете, поддержка поставщика не снимается.
Если отчёт внешний
Внешний отчёт .erf расширение не требует. Откройте файл в Конфигураторе через Файл → Открыть, правьте схему так же, как описано ниже, и сохраните под новым именем с датой. В рабочей базе замените файл в списке дополнительных отчётов и обработок. Старую версию не удаляйте с диска, пока не проверите новую на реальных данных.
3. Правка схемы компоновки данных: запрос, поля, ресурсы
Откройте заимствованный макет схемы двойным щелчком. Откроется редактор СКД с закладками: «Наборы данных», «Связи наборов данных», «Вычисляемые поля», «Ресурсы», «Параметры», «Макеты», «Вложенные схемы», «Настройки».
Запрос набора данных
На закладке «Наборы данных» выберите набор-запрос и нажмите «Конструктор запроса». Добавляйте поля через конструктор, а не правкой текста вручную — так меньше шансов опечататься в имени таблицы.
Пример добавления числа документов в статистику продаж:
ВЫБРАТЬ
Продажи.Менеджер КАК Менеджер,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Сумма) КАК Сумма,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Продажи.Регистратор) КАК ЧислоДокументов
ИЗ
РегистрНакопления.Продажи КАК Продажи
ГДЕ
Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Продажи.Менеджер,
Продажи.Номенклатура
Имена регистров и реквизитов у разных конфигураций свои. Сверяйте их по дереву метаданных, а не по примеру.
Ресурсы и вычисляемые поля
Статистика — это почти всегда итоги и доли. Числовые показатели переносите на закладку «Ресурсы» и задавайте выражение итога: Сумма(Сумма), Количество(Различные Регистратор).
Долю или средний чек считайте вычисляемым полем, а итог для него — отдельным выражением ресурса. Пример ресурса «Средний чек»:
ВЫБОР
КОГДА Сумма(ЧислоДокументов) = 0 ТОГДА 0
ИНАЧЕ Сумма(Сумма) / Сумма(ЧислоДокументов)
КОНЕЦ
Проверка на ноль обязательна. Без неё отчёт падает с ошибкой деления на ноль на группировке, где нет документов.
Не суммируйте средние значения. Ресурс «средний чек» как Сумма(СреднийЧек) даёт в итоге бессмыслицу: при двух менеджерах со средним чеком 1 000 и 3 000 ₽ итог покажет 4 000 ₽ вместо реального среднего.
Параметры
На закладке «Параметры» проверьте, что у НачалоПериода и КонецПериода задан тип «Дата» и включена доступность для пользователя. Если в отчёте один параметр периода (тип «Стандартный период»), а в запросе два, свяжите их выражениями &Период.ДатаНачала и &Период.ДатаОкончания.
4. Макет вывода и параметры оформления статистики
Внешний вид отчёта задаётся на закладке «Настройки» СКД. Там же хранится вариант по умолчанию, который видит пользователь при открытии.
Что обычно настраивают:
- 📊 структуру — группировки строк (менеджер → номенклатура) и колонок (месяцы периода);
- 📊 выбранные поля — порядок колонок и заголовки;
- 📊 условное оформление — например, красный цвет для строк, где план выполнен меньше чем на 80%;
- 📊 другие настройки — заголовок отчёта, вывод отборов, расположение общих итогов.
Формат чисел задавайте в условном оформлении через параметр «Формат»: ЧДЦ=0; ЧГ=3 для рублей без копеек, ЧДЦ=1 для процентов.
Когда нужна закладка «Макеты»
Закладка «Макеты» нужна, если стандартного вывода недостаточно: нестандартная шапка из нескольких строк, объединённые ячейки, фиксированная форма для руководства. Макеты привязываются к группировке или к полю.
Пользуйтесь ими осторожно. Свой макет группировки отключает часть автоматического оформления, и при добавлении нового поля его придётся дорисовывать вручную.
Варианты отчёта
Если пользователям нужны разные срезы — по менеджерам, по складам, по месяцам — создайте несколько вариантов на закладке «Настройки» вместо нескольких отчётов. В типовых конфигурациях варианты сразу появляются в панели отчётов раздела.
5. Обновление шаблона после выхода нового релиза
Это главный приём, о котором забывают. Заимствованный макет в расширении полностью заменяет типовой. Поставщик выпустил релиз с исправленным запросом — а у вас по-прежнему работает старая схема из расширения.
Поэтому после каждого обновления конфигурации:
- Обновите копию базы до нового релиза.
- Откройте расширение в Конфигураторе и найдите заимствованный макет.
- Сравните его схему с типовой: выгрузите обе схемы в файлы и сравните текст запросов любой программой сравнения.
- Перенесите в свою схему изменения поставщика: новые поля, переименованные регистры, исправленные условия.
- Или наоборот: возьмите свежую типовую схему и заново внесите в неё свои 3–5 правок. Если правок немного, так быстрее.
Чтобы второй путь занимал минуты, ведите список своих изменений: какие поля добавлены, какие ресурсы, какое условное оформление. Список удобно держать прямо в комментарии к объекту расширения.
Чем меньше вы меняете в заимствованной схеме, тем проще обновление. Новые показатели часто выгоднее вынести в отдельный набор данных и связать с основным, чем переписывать типовой запрос.
6. Ошибки при обновлении шаблона и как их устранить
Большинство сбоев после обновления видны сразу при открытии отчёта или при сохранении расширения. Выберите симптом:
Ещё одна частая ситуация — расширение загружено в рабочую базу, но изменений нет. Скорее всего, пользователи не перезапускали сеанс: расширение подключается при входе в программу.
7. Проверка и перенос изменений в рабочую базу
Проверку делайте на копии и на реальных данных, а не на пустом периоде.
Как проверить
- Запустите копию в режиме отладки (
F5в Конфигураторе). - Сформируйте отчёт за период с известными цифрами — например, прошлый закрытый месяц.
- Сверьте итог с независимым источником: оборотно-сальдовой ведомостью или типовым отчётом по тем же данным.
- Проверьте граничные случаи: пустой период, один документ, группировку без данных — особенно для вычисляемых полей с делением.
- Сформируйте отчёт за год и замерьте время. Если оно выросло в разы, ищите в запросе соединение без условий или лишний вложенный запрос.
Как перенести
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации, выделите расширение и сохраните его в файл.cfeчерез меню «Действия». - В рабочей базе перейдите в
Администрирование → Печатные формы, отчеты и обработки → Расширения. - Если расширение уже подключено — выберите его и обновите из файла. Если нет — добавьте из файла.
- Проверьте флаг «Безопасный режим». Для отчёта, который только читает данные, его обычно оставляют включённым.
- Попросите пользователей перезапустить 1С.
Загружайте .cfe в рабочую базу после выхода пользователей или в начале рабочего дня. Работающие сеансы продолжат использовать старую версию до перезапуска, и цифры у разных сотрудников какое-то время будут расходиться.
Храните каждую версию .cfe с датой и номером релиза в имени файла, например стат_2026-10-07_3.0.xxx.cfe. Если новая версия окажется ошибочной, вы вернёте прошлую за минуту.
Частые вопросы
Можно ли обновить шаблон отчёта без Конфигуратора?
Чем расширение лучше внешнего отчёта?
.erf — отдельный файл, его подключают как дополнительный отчёт. Для совсем нового отчёта внешний файл проще, для доработки типового удобнее расширение.