Gedemin TLB.IGedemin.GetCurrRate
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (Новая страница: «{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=function gsGetCurrRate2(ForDate: TDateTime; Reg…») |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=function gsGetCurrRate2(ForDate: TDateTime; RegulatorKey: OleVariant; FromCurrKey: OleVariant; | {{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|1}}|src=function gsGetCurrRate2(ForDate: TDateTime; RegulatorKey: OleVariant; FromCurrKey: OleVariant; | ||
ToCurrKey: OleVariant; CrossCurrKey: OleVariant; Amount: Currency; | ToCurrKey: OleVariant; CrossCurrKey: OleVariant; Amount: Currency; | ||
| − | ForceCross: WordBool; UseInverted: WordBool; RaiseException: WordBool): | + | ForceCross: WordBool; UseInverted: WordBool; RaiseException: WordBool): Double; safecall;}} |
<onlyinclude>Пересчитывает указанную сумму из одной валюты в другую по курсу на заданную дату.</onlyinclude> | <onlyinclude>Пересчитывает указанную сумму из одной валюты в другую по курсу на заданную дату.</onlyinclude> | ||
Версия 14:51, 20 января 2017
From Gedemin TLB.pas
function gsGetCurrRate2(ForDate: TDateTime; RegulatorKey: OleVariant; FromCurrKey: OleVariant;
ToCurrKey: OleVariant; CrossCurrKey: OleVariant; Amount: Currency;
ForceCross: WordBool; UseInverted: WordBool; RaiseException: WordBool): Double; safecall;
Unit: Gedemin TLB
Type: function
Visibility: public
Member Of: IGedemin
Описание
Пересчитывает указанную сумму из одной валюты в другую по курсу на заданную дату.
Параметры
- ForDate
- Дата или дата и время, на которую будет осуществлен пересчет. В таблице курсов GD_CURRRATE ищется запись равная указанной дате или ближайшая к ней более ранняя.
- RegulatorKey
- Целочисленный идентификатор записи из таблицы GD_COMPANY, РУИД в строковом представлении или -1. Если параметр задан, то берется только курс, установленный указанным регулятором. Если не задан (значение -1), то сначала ищется курс, у которого поле gd_currrate.regulatorkey IS NULL, затем курс, установленный любым регулятором.
- FromCurrKey
- Исходная валюта, в которой выражено значение параметра Amount.
- ToCurrKey
- Валюта, в которую пересчитывается значение Amount.
- CrossCurrKey
- Валюта для расчета кросс-курса. Опциональный параметр.
- Amount
- Количество денежных единиц, выраженных в исходной валюте. Если Amount = 1, то функция вернет курс исходной валюты, выраженный в валюте пересчета.
- ForceCross
- Булевский параметр. Используется только если задан CrossCurrKey. При ForceCross = True всегда рассчитывается кросс-курс. Т.е. сначала сумма переводится из исходной валюты, в валюту кросс-курса, а затем полученное значение переводится в валюту пересчета. Если ForceCross = False, то система сначала попытается найти запись для прямой конвертации из исходной валюты в валюту пересчета и только при её отсутствии будет произведен пересчет через кросс-курс. При пересчете через кросс-курс, если не найдена запись с курсом, то поиск обратного кросс-курса не производится.
- UseInverted
- Булевский параметр. Если UseInverted = True и в базе данных нет записи для курса конвертации из исходной валюты в валюту пересчета, то система попытается найти и использовать обратный курс из валюты пересчета в исходную валюту. Если одновременно заданы параметры UseInverted = True, CrossCurrKey и ForceCross = False, и при этом система не может найти прямой курс для конвертаци из исходной валюты в валюту пересчета, то сначала будет предпринята попытка найти обратный курс и только при ее неудаче будет использован пересчет через кросс-курс.
- RaiseException
- Булевский параметр. Если RaiseException = False, то при возникновении ошибок функция вернет 0. Исключение генерироваться не будет.
Валюта может быть задана следующим образом:
- целочисленным идентификатором записи из таблицы GD_CURR
- РУИД-ом в строковом представлении
- строковым кодом валюты (поле gd_curr.code). Регистр должен совпадать со значением в базе данных
- "NCU" -- текущая национальная денежная единица (поле gd_curr.isncu = 1). Обязательно в верхнем регистре
- -1 -- параметр не задан
Примеры использования
Option Explicit Sub gsGetCurrRate2_Demo End Sub