Имя: Пароль:
1C
1С v8
Возможности СКД с вычисляемыми полями
0 slafor
 
27.03.18
14:32
Есть отчет на СКД, где в вычисляемых полях в графе Выражения стоит огромная строка. Смысл этой строки в том, что она выполняет преобразование секунд в (часы, минуты, секунды), и по ходу вставляет туда "лидирующие нули".

Строка по размеру огромная, почему и возник вопрос. Можно ли как-то иначе это сделать, если не менять конфигурацию (ну, например, можни ли вставить свой общий модуль через расширение конфигурации, релиз 8.3.9.1818)?

Скриншот: https://yadi.sk/i/J73AZhpR3ToYzW

Строка: "" + Строка(Цел(ДлительностьОборот/3600)) + ":" + ВЫБОР КОГДА Строка(Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)) ПОДОБНО "_" ТОГДА "0" + Строка(Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)) ИНАЧЕ Строка(Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)) КОНЕЦ + ":" + ВЫБОР КОГДА Строка(ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600-Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)*60) ПОДОБНО "_" ТОГДА "0" + Строка(ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600-Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)*60) ИНАЧЕ Строка(ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600-Цел((ДлительностьОборот-Цел(ДлительностьОборот/3600)*3600)/60)*60) КОНЕЦ

Вопрос по идее чисто на будущее, т.к проблема уже решена. Кстати, спасибо форуму, не без его участия.
1 slafor
 
27.03.18
14:39
Добавлю:

Что будет быстрее работать - вызов функции из общего модуля или такая длллллллинная строка? Т.е. насколько это скажется на производительности?

В самом запросе писать это я не мог, т.к. в этом случае у пользователя не было бы возможности по своему настраивать отчет.
2 slafor
 
27.03.18
17:38
Как вообще можно измерить производительность на клиент-серверном варианте, если при себе всего лишь один компьютер?
3 slafor
 
28.03.18
09:17
Up
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.