Имя: Пароль:
1C
 
Оптимизация сбора строки
,
0 ИС-2
 
naïve
31.07.23
08:34
По замеру производительности уходит 13% времени на обработку такой строки для заполнения ПредставлениеТовара  в таб части
                
НовСтрТовары.ПредставлениеТовара = "" + НовСтрТовары.Номенклатура + ?(ЗначениеЗаполнено(ТекстМест)," ","") + ТекстМест + ЦветПредставление;

Есть ли статьи как правильно делать сборную строку ? Как можно оптимизировать ?
1 Волшебник
 
31.07.23
08:44
Оптимизировать надо то, на что уходит 80-90% времени.
2 ads55
 
31.07.23
08:44
СтрШаблон проверял?
3 Галахад
 
гуру
31.07.23
08:45
4 H A D G E H O G s
 
31.07.23
11:18
НовСтрТовары.Номенклатура
Замннить на
НовСтрТовары.НоменклатураПредставление
5 boozin
 
31.07.23
11:34
У тебя в: "НовСтрТовары.Номенклатура" неявный запрос. Согласен с (4). Используй наименование, например.
6 Грю
 
31.07.23
18:37
(0) Строка слишком короткая, чтобы влиял способ ее сбора. Проблема в другом.
7 DJ Anthon
 
31.07.23
19:08
так к серверу обращается. возможно, ещё представление нестандартное получает.
8 PR
 
31.07.23
19:18
(0) ОбщегоНазначения.ЗначениеРеквизитаОбъекта
9 JanK
 
31.07.23
19:24
(8) Получение представление ссылки (а тут оно вроде) не грузит весь объект целиком. Т.е. ЗначениеРеквизитаОбъекта ничего (хорошего) не даст.

Но по сути (судя по  в таб части) это всё равно запрос в цикле - и нужно от него избавляться.
Как написали в (4) и (5) .
10 SleepyHead
 
гуру
01.08.23
05:13
(0) Выбери наименования номенклатуры одним запросом и потом собирай представления в табличной части.
11 cuberboy
 
01.08.23
07:03
?(ЗначениеЗаполнено(ТекстМест)," ","") + ТекстМест + ЦветПредставление; - это константа, которую передаешь в запрос и там всё заполняешь, далее выгружаешь в тч
12 cuberboy
 
01.08.23
07:04
(8) ОбщегоНазначения.ЗначениеРеквизитаОбъекта - это топчик среди трешевых функций.