Имя: Пароль:
1C
1С v8
СКД программный вывод
,
0 Iris-ocean
 
11.11.11
13:43
А правда что программный вывод отчета на СКД работет медленнее, чем обычный?
1 PR
 
11.11.11
13:43
Да
2 Iris-ocean
 
11.11.11
13:47
мне тут для фиксации шапки пришлось прибегнуть к программному выводу и капец тормозить стало
3 Maxus43
 
11.11.11
13:49
в СКД зафиксировать нельзя чтоли?
4 PR
 
11.11.11
13:50
(2) Ты где-то накосячила.
5 Лефмихалыч
 
11.11.11
13:51
(3) при помощи только настроек - нет
6 Axel2009
 
11.11.11
14:06
(2) вывод - выводу рознь
7 Iris-ocean
 
11.11.11
14:11
(3) нельзя
8 Guk
 
11.11.11
14:13
(4) не обязательно. делаешь обычный программный вывод по хрусталевой и сразу тормоза...
9 Guk
 
11.11.11
14:13
хотя, может Хрусталева накосячила... не знаю...
10 PR
 
11.11.11
14:14
(8) Не знаю, не замечал такого
11 Guk
 
11.11.11
14:14
(10) на маленьких объемах данных не заметно. на больших заметно...
12 Iris-ocean
 
11.11.11
14:16
блин а шапку никак не зафиксировать без программного ввода?
Процедура ОбработкаОжидания()
ЭлементыФормы.Результат.ФиксацияСверху=5;
КонецПроцедуры
не работает
13 PR
 
11.11.11
14:17
(11) Выводишь так?
http://1cskd.ru/2011/08/programmnyj-vyvod-skd-s-sobstvennym-maketom-pustye-stroki/
Автор, кстати, про то, что вообще сразу писец как медленно.
14 Maxus43
 
11.11.11
14:17
(12) какая обработка ожидания ещё? покажи код весь как выводиш
15 PR
 
11.11.11
14:18
(12) LOL
16 Guk
 
11.11.11
14:18
(13) ага, что-то типа...
17 Iris-ocean
 
11.11.11
14:26
вот такая процедура в модуле
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   
   МассивЗаголовковРесурсов = Новый Массив;
   НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);

   //Создадим и инициализируем процессор компоновки, предварительно проверим параметры
   Если НЕ МакетКомпоновки.ЗначенияПараметров.Найти("НачалоПериода") = Неопределено
       И НЕ МакетКомпоновки.ЗначенияПараметров.Найти("КонецПериода") = Неопределено
       И НЕ МакетКомпоновки.ЗначенияПараметров["НачалоПериода"].Значение = Дата(1,1,1)
       И НЕ МакетКомпоновки.ЗначенияПараметров["КонецПериода"].Значение = Дата(1,1,1)
       И МакетКомпоновки.ЗначенияПараметров["НачалоПериода"].Значение > МакетКомпоновки.ЗначенияПараметров["КонецПериода"].Значение Тогда
       
       Сообщение            = Новый СообщениеПользователю;
       Сообщение.Текст        = "Дата начала периода не должна превышать дату окончания";
       Сообщение.Сообщить();
       
       Возврат;
       
   КонецЕсли;

   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

   //Создадим и инициализируем процессор вывода результата
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

   //Обозначим начало вывода
   ПроцессорВывода.НачатьВывод();
   ТаблицаЗафиксирована = Ложь;

   ДокументРезультат.ФиксацияСверху = 0;
   //Основной цикл вывода отчета
   Пока Истина Цикл
       //Получим следующий элемент результата компоновки
       ЭлементРезультата = ПроцессорКомпоновки.Следующий();

       Если ЭлементРезультата = Неопределено Тогда
           //Следующий элемент не получен - заканчиваем цикл вывода
           Прервать;
       Иначе
           // Зафиксируем шапку
           //Если  Не ТаблицаЗафиксирована
           //      И ЭлементРезультата.ЗначенияПараметров.Количество() > 0
           //      И ТипЗнч(КомпоновщикНастроек.Настройки.Структура[0]) <> Тип("ДиаграммаКомпоновкиДанных") Тогда

               ТаблицаЗафиксирована = Истина;
               ДокументРезультат.ФиксацияСверху = 5;//ДокументРезультат.ВысотаТаблицы;

           //КонецЕсли;
           //Элемент получен - выведем его при помощи процессора вывода
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
       КонецЕсли;
   КонецЦикла;

   ПроцессорВывода.ЗакончитьВывод();

КонецПроцедуры
18 Iris-ocean
 
11.11.11
14:26
(17) с УНФ слизала
19 Maxus43
 
11.11.11
14:27
ПроцессорВывода.ЗакончитьВывод();
ЭлементыФормы.Результат.ФиксацияСверху=5;
КонецПроцедуры
20 Axel2009
 
11.11.11
14:27
вот все что после ПроцессорВывода.НачатьВывод(); удалить и
ПроцессорВывода.Вывести();
ДокументРезультат.ФиксацияСверху = 5;//ДокументРезультат.ВысотаТаблицы;
21 Iris-ocean
 
11.11.11
14:28
(12) блин не то написала: вот это
Процедура ОбновлениеОтображения()
ЭлементыФормы.Результат.ФиксацияСверху=1;
КонецПроцедуры
22 Maxus43
 
11.11.11
14:28
(21) это тем более удалить
23 also
 
11.11.11
14:31
Кстати, можно добавить еще одну таблицу в настройки, тогда автофиксации не будет
24 Iris-ocean
 
11.11.11
14:33
(19)  и че - скорость та же
25 Iris-ocean
 
11.11.11
14:33
(23) там никто кроме меня лазить не будет
26 Axel2009
 
11.11.11
14:34
ошибся
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ДокументРезультат.ФиксацияСверху = 1;
27 Iris-ocean
 
11.11.11
14:36
(24) хотя вроде побыстрее чуточку
28 Axel2009
 
11.11.11
14:38
(27) через строку всегда смотрим?
29 Iris-ocean
 
11.11.11
14:39
(28) так тоже быстрее.
Только в чём разница? там цикл по элементам, а тут сразу всё скопом выводится?
30 Axel2009
 
11.11.11
14:42
(29) скопом вшитыми средствами 1с выводится, либо накодил
31 milan
 
11.11.11
14:46
8.2.14 само фиксирует шапку по вертикали и по горизонтали.
32 Iris-ocean
 
11.11.11
14:47
(31) где? когда?
33 milan
 
11.11.11
14:51
(32) в СКД, всегда.
Я программно не вывожу, жду когда СКД допилят и все можно будет мышом делать, щас 8.2.14.537, предыдущая 8.2.14.532 тоже уэже фиксировала сама.
34 Iris-ocean
 
11.11.11
14:54
щас 8.2.14.540
где это настроить в СКД?
35 milan
 
11.11.11
15:11
(34) я ничего не настраивал, все отчеты писались еще для 11 релиза, в 14-м шапка зафиксировалась.
36 Iris-ocean
 
11.11.11
15:19
(35) у меня ничего не фикстируется
37 milan
 
11.11.11
15:31
Только что проверил.
Платформа 1С:Предприятие 8.2 (8.2.14.537)
Тонкий клиент, создал новый отчет, СКД, без формы, сформировал - шапка зафиксировалась.
38 Iris-ocean
 
14.11.11
12:11
(37) ну ясно - тонкий клиент без формы
Независимо от того, куда вы едете — это в гору и против ветра!