Имя: Пароль:
1C
1С v8
Тормоза с выводом в табличный документ на управляемой форме.
0 Kiks
 
20.04.15
11:09
Платформа 8.3, конфигурация самописная, тонкий клиент.
В форме элемента справочника есть поле табличного документа.
По команде просмотр туда выводится отчет с соответствующими настройками. Ниже приведен код. Когда СформироватьОтчет делаешь процедурой,отчет выводится без проблем, когда функция - как сейчас, сильно тормозит.

&НаКлиенте
Процедура Просмотр(Команда)
    //Вставить содержимое обработчика.
    ОтчетДляПросмотра = СформироватьОтчет();
КонецПроцедуры

&НаСервере
Функция СформироватьОтчет()
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.АвтоМасштаб = Истина;
    Если Объект.Отчет = Объект.Ссылка.Отчет Тогда
        ОтчетОбъект = Отчеты[Объект.Отчет].Создать();
        НастройкиДляКомпоновкиМакета = КомпоновщикНастроекКД.ПолучитьНастройки();
        СКД = ОтчетОбъект.СхемаКомпоновкиДанных;
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        МакетКомпоновки   = КомпоновщикМакета.Выполнить(СКД, НастройкиДляКомпоновкиМакета, , ,);
        ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ТабДок);
        ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    КонецЕсли;
    Возврат ТабДок;
КонецФункции
1 H A D G E H O G s
 
20.04.15
11:14
(0) Все верно. Так и должно быть.
2 H A D G E H O G s
 
20.04.15
11:15
Когда процедурой - ты табдок помещаешь в реквизит на форме, на клиент ползет только видимая часть и подгружается по мере промотки юзером.
Когда функцией - ты шарашишь на клиент весь таб.док, а XDTO сериализация его - занятие очень муторное.
3 Kiks
 
20.04.15
11:20
Понятно. Спасибо.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой