Связь расширение-внешний отчет

1. 17 07.04.21 13:59 Сейчас в теме
Здравствуйте! Подскажите пожалуйста,
в конфигурации есть обработка, в ней есть кнопка, по которой идет обращение к отчету (он внутренний, в базе конфигурации) и выводится табличный документ.
Отчет я переделала (грубо - было по всей номенклатуре, стало - по выбранной номенклатуре), подключила его внешним.
теперь надо обработку переделать, и не знаю, как обратиться к внешнему
Я взяла форму в расширение и процедуру по кнопке
&НаКлиенте
Процедура Расш1_ОтчетСведенияОЗадолженностиФормаВместо(Команда)
	ВнешнийОтчетОбработкаДляОткрытияСсылка = ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере ("Сведения о задолженностях, Форма 3");	
	ИмяОбработкиСлужебное = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка);

	ТекущийЛС = Элементы.Должники.ТекущиеДанные.ЛицевойСчет;
	Расш1_ОбновитьСведенияОЗадолженностиФорма3_(ТекущийЛС, ВнешнийОтчетОбработкаДляОткрытияСсылка);
	Элементы.ИсторияРаботы.ТекущаяСтраница = Элементы.СтраницаОтчеты;
	
КонецПроцедуры
&НаСервере
Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки)
    Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
КонецФункции
Показать



потом обращение на сервер
и там, База у нас серверная, значит исполняется
РезультатВыполнения = ТиповыеМетодыСервер.ЗапуститьВыполнениеВФоне(
УникальныйИдентификатор,

"Отчеты.СведенияОЗадолженностяхФорма_.СформироватьОтчет",
ПараметрыОтчета,
ТиповыеМетодыКлиентСервер.ПолучитьНаименованиеЗаданияВыполненияОтчета(ЭтотОбъект));

АдресХранилища = РезультатВыполнения.АдресХранилища;
ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;

Ну т.е. как запустить отчет внешний, зарегистрированный в ДополнительныеОтчетыИОбработки.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Torin 341 07.04.21 14:36 Сейчас в теме
(1)
запустить отчет внешний, зарегистрированный в ДополнительныеОтчетыИОбработки.


&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки)
    Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
КонецФункции
5. XelOla 17 07.04.21 15:07 Сейчас в теме
(2) меня отвлекли
я не дописала, что "Отчеты.СведенияОЗадолженностяхФорма_.СформироватьОтчет" - выполняется экспортная процедура из модуля менеджера.
т е как не только запустиь внешний, но и получить из него результат выполнения?
3. UtSpar 119 07.04.21 14:37 Сейчас в теме
Представление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаДопОтчет,"Наименование");
    ВыполняемаяКоманда = Новый Структура;
    ВыполняемаяКоманда.Вставить("ВариантЗапуска",  ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы"));
    ВыполняемаяКоманда.Вставить("Вид",  ПредопределенноеЗначение("Перечисление.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет"));
    ВыполняемаяКоманда.Вставить("Идентификатор",  "СформироватьОтчет");
    ВыполняемаяКоманда.Вставить("Модификатор",  "");
    ВыполняемаяКоманда.Вставить("ПоказыватьОповещение",  Ложь);
    ВыполняемаяКоманда.Вставить("ОбъектыНазначения",  Неопределено);
    ВыполняемаяКоманда.Вставить("Представление",  Представление);
    ВыполняемаяКоманда.Вставить("Ссылка",  СсылкаНаДопОтчет);
    ВыполняемаяКоманда.Вставить("ЭтоОтчет",  Истина);
    
    ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, ЭтаФорма, Неопределено);
Показать
4. UtSpar 119 07.04.21 14:38 Сейчас в теме
(3)Ссылка на отчет по наименованию
Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
6. XelOla 17 07.04.21 15:26 Сейчас в теме
(3) не просто запустить внешний - а запустить его процедуру, чтобы получить Результат
7. vadim.semyonov.rzn 07.04.21 17:06 Сейчас в теме
(6)
СсылкаНаОбъект = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(<Наименование>);
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
ЗначениеИзОбработки = Обработка.<ВашаЭкспортнаяФункция>(<ПараметрыВызова>);
8. XelOla 17 07.04.21 23:09 Сейчас в теме
(7)насервере или клиенте? завтра пробовать буду
11. vadim.semyonov.rzn 08.04.21 14:34 Сейчас в теме
(8)
насервере или клиенте?
Вот эта строчка:
Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию
ни о чем не говорит? На сервере, естественно.
9. XelOla 17 07.04.21 23:09 Сейчас в теме
(7) экспортная в модуле формы или объекта?
12. vadim.semyonov.rzn 08.04.21 14:35 Сейчас в теме
(9)
экспортная в модуле формы или объекта?
По "ВнешниеОбработки.Создать" создается объект обработки, а не ее форма.
Оставьте свое сообщение
Вопросы с вознаграждением