Логические поля в формулах

Все вопросы/проблемы по установке и использовании.
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Логические поля в формулах

Сообщение nikorn »

Почему-то в формулах можно использовать только числовые поля, хотя условный оператор IF работает исправно.

Нет никакой возможности задействовать в формулах также логические поля?

Например, сейчас можно написать IF([12]>34,[56],[78]), где [12], [56] и [78] - числовые поля
Но нельзя IF([12]=true,[56],[78]) или вообще IF([12],[56],[78]), где [12] - логическое поле, а [56] и [78] - числовые поля...
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Re: Логические поля в формулах

Сообщение nikorn »

Между прочим, есть замечательная недокументированная возможность использования формул. 8-)

В формулах можно использовать только числовые поля, но не обязательно писать в них числа. Если в числовое поле занести, например, значение "Да", то в формуле можно использовать логическое условие типа IF([12]='Да',[34],[56])
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логические поля в формулах

Сообщение support »

Доработаю в 1.8
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Re: Логические поля в формулах

Сообщение nikorn »

Можно было бы расширить список используемых в формулах типов полей также за счет поля типа "дата", которое по сути тоже является числом. Тогда функции определения минимального и максимального значений приобрели бы новые возможности (например, поиск последней по времени записи во вложенной сущности) :)
tax
Сообщения: 255
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: --

Re: Логические поля в формулах

Сообщение tax »

Я таки не понял, недокументированная возможность
формуле можно использовать логическое условие типа IF([12]='Да',[34],[56])
работает в версии 1.7.2 ?
Попробовал сделать... Поле формула

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

IF([452]=0,[310],[310])
Поле 452 логическое со значениями 1 и 0
Поле 310 - числовое
в результате ошибка
Ошибка рассчета формулы: IF([452]="1",[310],[310])
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Re: Логические поля в формулах

Сообщение nikorn »

Насколько я понимаю, пока поле [452] может быть только числовым. По крайней мере в версии 1.7.2

У меня используется (работает) формула if([344]>'',[321],0), где [344] и [321] - числовые поля. Формула выбирает из предложений поставщиков актуальное (любая непустая строка в числовом поле [344]). Это своего рода замена логическому полю. :-)
tax
Сообщения: 255
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: --

Re: Логические поля в формулах

Сообщение tax »

Таки да, оно работает )
Задача была рассчитывать стоимость заказа, с НДС или без НДС с учётом количества заказа и курса валют, если начальная цена в другой валюте.
Моё решение.
Поля:
- Количество [313] (Числовое поле)
- Цена предварительная [310] (Числовое поле)
- Курс валют [312] (Числовое поле)
- Налог [454] (Переключатели)
* с НДС [58]
* без НДС [59]
- К оплате [311] (Формула)

К оплате [311] (Формула) IF([454]=58,((IF([313]="",1,[313]))*[310]*[312])+(((IF([313]="",1,[313]))*[310])*[312])/100*20,((IF([313]="",1,[313]))*[310])*[312] )

В формуле добавлена проверка поля "количество", если поле пустое, то подставляется значение = 1
IF([313]="",1,[313])

С курсом валют красивого решения пока не придумал, т.к. его значение может быть разным для заказов.
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Re: Логические поля в формулах

Сообщение nikorn »

Я тоже считаю стоимость по заказу: для вложенной сущности количество*цена и потом сумма по всем позициям. Видимо, это достаточно общая задача
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логические поля в формулах

Сообщение support »

Расширил поля для формулы и в 1.8 будет возможность использовать логические поля и даты в формулах.

Напомните мне после выхода 1.8 чтоб я добавил документацию как это делать:)
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Re: Логические поля в формулах

Сообщение nikorn »

Поставил напоминалку в календаре Google на февраль. К сожалению, в Руководителе пока этой функции нет. :-)
Ответить