Деньги
Поле «Деньги» — сумма + валюта. В отличие от «Числа», система знает, в какой валюте сумма, и умеет пересчитывать её при отображении.
Как устроено
Каждая «денежная» ячейка хранит:
- Сумма — число с плавающей точкой.
- Валюта строки — RUB / USD / EUR / USDT (выбирается при вводе).
На уровне workspace задаётся display_currency — валюта отображения для дашбордов и KPI. Когда виджет агрегирует «Деньги» из разных валют — он пересчитывает каждое значение в display_currency по курсу из системного справочника fx_rates.
Источники курсов
- RUB / USD / EUR — ежедневный фиксинг ЦБ РФ.
- USDT — Coingecko по паре USDT/USD, далее через USD.
⚠️ Уточнить: периодичность обновления
fx_rates(раз в час / раз в день) и момент применения (на дату строки или на текущую дату) в текущей версии не указан явно в коде. Если вы сравниваете цифры с банковской выпиской — учтите, что курсы могут немного расходиться.
Когда использовать
- Цена покупки, продажи.
- Месячная аренда, комиссии.
- Доход и расход в транзакциях.
В формулах
- Все арифметические операции.
- Складывать/умножать только в одной валюте. Формула не знает про конвертацию — она работает с числовой компонентой «Денег». Если у вас в датасете разные валюты — конвертируйте сначала вручную или ограничьте формулу одним типом валюты.
Частые ошибки
- Сумма без валюты. UI потребует выбрать валюту при первом вводе.
- Складывают RUB и USD в формуле. Формула получит просто числа и сложит их «как есть» — результат будет бессмысленным. Используйте отдельные поля для каждой валюты или приводите к одной валюте на уровне ввода.
- Меняют
display_currencyи ожидают, что значения в датасете изменятся. Не изменятся — валюта строки фиксированная, меняется только то, как виджет показывает агрегат.