Имя: Пароль:
1C
1С v8
Открыть внешний отчёт
0 ДенисЧ
 
15.02.19
11:00
Что-то затормозил...

Есть управляемая форма и регистр сведений, в котором лежит бинарник erf
пишу код

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

&НаКлиенте
Процедура ДействиеОткрытьОтчет(Элемент) Экспорт
    имяОбр = ОткрытьОтчетНаСервере();
    Если имяобр = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    фрм = ПолучитьФорму("ВнешнийОтчет." + имяОбр + ".Форма.ФормаОтчета");
    фрм.Открыть();
КонецПроцедуры

Говорит, что не знает такой формы. ФормаОтчета в файле есть, назначена основной формой отчёта.
Что я не так делаю?
1 Ёпрст
 
15.02.19
11:18
А так ?

ОткрытьФорму("ВнешнийОтчет." + имяОбр + ".Форма.ФормаОтчета");
2 ColonelAp4u
 
15.02.19
11:19
ОтчетОб = РеквизитФормыВЗначение("Отчет");
ОтчетОб .ПолучитьФорму();
3 Вафель
 
15.02.19
11:21
форма по умолчанию? тогда просто

ОткрытьФорму("ВнешнийОтчет." + имяОбр + ".Форма");
4 ДенисЧ
 
15.02.19
11:22
(2) Какой реквизвизит формы? Я вообще в другом окне сижу, а отчёт подгружаю из внешнего файла
5 ДенисЧ
 
15.02.19
11:22
(1) (3) Хотел получить форму и донастроить её немного. Сейчас попробую через просто открытие...
6 Вафель
 
15.02.19
11:23
только что делал

    ИмяОбработки = ПодключитьВнешнююОбработкуUnicus();
    Форма = ПолучитьФорму("ВнешнийОтчет." + ИмяОбработки + ".Форма");
    Форма.Открыть();
    
    Форма.ВариантОтчетПосредника = "НомерДокумента";
    Форма.НомерДокумента = ОтборНомерДокумента;
    Форма.Элементы.ГруппаСтраницы.ТекущаяСтраница = Форма.Элементы.ГруппаОтчетПосредника;
    
    Если ЗначениеЗаполнено(ОтборНомерДокумента) Тогда
        Форма.Обновить(Неопределено);
    КонецЕсли;    
7 Ёпрст
 
15.02.19
11:25
Ну или так:
ПолучитьФорму("ВнешнийОтчет." + ИмяОбработки + ".ФормаОтчета"); //вроде как синтаксис

ВнешнийОтчет.<имя отчета>.Форма.<имя формы>;
ВнешнийОтчет.<имя отчета>.<имя стандартной формы>;

тока нигде не указано, что есть <имя стандартной формы>
8 ДенисЧ
 
15.02.19
11:27
Ещё лучше теперь ((

Получение управляемой формы внешней обработки/отчета для обычного режима работы приложения не поддерживается

Написал ОткрытьФорму("ВнешнийОтчет." + имяОбр + ".Форма").
Хотя сам отчёт на обычной форме...

Написал какой-компонент справочник на УФ для УТ10...
9 Вафель
 
15.02.19
11:28
(8) так у тебя оычные формы???
10 Ёпрст
 
15.02.19
11:29
(8) не понял, ты из управляемой формы хочешь открыть обычную ?
11 Вафель
 
15.02.19
11:29
Как я понял уф в тостом клиенте
12 Ёпрст
 
15.02.19
11:29
Так, пора продавать СП
13 Ёпрст
 
15.02.19
11:30
:)
14 Вафель
 
15.02.19
11:30
для тостого клиента все делаем по странике
15 ДенисЧ
 
15.02.19
11:31
(9) (10) да
16 ДенисЧ
 
15.02.19
11:38
Мда. По странике (с) получилось...

Вот какая птичка клюнула того автора, который это справочник (примитивный) на УФ писал...
17 aleks_default
 
15.02.19
13:01
ВнешниеОтчеты.Подключить()

По-моему в типовых сначала делается Создать(), а потом Подключить()