База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать отчет в 1С в виде расширения? › Ответ в теме: Как создать отчет в 1С в виде расширения?
Чтобы создать отчет как расширение в 1С (например, для УТ 11.5 или другой конфигурации на платформе 8.3), сделайте так:
1. Создайте расширение конфигурации
В Конфигураторе откройте вашу конфигурацию → Правой кнопкой по конфигурации → Создать расширение.
2. Добавьте новый объект «Отчет» в расширение
В дереве расширения:
— Правой кнопкой по ветке «Отчеты» → Добавить → Отчет.
— Задайте имя отчета (например, «ОтчетПоПродажамПоПриходу»).
3. Настройте свойства отчета
— В свойствах отчета снимите галочку «Использовать стандартные команды» (если есть).
— Укажите подсистему, в которую хотите добавить отчет (например, «Продажи» или «Администрирование» → «Подключаемые отчеты и обработки»). Если подсистемы нет, создайте ее в расширении.
4. Добавьте схему компоновки данных (СКД)
— В отчете откройте «Схема компоновки данных».
— Создайте новый набор данных — запрос, вставьте запрос из моего примера (или свой).
— Настройте макет (табличный или иной).
5. Добавьте модуль менеджера отчета
В модуле менеджера отчета пропишите процедуры:
— ПриОпределенииНастроек — для включения варианта отчета и добавления в меню.
— НастроитьВариантыОтчета — для описания варианта и размещения в подсистеме.
Пример кода модуля менеджера отчета (упрощенный):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#Если Сервер Тогда Процедура ПриОпределенииНастроек(Настройки) Экспорт Настройки.НастроитьВариантыОтчета = Истина; Настройки.ДобавитьКомандыОтчетов = Истина; КонецПроцедуры Функция ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт Команда = КомандыОтчетов.Добавить(); Команда.Менеджер = Метаданные.Отчеты.ОтчетПоПродажамПоПриходу.ПолноеИмя(); Команда.Представление = "Отчет по продажам по приходу"; Команда.КлючВарианта = "Основной"; Команда.Важность = "Важное"; Возврат Команда; КонецФункции Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "Основной"); НастройкиВарианта.Описание = "Отчет по продажам по приходу"; Подсистема = Метаданные.НайтиПоПолномуИмени("Подсистема.Продажи.Подсистема.ОптовыеПродажи"); Если Подсистема <> Неопределено Тогда НастройкиВарианта.Размещение.Вставить(Подсистема, "Важный"); КонецЕсли; НастройкиВарианта.ВидимостьПоУмолчанию = Истина; КонецПроцедуры #КонецЕсли |
6. Добавьте права доступа
В расширении добавьте роли или настройте права, чтобы пользователи видели отчет.
7. Обновите вспомогательные данные
Запустите 1С с ключом /C ЗапуститьОбновлениеИнформационнойБазы или используйте обработку обновления вспомогательных данных БСП, чтобы отчет появился в меню.
—
### Кратко:
— Создаете расширение → добавляете отчет → создаете СКД → пишете модуль менеджера → настраиваете подсистему и права → обновляете вспомогательные данные → отчет появляется в меню.
—
Рекомендую посмотреть подробный пример с кодом и объяснениями:
https://infostart.ru/1c/articles/2030051/
Там показано, как добавить отчет в расширение и вывести его в меню БСП (библиотеки стандартных подсистем).