Функция Курс возвращает курс указанной валюты по отношению к базовой на определенную дату. Функция имеет два параметра:
- Валюта
- Дата
Функция нужна, чтобы пересчитать цену из одной валюты в другую. Например, у нас известна цена в евро, но счет нам нужно выставить в рублях. Функция Курс поможет нам это сделать.
Добавьте на карточку объекта 123 поле с типом Дата. Это поле будет использоваться для получения курса. Добавьте это поле на карточку и в таблицу.
Сейчас мы будем делать так, чтобы поле Цена без скидки всегда было в рублях. Для этого нам нужно подправить формулу в этом поле так, чтобы она не просто брала цену из справочника Продукт, а еще и умножала ее на нужный курс.
Как получить этот нужный курс? Нужно обратиться к функции Курс и в качестве параметров ей передать валюту (она берется из родительского объекта Продукт) и дату (это новое добавленное поле).
Формула на человеческом языке будет выглядеть так:
Цена без скидки = Цена выбранного продукта * Курс(Валюта выбранного продукта ; Дата)
Создадим эту же формулу по шагам в редакторе формулы:
Добавить функцию Умножить:
Добавить первый параметр этой функции — цену продукта.
Добавить второй параметр функции Умножить — функцию Курс.
Добавить первый параметр функции Курс — валюту выбранного продукта.
Добавить второй параметр функции Курс — поле Дата.
Формула готова.
Нажмите ОК.
Функция в виде строки выглядит так:
Продукт>Цена * Курс(Продукт>Валюта;Дата)
Нажмите ОК.
Проверим формулу в действии. Не забудьте на карточке объекта 123 отметить галочку, в поле Дата.
На первой картинке цена продукта указана в долларах, на второй — в евро, на третьей в рублях. Функция Курс возвращает курс рубля к рублю равным единице, т.к. это базовая валюта, по этому и на третьей картинке все посчитано правильно.
Мы добились того, чего хотели — при выборе продукта в любой валюте мы получаем цену в рублях.