Runa 6.0 - принцип работы с полем УСЛОВИЯ

Александр

Продвинутый
#1
Добрый день. Не могу сообразить сам принцып работы поля УСЛОВИЕ. Справка пока в разработке. Я так понял:
1. Может работать в зависимости от переключателя, комбинации?
2. Может сравнивать значения полей и подставлять результат внутренней формулы ([Объект.поле]*[Объект1.Поле.] и т.д.) или отдельного поля?
3. Какие условия может выполнять - больше (>), меньше (<), равно (=), больше или равно (≥), меньше или равно (≤), какой синтаксис ?
4. Есть ли возможность использовать значение поля для дальнейшего расчета (как числового поля)?
Спасибо.
 

Vladimir

Администратор
Команда форума
#2
Добрый день, Александр.
Да, описание на форуме сделаем чуть позже, а потом добавим и в справку.

1. Условие должно работать со всеми типами полей, содержащими данные (кроме надписи, краски, условия и т.п.).

2. Проверки поля с полем нет. Если в условии требуется применить обработку, построенную на базе двух и более полей - формулу надо вывести в отдельный расчёт (для числовых значений) или составное поле (для строковых данных) и после этого результат сравнивать в условии с константой.
Перечисление условий в поле через запятую обрабатывается по правилу "И". Исключением является обработка только поля комбинации, где перечисленные значения требуют обязательного вхождения в проверяемое значение.
Если требуется проверка по правилу "ИЛИ" - надо создавать несколько полей условия.
Важное замечание: в отличие от поля краски, где они обрабатываются в объекте в установленном порядке и при первом соответствии условию задаётся цвет, а остальные поля уже не обрабатываются, поля условия обрабатываются все до последнего. Поэтому результатом всех условий будет то, которое выполнилось последним.

3. Допустимые условия для операнда:
- числовой: больше (>), меньше (<), равно (=), больше или равно (≥), меньше или равно (≤), не равно (<> или !=);
- строковый: равно (=), не равно (<> или !=).

4. Для дальнейшего применения поле условия использовать нельзя. Результат проверки можно помещать в поле, которое будет обрабатываться в дальнейших расчётах или в других полях условий.
На данный момент в условии реализовано два результата его обработки: присвоение значения другому полю и блокировка сохранения записи. В дальнейшем возможно добавление других действий.
 

Александр

Продвинутый
#3
Спасибо. То есть поле условие по принципу, как поле Составное. Но все упирается в сравнивании условия с константой, а она может меняться. А изменять формулу Условия тоже не фонтан.
 
Последнее редактирование модератором:

Vladimir

Администратор
Команда форума
#4
Да, вариант с проверкой другого поля, которое может иметь разные значения в разных записях, в программе пока не обрабатывается.
Такой вариант использования допустим только для строковых полей, так как числовые поля можно рассчитать и сравнить с константой.
Добавили в список доработок.
 

Александр

Продвинутый
#5
Да, вариант с проверкой другого поля, которое может иметь разные значения в разных записях, в программе пока не обрабатывается.
Такой вариант использования допустим только для строковых полей, так как числовые поля можно рассчитать и сравнить с константой.
Добавили в список доработок.
Эврика, получилось. С помощью полей Условие и Составное
 

Вложения

Vladimir

Администратор
Команда форума
#6
Хорошо бы видеть описание работы. А то открыв проект сразу далеко не понятно, что и как в нём сделано и для чего. o_O
 

Александр

Продвинутый
#7
Да, вариант с проверкой другого поля, которое может иметь разные значения в разных записях, в программе пока не обрабатывается.
Такой вариант использования допустим только для строковых полей, так как числовые поля можно рассчитать и сравнить с константой.
Добавили в список доработок.
Оказалось еще проще лишь с помощью поля составное
 

Вложения

Александр

Продвинутый
#8
Хорошо бы видеть описание работы. А то открыв проект сразу далеко не понятно, что и как в нём сделано и для чего. o_O
там я зашел далеко в дебри в первом случае. Нужен расчет сумы оплаты в зависимости от объема использования - до нормы и равной ей 90 копеек, свыше - 1,68. Раньше я сделал с переключателем, неудобно - нужно визуально сравнивать потребление. А так поля Нормы и тарифов изменяемые в зависимости от установленных поставщиком услуги и от месяца (отопительный сезон или нет). Много жилья переведено на электрическое отопление, поэтому меняются нормы.
 
Последнее редактирование модератором:

Александр

Продвинутый
#9
там я зашел далеко в дебри в первом случае. Нужен расчет сумы оплаты в зависимости от объема использования - до нормы и равной ей 90 копеек, свыше - 1,68. Раньше я сделал с переключателем, неудобно - нужно визуально сравнивать потребление. А так поля Нормы и тарифов изменяемые в зависимости от утсановленных поставщиком услуги и от месяца (отопительный сезон или нет). Много жилья переведено на электрическое отопление, поэтому меняются нормы.
У родителей двухзоный счетчик, но норму в 3000 кВт не дают, у дочери решается вопрос с нормой, но счетчик обычный. Трехзонный не выгодно вообще