Последние сообщения

#1
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от Злоп - Сегодня в 01:18
для увеличения скорости (исключительно на собственном опыте)
- убирать расшифровки
- убирать мелкую нарезку ячеек для точного построения макетов/выравниыаний
- убирать ПрисоединитьСекцию()
#2
7.7 / Re: Все ВошедшиеВзапрос - пояс...
Последний ответ от Злоп - Сегодня в 01:14
Цитата: Харлампий Дымба от 16 ноября 2025, 18:40
Группировка Склад Без групп;
Группировка Номенклатура Без групп;


|Склад     |Товар     |Остаток     
Склад1Товар110
Склад1Товар215
Склад2Товар120

//по каждому складу, добиваем полный список товаров
Код Выделить Развернуть

Группировка Склад Без групп;
Группировка Номенклатура Без групп Все;


|Склад     |Товар     |Остаток     
Склад1Товар110
Склад1Товар215
Склад1Товар30
Склад2Товар120
Склад2Товар20
Склад2Товар30

- откуда здесь взялся Товар3?
#3
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от Харлампий Дымба - Сегодня в 00:27
..А потом добавил расшифровку и скорость практически сравнялась :'(
Ну ладно, в любом случае, есть пища для ума.
#4
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от Харлампий Дымба - Вчера в 23:30
Цитата: ADirks от Вчера в 07:30Вот такой вот есть простенький тест
.ПолучитьСекцию() точно быстрее (раза в 2), но не так феноменально, как казалось с первых запусков.
Тест лукавит по скорости .ПолучитьСекцию(), потому что выводит три раза одну и ту же секцию, в то время как для .ВывестиСекцию() те же три раза выводятся как бы разные секции - ведь их приходится заново заполнять при выводе (пусть и одним и тем же текстом).
Ведь никто не выводит одну и ту же информацию в разных колонках одной строки.
Если непонятно написал, то честный тест для режима  .ПолучитьСекцию() будет, по моему мнению, такой:
секцияТовар1    = Т.ПолучитьСекцию("Строка_3|К1");
облТовар1    = секцияТовар1.Область(1, 1);

секцияТовар2    = Т.ПолучитьСекцию("Строка_3|К1");
облТовар2    = секцияТовар2.Область(1, 1);

секцияТовар3    = Т.ПолучитьСекцию("Строка_3|К1");
облТовар3    = секцияТовар3.Область(1, 1);
    
тзДанные.ВыбратьСтроки();
Пока тзДанные.ПолучитьСтроку() = 1 Цикл
    стрЗначение		= тзДанные.Наименование;
        
    облТовар1.Текст    = стрЗначение;
    Т.ВывестиСекцию(секцияТовар1);
        
    облТовар2.Текст    = стрЗначение;
    Т.ПрисоединитьСекцию(секцияТовар2);

    облТовар3.Текст    = стрЗначение;
    Т.ПрисоединитьСекцию(секцияТовар3);

КонецЦикла;

#5
Дружественные проекты / Re: DialMail новая версия
Последний ответ от mic22 - Вчера в 16:54
Не приходит отправленное письмо, пробую через вашу обработку. Пишет все ОК, до получателя не доходит
Письмо и лог отправил в почту
#6
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от Харлампий Дымба - Вчера в 11:22
Цитата: ADirks от Вчера в 07:30Вот такой вот есть простенький тест
Да, именно это и искал. Спасибо огромное!
Помнил же, что обсуждали когда-то, что через .ПолучитьСекцию() быстрее всего, но не нашёл.
Буду пробовать.

Цитата: trad от Вчера в 09:09Убрать автовысоту строк таблицы, сделать ее фиксированной
Есть такое, в среднем процентов десять прибавки.
Ну и, насколько помню, это ещё и один из рецептов для проблемы "долго сохраняет в Excel".
#7
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от trad - Вчера в 09:09
Убрать автовысоту строк таблицы, сделать ее фиксированной
#8
7.7 / Re: Как ускорить вывод таблицы...
Последний ответ от ADirks - Вчера в 07:30
Вот такой вот есть простенький тест
#9
7.7 / Как ускорить вывод таблицы (mo...
Последний ответ от Харлампий Дымба - 17 ноября 2025, 23:49
Может кто разбирался в теме или ссылкой поделится.
Ну вот любят построить отчет на 10000+ строк и на 20+ колонок, да с расшифровкой.
Понятно, что всё содержимое ячеек я готовлю в модуле, и в макет вывожу уже строковое значение. Но всё равно львиная доля времени формирования отчета тратится именно на вывод макета.
Какой способ вывода в moxel самый быстрый?
#10
7.7 / Re: Все ВошедшиеВзапрос - пояс...
Последний ответ от trad - 16 ноября 2025, 21:00
ВсеВошедшиеВЗапрос применять можно для шахматок