В последнее время при внедрении системы DIRECTUM очень часто автоматизируются процессы по договорам. Неотъемлемой частью практически любого договора является сумма. Причем сумма бывает не только в национальной валюте, но и в любой другой. В связи с этим
приходится правильно конвертировать сумму из одной валюты в другую по текущему курсу на текущий день. Раньше курс вносился в карточку договора руками, теперь же есть решение, позволяющее автоматизировать данный процесс.
Само решение состоит из следующих компонент:
- справочник Договоры (стандартный)
- справочник Валюты (стандартный)
- справочник Курсы валют (стандартный)
- сценарий Загрузка курсов валют с ЦБ (ExchangeRatesLoad)
- функция для выборки данных по курсам на текущий день (GetRateAndParOfExchange) (стандартная)
Первым делом необходимо заполнить справочник Валюты.
Для того чтобы все работало как надо, необходимо в реквизите Код ISO указывать международный код валюты (например, Российский рубль - RUB, Американский доллар - USD).
Далее в работу вступает сценарий по загрузке курсов валют. Для автоматического запуска сценария необходимо настроить задание windows с периодичностью "1 раз в день". В строке запуска задания указывается:
<Путь до клиентской части DIRECTUM>\sblauncher.exe -SYS="DIRECTUM" -CT="Script" -F="ExchangeRatesLoad"
Задание настраивается на запуск от имени пользователя с windows-аутентификацией. Данный пользователь должен к системе DIRECTUM подключаться также с windows-аутентификацией. С этим же логином и паролем пользователь должен иметь доступ в интернет.
В сценарии указывается адрес прокси-сервера компании для доступа в интернет.
Сценарий обрабатывает только валюты, занесенные в справочнике Валюты. Базовой валютой является Российский рубль.
После всех настроек каждый день можно наблюдать как магическим образом заполняется справочник курсов валют
Для использования загруженных курсов в справочнике Договоры для реквизита
Валюта необходимо написать вычисления:
RateAndPar = GetRateAndParOfExchange(Today(); Object.Валюта)
Rate = RateAndPar[0] // курс
Par = RateAndPar[1] // номинал
// Присвоить реквизиту значение курса
Object.FractionalNumber = Rate
После этого при выборе валюты будет автоматически подтягиваться курс.
Действует для версии DIRECTUM 4.5 и выше.
Я точно знаю, что справочник "Курсы валют" появился в стандартном DIRECTUM 4.5
А разве не RUR?
RUR - устаревший классификатор, использовался до 1998 года. Некоторые банки до сих пор используют RUR потому что у них так настроены АБС и им просто лень что-то менять.
Точно. Исправил.
А кто-нибудь пробовал эту обработку применить к Directum 5.1 или 5.2?
Загрузка происходит только для Рубля и никакой другой, понять не могу в чем дело. Валюты заполнены корректно.
Авторизуйтесь, чтобы написать комментарий