Имя: Пароль:
1C
1С v8
Вывод отчёта...
0 ДенисЧ
 
24.05.12
17:24
выб = ЗАпрос.Выполнить().выбрать();
Пока выб.Следующий() Цикл
 обл = Макет.ПолучитьОбласть("Строка");
 ЗаполнитьЗначенияСвойств(обл, выб);
 табДок.Вывести(обл);
КонецЦикла;


Есть какой-нибудь более быстрый вариант для таких тупых портянок? Эти две строки

 обл = Макет.ПолучитьОбласть("Строка");
 табДок.Вывести(обл);

жрут 70% времени...
1 and2
 
24.05.12
17:29
а накуа ты в цикле строку то получаешь?
мил человек
2 ДенисЧ
 
24.05.12
17:29
(1) В начале моего обучения были какие-то гадости, если я его один раз получал...
А что, не надо? Там лишнего не вылезет?
3 and2
 
24.05.12
17:31
получил 1 раз область(перед циклом), заполняй да выводи сколько раз сможешь
4 shamannk
 
24.05.12
17:31
выб = ЗАпрос.Выполнить().выбрать();
обл = Макет.ПолучитьОбласть("Строка");
Пока выб.Следующий() Цикл
  ЗаполнитьЗначенияСвойств(обл, выб);
 табДок.Вывести(обл);
КонецЦикла;
//Так попробуй
5 Megas
 
24.05.12
17:31
(2) Всё нормально будет.

Выноси обл = Макет.ПолучитьОбласть("Строка");

За цикл.
6 MRAK
 
24.05.12
17:35
а, если перед циклом получать, кажется был косяк, что пустые значения выборки не затирают предыдущие значения области...
Если память не изменяет...
7 ptiz
 
24.05.12
17:40
(0) В запросе сразу получай строковое представление ссылочных данных и всё будет быстро.
Ошибка? Это не ошибка, это системная функция.