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

Формулы

Добавлено: 09 июл 2016, 17:05
gvad
Добрый день!
Можно к формуле прикрутить логическое поле? Допустим если выбрано "Да" то одна формула, если "Нет" другая формула?
Можно к формуле прикрутить переключатели? то есть если выбран "Статус" - "Оплачено" то считаем формулу, если "Не оплачено" - то 0.
Так же с датами - если дата наступила, то считаем, если нет - 0.

Re: Формулы

Добавлено: 09 июл 2016, 18:51
support
Добрый день

условия в формуле можно использовать
http://rukovoditel.net/forum/ru/viewtop ... 1855#p1737

Правда на данный момент формулы работают только с числовыми полями, но это формальность которая осталась от предыдущих версий и будет доработана в будущем.

на данный момент откройте файл \includes\classes\fieldstypes\fieldtype_formula.php
и уберите следующий код в строке 81

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

and type in ('fieldtype_input_numeric','fieldtype_input_numeric_comments')
и тогда в условиях формулы можно будет использовать любые поля.

Re: Формулы

Добавлено: 09 июл 2016, 22:44
gvad
support писал(а):Добрый день

условия в формуле можно использовать
http://rukovoditel.net/forum/ru/viewtop ... 1855#p1737

Правда на данный момент формулы работают только с числовыми полями, но это формальность которая осталась от предыдущих версий и будет доработана в будущем.

на данный момент откройте файл \includes\classes\fieldstypes\fieldtype_formula.php
и уберите следующий код в строке 81

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

and type in ('fieldtype_input_numeric','fieldtype_input_numeric_comments')
и тогда в условиях формулы можно будет использовать любые поля.
вроде заработало, спасибо. Но не могу с синтаксисом разобраться..

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

if([263]="Безнал",[264]*12/100)
ошибку пишет..

Re: Формулы

Добавлено: 09 июл 2016, 22:46
support

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

IF(expr1,expr2,expr3)
Если expr1 равно значению ИСТИНА (expr1 <> 0 и expr1 <> NULL), то функция IF() возвращает expr2, в противном случае - expr3. В зависимости от контекста функция IF() может возвращать либо числовое, либо строковое значение:

Re: Формулы

Добавлено: 09 июл 2016, 22:56
gvad
support писал(а):

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

IF(expr1,expr2,expr3)
Если expr1 равно значению ИСТИНА (expr1 <> 0 и expr1 <> NULL), то функция IF() возвращает expr2, в противном случае - expr3. В зависимости от контекста функция IF() может возвращать либо числовое, либо строковое значение:
теперь всегда 0 показывает..

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

if([263]="Безнал",[264]*12/100,0)
или я не правильно понял?

Re: Формулы

Добавлено: 10 июл 2016, 07:05
support
поле 263 скорей всего у вас список и нужно использовать не Имя а ID значения списка