Страница 1 из 2

Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 19 май 2017, 20:35
nikorn
В документации очень хорошо описана работа с формулами и функциями (http://blog.rukovoditel.net/ru/kak-ispo ... i-funkcii/), однако пропущен один важный случай - работа с полями типа Флажки

В поле типа Флажки записываются отмеченные значения через запятую, например: "129,139,12"

Как проверить с помощью формулы, содержит ли данное поле нужное значение?

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 19 май 2017, 21:45
support
Используйте mysql функцию FIND_IN_SET
http://www.w3resource.com/mysql/string- ... nction.php

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 19 май 2017, 23:06
nikorn
Спасибо, не знал про такую функцию!

Приятно также, что работают вложенные операторы IF!

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 14:32
De_mon
Подскажите , как реализовать такую формулу :
if([236]=0,[5]=2,[5]=3)

Где проверяется числовое поле с #236 и если оно равно 0 то значение глобального списка 5 принимает значение #2 , а если нет то #3

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 15:19
support
С помощью формул нельзя менять значения полей.

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 16:51
De_mon
support писал(а):С помощью формул нельзя менять значения полей.
Понято, как же тогда реализовать смену значения полей из глобального списка по условию

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 17:45
nikorn
... как же тогда реализовать смену значения полей...
Не очень понятно, причем в вашем вопросе глобальные списки. Глобальный список используется для интерактивного выбора значения пользователем, а формула - наоборот, для расчета значения без участия пользователя. У глобальных списков и формул разные "области существования"

Если вам нужно заполнять значение поля при помощи формулы в зависимости от значения другого поля, просто подставляйте значения напрямую:

Код: Выделить всё

if([IQ]=0, "Дурак", "Умный")
P.S. В действительности, один важный вопрос тут есть. Первоначально глобальные списки задумывались как хранилище глобальных переменных, которые можно использовать в любом месте приложения. В действительности их возможности оказались значительно более ограниченными - просто хранилище строк для выбора. Глобальные переменные хранить по-прежнему негде

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 19:10
De_mon
Спасибо за уточнение, именно так и думалось, глобальный список - хранилище а не еще один чекбокс.
В глобальных списках есть очень нужная визуальная фича - изменяемый цвет фона . Поэтому до них докапался ) Формула с простым выводом текстового поля первоначально и попала под руку, но с фоном удобнее. Интересно можно ли каким то заковыристым способом составить формулу с использованием стиля css.............

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 15 авг 2017, 19:17
nikorn
В глобальных списках есть очень нужная визуальная фича - изменяемый цвет фона
Эта "фича" есть во всех списках:
screen.png

Re: Как проверить с помощью формулы значение поля с типом Флажки?

Добавлено: 18 авг 2017, 01:52
Евгений
nikorn писал(а):Глобальные переменные хранить по-прежнему негде
Для хранения глобальных переменных можно использовать саму БД, например создать свою пользовательскую табличку.

Гораздо более серьёзное ограничение - это невозможность устанавливать штатными средствами Руководителя значения в полях типа Список, в зависимости от каких-либо условий, либо в зависимости от значений в других полях. Без этой возможности многие алгоритмы реализовать практически нереально.