Имя: Пароль:
1C
 
Отчет формируется в файловом и не формируется в клиент-серверном
0 Надмозг
 
25.09.17
12:24
УФ 8.3. Вытащил отчет из конфы, запустил как внешний. Формируется в файловом варианте, но не формируется в клиент-серверном. В клиент-серверном запускается в фоне. Формы у отчета нет, если это важно

Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    
    Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
    //дописал две строки ниже
    ИнициализироватьОтчет();
    ЗначениеВДанныеФормы(ЭтотОбъект, Форма.Отчет);
    
КонецПроцедуры


На этом застрял, куда копать дальше?
1 Надмозг
 
25.09.17
12:26
+(0) Забыл написать, к чему код. В файловом тоже не работал, пока не дописал две строки в этой процедуре
2 spiller26
 
25.09.17
12:26
(0) Процедура где выполняется???
&НаКлиенте
&НаСервере
3 Надмозг
 
25.09.17
12:27
(2) это из модуля объекта, формы нет
4 spiller26
 
25.09.17
12:32
(3) типовые используют Общую форму "ФормаОтчета"
5 spiller26
 
25.09.17
12:37
(3) Опять же, хорошо выдернул ты отчет из конфы, но формирование скорее всего происходит в Менеджере объекта, во внешнем отчете или внешней обработки этот модуль отсутствует.
Смотри отладчиком, что происходит.
Если в фоне, то выключи на время выполнение в фоне и посмотри что происходит.
6 spiller26
 
25.09.17
12:41
(0) Что за конфа? Что за отчет?
7 Надмозг
 
25.09.17
12:42
(5) ты имеешь ввиду модуль менеджера?

Там одна процедура

Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
    
    НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
    
    НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "Т2");
    НастройкиВарианта.Описание =
        НСтр("ru = 'Унифицированная форма Т-2'");
    
КонецПроцедуры


А где выключить выполнение в фоне?
8 Надмозг
 
25.09.17
12:42
(6) ЗУП 3.1 отчет Унифицированная форма Т-2
9 Надмозг
 
25.09.17
12:43
+(8) она же Личная карточка Т-2
10 Надмозг
 
25.09.17
13:03
В общем, в фоне не хочет звполняться, не в фоне - все ок. Правда, запускает не в фоне только в файловом варианте. Я так понял, его типовой код запускает в фоне. Пока не пойму, как обойти
11 spiller26
 
25.09.17
13:05
(10) вот вызов этого отчета.

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_Т2") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
                        КоллекцияПечатныхФорм,
                        "ПФ_MXL_Т2", НСтр("ru='Личная карточка (Т-2)'"),
                        ПечатьТ2(МассивОбъектов, ОбъектыПечати), ,);
    КонецЕсли;

КонецПроцедуры

Функция ПечатьТ2(МассивОбъектов, ОбъектыПечати)
    
    ДокументРезультат = Новый ТабличныйДокумент;
    ДокументРезультат.АвтоМасштаб = Истина;
    НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
    
    ОтчетТ2 = Отчеты.УнифицированнаяФормаТ2.Создать();
    ОтчетТ2.ИнициализироватьОтчет();
    ОтчетТ2.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетТ2.СхемаКомпоновкиДанных.ВариантыНастроек.Т2.Настройки);
    
    Отбор = ОтчетТ2.КомпоновщикНастроек.Настройки.Отбор;
    
    Отбор.Элементы.Очистить();
    ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "РабочееМесто.Сотрудник", ВидСравненияКомпоновкиДанных.ВСписке, МассивОбъектов);
    
    ОтчетТ2.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ОбъектыПечати", ОбъектыПечати);
    
    ОтчетТ2.СкомпоноватьРезультат(ДокументРезультат);
    
    Возврат ДокументРезультат;
    
КонецФункции
12 spiller26
 
25.09.17
13:15
(10) Вот пример вызова в фоне

    Результат = ЗапуститьВыполнениеВФоне(
        УникальныйИдентификатор,
        "Обработки.КлиентБанк.ФоноваяРаспознатьДанныеИзБанка",
        СтруктураПараметров,
        НСтр("ru = 'Чтение данных из банка'"));
    
    Возврат Результат;
13 Надмозг
 
25.09.17
13:29
(11) Вроде заработало, но есть нюансы.

Будто работает не с первого раза или не всегда)) Сначала запускал, ничего не было, сейчас запускаю все ок
14 Надмозг
 
25.09.17
13:29
Спасибо за помощь! Я думаю, дальше разберусь
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.