Перейти к содержимому

Деньги

Поле «Деньги» — сумма + валюта. В отличие от «Числа», система знает, в какой валюте сумма, и умеет пересчитывать её при отображении.

Как устроено

Каждая «денежная» ячейка хранит:

  • Сумма — число с плавающей точкой.
  • Валюта строки — 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 и ожидают, что значения в датасете изменятся. Не изменятся — валюта строки фиксированная, меняется только то, как виджет показывает агрегат.

Что дальше