> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pricer24.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Ціни контрагентів на основі формул

# Ціни контрагентів на основі формул

Створення і редагування типів цін на основі формул можна здійснити в модулі "Контрагенти".
Для цього потрібно в діалозі редагування контрагента перейти у вкладку "Ціни".
Значення всіх цін, що приймають участь у розрахунку, конвертуються в валюту ціни з формулою.
Результат обчислення округляється в залежності від налаштувань валюти ціни.

|| Важливо! Ціни за формулами обчислюються в момент завантаження даних. При зміні правил вони будуть застосовуватися лише при наступному завантаженні даних!

### Синтаксис формул
Формули реалізовано за допомогою бібліотеки [NCalc](https://ncalc.github.io/ncalc/index.html).
У якості змінних потрібно вказувати коди наявних типів цін в квадратних дужках (не з типом формула). Приклад: [price], [price_min]

###### Функції
З переліком вбудованих функцій можна ознайомитись за [посиланням](https://github.com/ncalc/ncalc/wiki/functions)
Також пітримуються наступні кастомні функції
* MinEx(arg1,arg2,...,argN) - повертається мінімальне значення з переліку переданих N аргументів
* MaxEx(arg1,arg2,...,argN) - повертається максимальне значення з переліку переданих N аргументів
* AvgEx(arg1,arg2,...,argN) - повертається середнє значення з переліку переданих N аргументів
* CoalesceEx(arg1,arg2,...,argN) - повертається перше не NULL значення з переліку переданих N аргументів

###### Оператори
З переліком вбудованих операторів можна ознайомитись за [посиланням](https://github.com/ncalc/ncalc/wiki/Operators)

###### Приклади формул

Приклад 1. Обчислення промо ціни. Якщо на сайті є перекреслена ціна - то вважається, що йде промо.
```
if([price_old] > 0, [price], null)
```

Приклад 2. Обчислення мінімальної з трьох цін
```
MinEx([price], [price_net], [price_old])
```
