Простой внешний отчет с макетом без использования СКД
Скачать шаблон внешнего отчета 1с с макетом на управляемых формах
- В конфигураторе 1с создаем новый внешний отчет через пункт меню Файл-Новый-Внешний отчет
- Назначаем отчету имя и переходим к созданию макета. В нижней части формы выбираем Макеты-Добавить-Тип макета-Табличный Документ.
- Исходными данными для тестового отчета будет справочник “Банки”. В макете создаем шапку отчета с названиями колонок (Город, Банк, КорСчет).Заполнение ячеек шапки оставляем по умолчанию Текст. Выделяем строки шапки и назначаем Имя области через меню Таблица-Имена-Назначить имя. В дальнейшем в коде через имя области будем выводить шапку отчета и сами данные.
- Добавляем строки, соответствующие получаемым данным из справочника Банки. Назовем их пГород, пБанк и пКорсчет. Для каждой ячейки Заполнение указываем “Параметр”. Выделяем ячейки параметры и назначаем имя области “Строки”
- Назначаем шрифты, ширину и высоту ячеек, выбираем окантовку ячеек итп. Для форматирования макета отчета служит специальная панель “Форматирование”
- Создаем Форму отчета. В группе формы, напротив Формы отчета нажимаем на значек лупы. При создании формы галку “Использовать систему компоновки данных” не ставим.
- После создания формы отчета добавляем команду формы “Сформировать” (Правый верхний угол вкладка “Команды формы”). Назначаем ей действие на клиенте. Добавляем на форму Кнопку через правую кнопку мыши. Привязываем к кнопке Имя Команды – “Сформировать”, которую только что сделали.
- Пишем обработчик события Команды Сформировать, из которой вызывается функция на сервере для получения данных отчета. Реквизит формы “Отчет” появляется автоматически после создания формы отчета. Отчет создан для примера, поэтому никаких отборов и сортировок в запросе нет и данные выводятся из справочника как есть.
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | &НаСервере Функция СформироватьНаСервере() ТД = Новый ТабличныйДокумент; ОбъектОтчет = РеквизитФормыВЗначение("Отчет"); Макет = ОбъектОтчет.ПолучитьМакет("Макет"); ЗаголовокТД = Макет.ПолучитьОбласть("Шапка"); ТД.Вывести(ЗаголовокТД); // создаем запрос к объекту ИБ Запрос = Новый Запрос ("ВЫБРАТЬ | Банки.Наименование КАК Наименование, | Банки.КоррСчет КАК КоррСчет, | Банки.Город КАК Город |ИЗ | Справочник.Банки КАК Банки"); РезультатЗапроса=Запрос.Выполнить().Выгрузить(); СтрокиТД = Макет.ПолучитьОбласть("Строки"); // обходим результат запроса для каждого СтрокаЗапроса из РезультатЗапроса цикл // оформим поле без корсчета Если ЗначениеЗаполнено(СтрокаЗапроса.КоррСчет) тогда СтрокиТД.Области.Строки.ЦветФона=WebЦвета.Белый; иначе СтрокиТД.Области.Строки.ЦветФона=WebЦвета.СветлоСерый; КонецЕсли; //выводим строки в табличный документ СтрокиТД.Параметры.пГород = СтрокаЗапроса.Город; СтрокиТД.Параметры.пБанк = СтрокаЗапроса.Наименование; СтрокиТД.Параметры.пКорсчет = СтрокаЗапроса.КоррСчет; ТД.Вывести(СтрокиТД); КонецЦикла; Возврат(ТД); КонецФункции &НаКлиенте Процедура Сформировать(Команда) ТабДок=СформироватьНаСервере(); ТабДок.Показать("Имя Отчета"); КонецПроцедуры |
Сохраняем отчет, открываем его в режиме 1с Предприятия 8.3 и нажимаем кнопку “Сформировать”.
Скачать шаблон внешнего отчета 1с с макетом на управляемых формах
Простой внешний отчет со Схемой Компоновки Данных (СКД)
Скачать шаблон внешнего отчета 1c СКД на управляемых формах
- В конфигураторе 1с создаем новый внешний отчет через пункт меню Файл-Новый-Внешний отчет
- Создаем основную схему компоновки данных (СКД). Для этого нажимаем кнопку “Открыть схему компоновки данных”
- Слева добавляем Набор данных -запрос
- Открываем конструктор отчета. Создаем простейший запрос из объекта справочник. Из левой части (база данных) переносим Справочник “Банки” в поле Таблицы. Раскрываем справочник и переносим интересующие данные в правую часть Поля. Сохраняем запрос.
- Переходим на вкладку “Настройки”. Щелкаем правой кнопкой мыши на Отчете и выбираем “Свойства элемента пользовательских настроек”.
- Выбираем элементы которые будут доступны пользователю 1с для настройки параметров отчета(выбираемые поля, отбор, сортировка, условное оформление и группировки).
- Создаем Форму отчета и форму настроек отчета. При создании формы отчета обязательно ставим галку “Использовать систему компоновки данных”.
- Формы созданы, для простого отчета на СКД никакого написания кода не требуется.Сохраняем отчет.
- Открываем внешний отчет на СКД в режиме 1с Предприятия 8.3. Открываем настройки и выбираем нужные поля.
- Добавляем группировку по “Городу”. В настройках отчета переходим во вкладку “Группировка” и добавляем поле “Город”.
- Сохраняем настройки и нажимаем кнопку Сформировать.
Получаем отчет по справочнику на СКД с группировкой в соответствии со сделанными настройками.
Как прикрепить внешний отчет в программу 1с через дополнительные отчеты обработки.
Чтобы использовать полученные внешние отчеты можно открывать их с диска, либо подключить их к программе через дополнительные отчеты и обработки в нужную подсистему.
Форма подключения чаще всего находится в разделе Администрирование-Печатные формы и обработки -Дополнительные отчеты и обработки.
При добавлении отчета без доработок может появится сообщение об ошибке “Невозможно подключить дополнительный отчет из файла. Метод объекта не обнаружен (СведенияОВнешнейОбработке)”.
Чтобы исправить эту ошибку, в модуль Отчета нужно добавить код описывающий данный отчет.
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; // МассивНазначений.Добавить("подсистема.CRMИМАРКЕТИНГ"); //Указываем документ к которому делаем внешнюю печ. форму ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... // ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "ТестовыйОтчет"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим",ИСТИНА); ПараметрыРегистрации.Вставить("Информация", "Тестовый Отчет"); ПараметрыРегистрации.Вставить("Версия", "1.0"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "ТестовыйОтчет", "ТестовыйОтчет", "ОткрытиеФормы"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры |
Теперь отчет можно разместить в определенном разделе и опубликовать.
Скачать шаблон внешнего отчета 1c СКД на управляемых формах