Валюты
В SimpleOne существует несколько инструментов для управления валютами:
- таблица Валюты (currency), которая содержит записи валют;
- таблица Курсы валют (currency_exchange_rate), которая содержит информацию о курсах тех валют, чьи записи являются активными.
В системном свойстве currency.default вы можете задать валюту по умолчанию для работы с бюджетами, потребностями и закупками.
Таблица Валюты
Таблица Валюты (currency) содержит записи наименования валют, которые вы можете использовать при планировании бюджета и для работы с потребностями и закупками.
Требуемая роль: admin. Пользователи с другими ролями могут только просматривать записи.
Никто не может удалять записи валют. Вы можете деактивировать неактуальные записи, убрав флажок Активно на форме.
Создание валюты
Чтобы создать новую запись валюты, выполните следующие действия:
- Перейдите в Организация → Валюты.
- Нажмите Создать и заполните поля открывшейся формы.
- Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
Поля формы Валюты
| Поле | Обязательное | Описание |
|---|---|---|
| Код | Да | Укажите код валюты или выберите его из списка. В коробочной версии доступны: RUB, USD, EUR, CNY, BYN, KZT. |
| Наименование | Да | Укажите наименование валюты. |
| Символ | Да | Добавьте символ валюты. |
| Активна | Да | Установите флажок, чтобы сделать запись валюты активной. |
Связанные списки формы Валюты
- История курсов – содержит информацию о курсах этой валюты за определенный период из таблицы Курсы валют (currency_exchange_rate).
Мастер-данные
При развертывании вашего экземпляра в таблицу Валюты автоматически добавятся записи, которые необходимы для корректной работы приложения. Список записей, включенных в мастер-данные:
| Код | Символ | Наименование (русский) | Наименование (английский) | Активна |
|---|---|---|---|---|
| BYN | BYN | Белорусский рубль | Belarusian ruble | Нет |
| CNY | ¥ | Китайский юань | Chinese yuan | Да |
| EUR | € | Евро | Euro | Да |
| KZT | ₸ | Казахстанский тенге | Kazakhstani tenge | Нет |
| RUB | ₽ | Российский рубль | Russian ruble | Да |
| USD | $ | Доллар США | US dollar | Да |
Таблица Курсы валют
Информация о курсах активных валют, существующих в системе, хранится в таблице Курсы валют (currency_exchange_rate). Она используется для пересчета суммы фактических затрат в валюту по умолчанию, указанной в системном свойстве currency.default.
Таблица заполняется и обновляется автоматически, если активированы соответствующие скрипты. По умолчанию данные курсов получаются от API Центрального банка Российской Федерации (ЦБ РФ). Вы можете настроить другой банк для получения данных. Вы также можете добавлять записи курсов вручную.
Скрипты для курсов валют
Требуемая роль: admin.
Перед активацией скриптов выполните следующие действия:
- Установите или поменяйте значение валюты по умолчанию в системном свойстве currency.default.
- В таблице Валюты (currency) активируйте записи тех валют, данные о курсах которых вам необходимо получать.
- Если вам необходимо получать данные о других валютах, создайте для них активные записи в таблице Валюты (currency).
Регулярное дополнение таблицы курсами на завтрашний день
Активируйте запланированный скрипт Currency: get exchange rates for tomorrow, чтобы таблица Курсы валют (currency_exchange_rate) ежедневно пополнялась данными курсов на завтрашний день. По умолчанию обновление данных происходит в 23:00 МСК. Данные получаются для активных валют таблицы Валюты (currency), котируемой валюты и валюты по умолчанию, указанной в системном свойстве currency.default.
Чтобы активировать скрипт, выполните следующие шаги:
- В навигаторе перейдите в Планировщик → Запланированные скрипты.
- Найдите и откройте запись скрипта Currency: get exchange rates for tomorrow.
- Установите флажок Активно.
- Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
При необходимости вы можете кастомизировать скрипт: задать другую Частоту запуска и изменить Время запуска.
Добавление курсов за определенный период
Активируйте запланированный скрипт Currency: get exchange rates for 5 years, чтобы заполнить таблицу Курсы валют (currency_exchange_rate) данными курсов за последние 5 лет. Этот период отсчитывается от текущей даты включительно. Данные получаются для активных валют таблицы Валюты (currency), котируемой валюты и валюты по умолчанию, указанной в системном свойстве currency.default.
Чтобы активировать скрипт, выполните следующие шаги:
- В навигаторе перейдите в Планировщик → Запланированные скрипты.
- Найдите и откройте запись скрипта Currency: get exchange rates for 5 years.
- Установите флажок Активно.
- Измените значение поля Частота запуска на По запросу.
- Нажмите Сохранить, чтобы применить изменения, а затем Выполнить.
Вы можете изменить период, за который добавляются данные курсов. Для этого в скрипте измените значение метода startDate.addYears(-5); на необходимое. Например, чтобы добавить данные курсов только за последний год, задайте методу значение -1.
Курсы валюты "белорусский рубль" с кодом BYN доступны с 1 июля 2016 года.
Курсы валюты "белорусский рубль" с кодом BYR, используемый до деноминации 1 июля 2016 года, недоступны.
Изменение банка для получения данных курсов
Чтобы получать курсы валют не из ЦБ РФ, а из другой системы, заполните таблицу Курсы валют (currency_exchange_rate), опираясь на пример механизма, используемого для получения курсов из ЦБ РФ: два запланированных скрипта, описанных выше, и внешний скрипт CurrencyExchangeRatesDataFetcherFromRussianCB.
Рекомендуем использовать те же типы выходных данных, что и в CurrencyExchangeRatesDataFetcherFromRussianCB. В этом случае создание и обновление записей в таблице Курсы валют (currency_exchange_rate) можно выполнять через внешний скрипт SimpleCurrencyService.
Создание курса валюты
Чтобы создать запись курсов валют на определенную дату, выполните следующие действия:
- Откройте таблицу Курсы валют по ссылке {URL вашего экземпляра}/list/currency_exchange_rate.
- Нажмите Создать и заполните поля открывшейся формы.
- Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
Поля формы Курсы валют
| Поле | Обязательное | Описание |
|---|---|---|
| Наименование | Нет | Укажите наименование курса. В записях, созданных автоматически, Наименование заполняется по следующему шаблону: Код базовой валюты – Дата ДД-ММ-ГГГГ. |
| Дата | Нет | Укажите дату, для которой добавляется курс. |
| Базовая валюта | Да | Укажите код валюты, для которой система получает курсы. |
| Курс базовой к котируемой | Нет | Укажите курс базовой валюты к котируемой. |
| Котируемая валюта | Да | Укажите код валюты, в которой система получает данные курсов базовых валют из стороннего источника. По умолчанию котируемая валюта – RUB. |
При ручном добавлении курсов валют, если котируемая валюта отличается от валюты по умолчанию, создайте в таблице Курсы валют (currency_exchange_rate) запись со следующими значениями:
- в поле Базовая валюта – валюта по умолчанию;
- в поле Курс базовой к котируемой – соответствующий курс;
- в поле Дата – дата, меньшая или равная Дате в созданной ранее записи курса котируемой валюты (где Курс базовой к котируемой равен 1).