1С 8.3 Открытие сформированного внешнего отчета 1С
Данные > Примеры кода 1С > 1С 8.3 Процедуры и Функции
Перейти в раздел примеры кода 1С 8.3:

Код предназначен для запуска внешнего отчета (или обработки) в 1С с предварительной проверкой его наличия и автоматическим формированием при открытии.
Механизм для динамического подключения и запуска внешних отчетов/обработок в 1С.
- Проверяет, есть ли в базе отчет с именем "Информация по зданиям".
- Если есть — подключает его и открывает в режиме автоматического формирования.
- Если нет — выводит сообщение об ошибке.
Запуск внешнего отчета в сформированном виде в 1С 8.3:
&НаКлиенте
Процедура ИнформацияПоЗданиям(Команда)
ВнешнийОтчетСсылка = ПолучитьСсылкуНаВнешнийОтчетПоИмениНаСервере("Информация по зданиям");
Если Не ЗначениеЗаполнено(ВнешнийОтчетСсылка) Тогда
ПоказатьПредупреждение(, "Отчет ""Информация по зданиям"" не найден!");
Возврат;
КонецЕсли;
Попытка
ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетСсылка);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("КлючВарианта", "Основной");
ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
ОткрытьФорму("ВнешнийОтчет." + ИмяОбработки + ".Форма", ПараметрыФормы, ЭтаФорма);
Исключение
ПоказатьПредупреждение(, "Ошибка при открытии отчета: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаВнешнийОтчетПоИмениНаСервере(ИмяОтчета)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеОтчетыИОбработки.Ссылка
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|ГДЕ
| ДополнительныеОтчетыИОбработки.Наименование = &ИмяОтчета";
Запрос.УстановитьПараметр("ИмяОтчета", ИмяОтчета);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Результат.Выбрать().Ссылка;
КонецФункции
Процедура ИнформацияПоЗданиям(Команда)
ВнешнийОтчетСсылка = ПолучитьСсылкуНаВнешнийОтчетПоИмениНаСервере("Информация по зданиям");
Если Не ЗначениеЗаполнено(ВнешнийОтчетСсылка) Тогда
ПоказатьПредупреждение(, "Отчет ""Информация по зданиям"" не найден!");
Возврат;
КонецЕсли;
Попытка
ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетСсылка);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("КлючВарианта", "Основной");
ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
ОткрытьФорму("ВнешнийОтчет." + ИмяОбработки + ".Форма", ПараметрыФормы, ЭтаФорма);
Исключение
ПоказатьПредупреждение(, "Ошибка при открытии отчета: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаВнешнийОтчетПоИмениНаСервере(ИмяОтчета)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеОтчетыИОбработки.Ссылка
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|ГДЕ
| ДополнительныеОтчетыИОбработки.Наименование = &ИмяОтчета";
Запрос.УстановитьПараметр("ИмяОтчета", ИмяОтчета);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Результат.Выбрать().Ссылка;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник