0
slafor
27.03.18
✎
14:32
|
Есть отчет на СКД, где в вычисляемых полях в графе Выражения стоит огромная строка. Смысл этой строки в том, что она выполняет преобразование секунд в (часы, минуты, секунды), и по ходу вставляет туда "лидирующие нули".
Строка по размеру огромная, почему и возник вопрос. Можно ли как-то иначе это сделать, если не менять конфигурацию (ну, например, можни ли вставить свой общий модуль через расширение конфигурации, релиз 8.3.9.1818)?
Скриншот:
Строка: "" + Строка(Цел(ДлительностьОборот/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
|
Добавлю:
Что будет быстрее работать - вызов функции из общего модуля или такая длллллллинная строка? Т.е. насколько это скажется на производительности?
В самом запросе писать это я не мог, т.к. в этом случае у пользователя не было бы возможности по своему настраивать отчет.
|
|