Логические поля в формулах
- nikorn
- Сообщения: 252
- Зарегистрирован: 02 апр 2016, 22:26
- Имя: Корняков Никита
- Откуда: РФ, Ярославль
- Организация: Тяжмаштрейд
- Контактная информация:
Логические поля в формулах
Почему-то в формулах можно использовать только числовые поля, хотя условный оператор IF работает исправно.
Нет никакой возможности задействовать в формулах также логические поля?
Например, сейчас можно написать IF([12]>34,[56],[78]), где [12], [56] и [78] - числовые поля
Но нельзя IF([12]=true,[56],[78]) или вообще IF([12],[56],[78]), где [12] - логическое поле, а [56] и [78] - числовые поля...
Нет никакой возможности задействовать в формулах также логические поля?
Например, сейчас можно написать 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: Логические поля в формулах
Между прочим, есть замечательная недокументированная возможность использования формул.
В формулах можно использовать только числовые поля, но не обязательно писать в них числа. Если в числовое поле занести, например, значение "Да", то в формуле можно использовать логическое условие типа IF([12]='Да',[34],[56])
В формулах можно использовать только числовые поля, но не обязательно писать в них числа. Если в числовое поле занести, например, значение "Да", то в формуле можно использовать логическое условие типа IF([12]='Да',[34],[56])
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Логические поля в формулах
Доработаю в 1.8
- nikorn
- Сообщения: 252
- Зарегистрирован: 02 апр 2016, 22:26
- Имя: Корняков Никита
- Откуда: РФ, Ярославль
- Организация: Тяжмаштрейд
- Контактная информация:
Re: Логические поля в формулах
Можно было бы расширить список используемых в формулах типов полей также за счет поля типа "дата", которое по сути тоже является числом. Тогда функции определения минимального и максимального значений приобрели бы новые возможности (например, поиск последней по времени записи во вложенной сущности) 
Re: Логические поля в формулах
Я таки не понял, недокументированная возможность
Попробовал сделать... Поле формула
Поле 452 логическое со значениями 1 и 0
Поле 310 - числовое
в результате ошибка
работает в версии 1.7.2 ?формуле можно использовать логическое условие типа IF([12]='Да',[34],[56])
Попробовал сделать... Поле формула
Код: Выделить всё
IF([452]=0,[310],[310])Поле 310 - числовое
в результате ошибка
Ошибка рассчета формулы: IF([452]="1",[310],[310])
- nikorn
- Сообщения: 252
- Зарегистрирован: 02 апр 2016, 22:26
- Имя: Корняков Никита
- Откуда: РФ, Ярославль
- Организация: Тяжмаштрейд
- Контактная информация:
Re: Логические поля в формулах
Насколько я понимаю, пока поле [452] может быть только числовым. По крайней мере в версии 1.7.2
У меня используется (работает) формула if([344]>'',[321],0), где [344] и [321] - числовые поля. Формула выбирает из предложений поставщиков актуальное (любая непустая строка в числовом поле [344]). Это своего рода замена логическому полю.
У меня используется (работает) формула if([344]>'',[321],0), где [344] и [321] - числовые поля. Формула выбирает из предложений поставщиков актуальное (любая непустая строка в числовом поле [344]). Это своего рода замена логическому полю.
Re: Логические поля в формулах
Таки да, оно работает )
Задача была рассчитывать стоимость заказа, с НДС или без НДС с учётом количества заказа и курса валют, если начальная цена в другой валюте.
Моё решение.
Поля:
- Количество [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])
С курсом валют красивого решения пока не придумал, т.к. его значение может быть разным для заказов.
Задача была рассчитывать стоимость заказа, с НДС или без НДС с учётом количества заказа и курса валют, если начальная цена в другой валюте.
Моё решение.
Поля:
- Количество [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: Логические поля в формулах
Я тоже считаю стоимость по заказу: для вложенной сущности количество*цена и потом сумма по всем позициям. Видимо, это достаточно общая задача
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Логические поля в формулах
Расширил поля для формулы и в 1.8 будет возможность использовать логические поля и даты в формулах.
Напомните мне после выхода 1.8 чтоб я добавил документацию как это делать:)
Напомните мне после выхода 1.8 чтоб я добавил документацию как это делать:)
- nikorn
- Сообщения: 252
- Зарегистрирован: 02 апр 2016, 22:26
- Имя: Корняков Никита
- Откуда: РФ, Ярославль
- Организация: Тяжмаштрейд
- Контактная информация:
Re: Логические поля в формулах
Поставил напоминалку в календаре Google на февраль. К сожалению, в Руководителе пока этой функции нет. 