• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Программное имя столбца вида и формула

  • Автор темы Akupaka
  • Дата начала
A

Akupaka

Всем привет!
Обнаружил такую функциональность только что, которая абсолютно не отвечала моим ожиданиям.

Есть вид, который отображает числовую инфу.
Один из столбцов использует формулу вида: @If(@IsAvailable($Conflict); 0; v), где v - поле, содержит действительное число. Столбец подсчитывает итоговою сумму.
Такая формула была использована, чтобы конфликты отображались, но не влияли на итоговую сумму. Т.к. конфликт, к тому же еще и дочерний док, то значение поля v из конфликта в столбце вовсе не отображается.
Но внимательные пользователи подметили, что итоговая сумма не соотв ожидаемому значению.
После тщательного просмотра было подтверждено, что значение из конфликтного дока влияет на итоговую сумму.
После некоторого исследования выяснилось, что, если назначить программное имя столбцу равное значению поля, то формула столбца не действует! Т.е. если у этого столбца будет имя v, то в столбце будет просто значение поля, а не результат вычисления формулы. Т.о. имя столбца получает больший приоритет значения в виде.

Это фича или бага? Я ранее особо и не пользовался программными именами, не знал такой фичи.
 
H

hosm

багофича
кстати, если программное имя у колонок в одной вьюхе совпадает, то формула считается только 1 раз (для первой из колонок).
пару дней назад столкнулась...
 
O

Omh

айбиэмофича :)

Я, если хочу всё-таки использовать красивые программные имена для колонок ставлю впереди "$".

Кстати, я в своей базе через программные имена колонок передаю параметры для InViewEdit процедуры :)
Такой вот извращенец :)
 
H

hosm

Akupaka айбиэмофича как-то коряво...
не обидишься, если влезу с вопросом? :)
а как-то можно программно изменить программное имя?
Оно рид-онли (по крайней мере, на той версии клиента, которой пользуюсь сейчас).
 
A

Akupaka

Я, если хочу всё-таки использовать красивые программные имена для колонок ставлю впереди "$".
Тоже мне красивость, такая красивость потом не работает в формулах столбцов. Хотя, наверное, это только для циферьных имен справедливо. В любом случае, $ системный символ, лучше его использовать только "на чтение".

я в своей базе через программные имена колонок передаю параметры для InViewEdit
Ну, справедливо :)

не обидишься, если влезу с вопросом?
Ну, если не будешь обзываться, то не обидюсь :)

А я больше чем хелп и не знаю )) DXL? :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!