Внешний отчет в разделах 1С: регистрация, размещение и права
Содержание
Чтобы внешний отчет
появился в интерфейсе 1С, его регистрируют как дополнительный: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки → Добавить из файла, затем в карточке указывают разделы для размещения и включают публикацию. Разово посмотреть отчет проще: Главное меню → Файл → Открыть, выбрать файл .erf — но в разделах он после этого не появится.
Путь выше одинаков для конфигураций на Библиотеке стандартных подсистем: 1С:Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11, Комплексная автоматизация 2. Различаются только названия разделов, в которых отчет разместят.
Какой способ подключения выбрать
Внешний отчет можно запустить тремя способами. Они решают разные задачи, и путать их не стоит.
| Способ | Когда подходит | Ограничения |
|---|---|---|
Файл → Открыть | Разово посмотреть отчет, проверить доработку | Файл нужен на каждом компьютере, нет кнопки в разделе, нужна роль на интерактивное открытие |
| Дополнительный отчет (регистрация в базе) | Отчетом пользуются регулярно несколько человек | Отчет должен поддерживать регистрацию (см. ниже) |
| Встроить в конфигурацию или расширение | Отчет стал частью учета, нужен доступ по правам как у типовых | Нужен разработчик, расширение придется сопровождать при обновлениях |
Для рабочего отчета, которым пользуется бухгалтерия, почти всегда выбирают второй вариант. Файл хранится прямо в базе, его не нужно копировать по компьютерам, а кнопка появляется в нужном разделе.
Разовый запуск без регистрации
Если отчет нужен один раз, регистрировать его не обязательно:
- Откройте
Главное меню → Файл → Открыть. - Выберите файл
.erfи нажмите Открыть. - В окне предупреждения безопасности нажмите Да, если доверяете источнику файла.
Отчет откроется в отдельной вкладке. Настройки, которые вы в нем поменяли, при следующем открытии файла могут не сохраниться, а у других пользователей отчета не будет вовсе. Для постоянной работы переходите к регистрации.
Подготовка файла: формат и совместимость
Перед загрузкой проверьте три вещи.
📄 Расширение файла. Внешний отчет — это .erf, внешняя обработка — .epf. Механизм загрузки один, но вид объекта задается внутри файла, а не расширением.
🧩 Поддержка регистрации. Чтобы отчет можно было добавить в справочник дополнительных отчетов, в его модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Она сообщает программе вид объекта, версию, режим работы и список команд. Без нее отчет откроется через Файл → Открыть, но зарегистрировать его не получится — программа сообщит, что файл не подходит для подключения.
⚙️ Версия платформы. Файл, сохраненный в конфигураторе более новой платформы, может не открыться на старой. Номер платформы на компьютерах пользователей должен быть не ниже того, в котором отчет сохраняли. Номер своей платформы смотрите в Главное меню → Справка → О программе.
🔗 Ссылки на объекты конфигурации. Отчет, написанный под Бухгалтерию, обращается к ее справочникам и регистрам. В УТ или ЗУП таких объектов может не оказаться, и при формировании появится ошибка вида Тип не определен. Отчет под одну конфигурацию в другой работает только если разработчик это предусмотрел.
Если вы разработчик и дорабатываете отчет сами, вот минимальный пример функции регистрации для отчета на БСП:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.1.73");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Истина;
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Анализ продаж по менеджерам";
Команда.Идентификатор = "АнализПродаж";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации;
КонецФункции
Строка в параметре СведенияОВнешнейОбработке("2.3.1.73") — версия БСП, под которую написан отчет. Представление команды — это текст, который пользователь увидит в списке дополнительных отчетов. БезопасныйРежим = Истина означает, что отчет не будет работать с файлами, COM-объектами и внешними ресурсами. Для обычного отчета на системе компоновки данных этого достаточно.
Отчет, который только собирает данные запросом и выводит их через СКД, почти никогда не требует отключения безопасного режима. Если разработчик просит включить небезопасный режим, уточните зачем.
Добавление внешнего отчета в базу: пошагово
Регистрирует отчет пользователь с правами администратора или с правом добавлять дополнительные отчеты.
Шаг 1. Включите функциональность
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Установите флажок Дополнительные отчеты и обработки.
- Под флажком станет активна ссылка с тем же названием — перейдите по ней.
Если флажок уже стоит, сразу открывайте ссылку. В УТ 11 и КА 2 раздел называется так же: НСИ и администрирование → Администрирование → Печатные формы, отчеты и обработки.
Шаг 2. Загрузите файл
- В списке дополнительных отчетов и обработок нажмите Добавить из файла.
- Подтвердите предупреждение безопасности: программа напомнит, что файл из непроверенного источника может навредить базе. Загружайте только отчеты от известного разработчика.
- Выберите файл
.erfна диске.
Откроется карточка дополнительного отчета. Наименование, версия и вид уже заполнены из функции регистрации — менять их не нужно.
Шаг 3. Настройте публикацию
Поле Публикация в карточке принимает три значения:
| Значение | Что происходит |
|---|---|
| Используется | Отчет доступен всем, у кого есть права |
| Режим отладки | Отчет виден только администраторам — удобно для проверки |
| Отключена | Отчет хранится в базе, но не показывается никому |
Для первой проверки поставьте Режим отладки. Когда убедитесь, что отчет формируется без ошибок, переключите на Используется.
Шаг 4. Сохраните карточку
Нажмите Записать и закрыть. Отчет хранится в базе, файл на диске больше не нужен. Но чтобы пользователи нашли отчет быстро, его нужно разместить в разделах.
Как вывести отчет в разделы интерфейса «Такси»
Без размещения отчет есть в базе, но пользователь его не увидит в нужном месте. Размещение настраивается в той же карточке.
- Откройте карточку дополнительного отчета.
- Найдите строку Размещение — по ссылке рядом с ней откроется выбор разделов.
- Отметьте флажками разделы, где отчет нужен: например, «Продажи» и «Руководителю».
- Нажмите ОК, затем Записать и закрыть.
После этого в выбранном разделе, в группе команд с отчетами, появится пункт Дополнительные отчеты. Он открывает список всех дополнительных отчетов, размещенных в этом разделе. Пользователь выбирает нужный и нажимает Выполнить.
Быстрый доступ для конкретных людей
На вкладке с командами в карточке есть колонка быстрого доступа. Через нее можно указать пользователей, у которых отчет будет показан сразу при открытии списка дополнительных отчетов, без поиска.
Это удобно, когда в разделе десяток дополнительных отчетов, а конкретному сотруднику нужен один.
Если кнопки не видно после размещения
- 🔄 Интерфейс перечитывает команды при входе. Попросите пользователя закрыть программу и зайти снова.
- 🧭 Панель раздела могла быть настроена вручную. Откройте раздел, вызовите настройку навигации через шестеренку в правом верхнем углу и проверьте, не скрыта ли команда «Дополнительные отчеты».
- 🔐 У пользователя нет прав на использование дополнительных отчетов — об этом следующий раздел.
Права доступа к дополнительным отчетам
Права разделяются на два уровня: кто может загружать отчеты и кто может их запускать.
| Действие | Что нужно |
|---|---|
| Загружать и изменять дополнительные отчеты | Роль «Добавление и изменение дополнительных отчетов и обработок» (входит в профиль «Администратор») |
| Запускать зарегистрированный отчет | Доступ к разделу, в котором он размещен, и к данным, которые отчет читает |
Открывать любой файл через Файл → Открыть | Роль «Интерактивное открытие внешних отчетов и обработок» |
Права выдают через группы доступа: Администрирование → Настройки пользователей и прав → Группы доступа. Профиль группы определяет набор ролей. Если готового профиля с нужной ролью нет, скопируйте подходящий типовой профиль и добавьте роль в копию — типовые профили лучше не менять, их перезаписывает обновление.
Не выдавайте рядовым пользователям роль на интерактивное открытие внешних файлов. С ней можно запустить любую обработку, в том числе ту, что массово изменит или удалит данные. Регистрация в базе — безопасная альтернатива: администратор сам решает, какие отчеты допустить.
Защита от опасных действий
С платформы 8.3.9 при открытии внешнего файла появляется окно предупреждения безопасности. Оно включено у пользователя флажком «Защита от опасных действий» в его свойствах в конфигураторе (Администрирование → Пользователи).
Для зарегистрированных дополнительных отчетов это окно появляется один раз — при загрузке администратором. Пользователи, которые запускают отчет из раздела, его не видят. Еще один довод в пользу регистрации.
Отключить защиту для конкретных баз на компьютере можно параметром в файле conf.cfg платформы:
DisableUnsafeActionProtection=.*МояБаза.*
Значение — регулярное выражение по строке соединения с базой. Пользуйтесь этим только для тестовых баз.
Отладка внешнего отчета и типовые ошибки
Отчет загрузился, но формируется с ошибкой или пустой. Разберите по симптому.
Пошаговая отладка в конфигураторе
Разработчику удобно ставить точки останова прямо в коде зарегистрированного отчета:
- Переведите отчет в публикацию Режим отладки.
- В карточке выгрузите отчет в файл через меню Еще → Выгрузить в файл и откройте этот файл в конфигураторе.
- Запустите 1С:Предприятие с отладкой из конфигуратора и поставьте точку останова в модуле отчета.
- Внесите правку, сохраните файл и загрузите его обратно в карточку.
Для отладки в клиент-серверной базе на сервере должна быть включена отладка, а в конфигураторе — подключение к отладчику по протоколу HTTP. Без этого точки останова в серверном коде не сработают.
Обновление и сопровождение внешних отчетов
Внешний отчет живет отдельно от конфигурации, поэтому за ним нужно следить.
Как заменить отчет новой версией
- Откройте карточку дополнительного отчета.
- В меню Еще выберите Загрузить из файла и укажите новый
.erf. - Проверьте, что поле версии изменилось, и запишите карточку.
Размещение по разделам, быстрый доступ и сохраненные пользователями варианты настроек при этом остаются. Не удаляйте старую карточку и не добавляйте отчет заново — пропадут настройки, а у пользователей в списке появится дубль.
После обновления конфигурации
Типовые обновления меняют структуру справочников и регистров. Отчет, который вчера работал, после обновления может выдать Поле объекта не обнаружено или Тип не определен.
- 🗓️ Проверяйте ключевые дополнительные отчеты сразу после каждого обновления релиза.
- 🧪 Удобный порядок: обновить копию базы, проверить на ней отчеты, затем обновлять рабочую.
- 📝 Ведите короткий реестр: какой отчет, кто разработчик, под какую конфигурацию, где лежит исходник.
Когда отчет пора встроить в конфигурацию
Если отчетом пользуются ежедневно, он сложный и его постоянно дорабатывают, имеет смысл перенести его в расширение конфигурации. Расширения появились в платформе 8.3.6. Отчет в расширении получает собственные права, место в разделе как у типового и проверяется при обновлении вместе с остальными доработками.
Частые вопросы
Где хранится зарегистрированный отчет — в базе или в файле?
.dt.