Курс валюты внутренними функциями галактики

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
lStep
Новичок
Сообщения: 28
Зарегистрирован: 27 июл 2006, 16:49

Курс валюты внутренними функциями галактики

Сообщение lStep »

Подскажите галактическую фейс+функцию чтоб получить курс валюты на дату.
что-то вроде: GetCurse (cVal , date): Double;

есть-же компонент L_VAL

PS про это знаю:

Код: Выделить всё

 if (GetLast fastfirstrow CursVal
             where ((BaseDoc.cVal  == CursVal.KodValut and
                     BaseDoc.dDoc  >>= CursVal.DatVal)) 
             ordered by index CursVal04 = tsOk)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Есть функция Rate объектного фейса ValFuncsV2.

Код: Выделить всё

ValFuncVih.vpp

#doc
возвращает курс валюты (ноль для национальной) на указанную дату
#end
Function Rate(
                        cValRate  : comp;
                        dat       : Date
                   ): double;
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Курс валюты внутренними функциями галактики

Сообщение savov »

А подскажите, уважаемый mOp3e, где взять сей файл? У нас 8.10 версия, но в архивах форм я не нахожу ничего
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Курс валюты внутренними функциями галактики

Сообщение Den »

в ValFunc.vih все

Код: Выделить всё

//******************************************************************************
//                                                      (c) корпорация Галактика
// Галактика 7.12 - Общие функции
// Описание методов объекта для работы с классификатором валют и курсами
//******************************************************************************

// для объявления переменной необходимо использовать #include ValFunc.var
// (для обеспечения межверсионной устойчивости), в котором описана
// переменная oValFunc с типом самой свежей версии объекта

//******************************************************************************
#ifNdef __ValFunc_vih__
#define __ValFunc_vih__

//******************************************************************************

#ifdef ComponentVersion
#component "L_VAL"
#end

#doc
Объектный интерфейс описывает методы для работы с классификатором валют и курсами.
#end
ObjInterface tValFuncs;

//******************************************************************************

#doc
выбор валюты и пересчет сумм с возвратом выбранной даты курса валюты
#end
Function ChoiceValD(
                    var ValSrc  : comp;
                    var dCourse : date;
                    var SumSrc  : double;
                    var SumSrcV : double
                   ): boolean;

#doc
возвращает количество из классификатора валют (или единицу, если не указано)
#end
Function GetValSumValut(cVal: comp): double;

//******************************************************************************

#doc
возвращает курс валюты (ноль для национальной) на указанную дату
#end
Function Rate(
              cValRate  : comp;
              dat       : date
             ): double;

//******************************************************************************

#doc
переводит сумму из одной валюты в другую по курсу на дату
#end
Function CurrencyExchange(
                          cValFrom  : comp;
                          Sum       : double;
                          cValTo    : comp;
                          dat       : date
                         ): double;

//******************************************************************************

#doc
Обновление временных таблиц
#end
Procedure Refresh;

//******************************************************************************

#doc
вывод отчета о ненайденных курсах валют
#end
Procedure WasErrorValut;


//******************************************************************************

#doc
вазовая валюта
#end
Function ValBase: comp;

//******************************************************************************

#doc
наименование базовой валюты
#end
Function ValBaseName: string[30];

//******************************************************************************

#doc
символ базовой валюты
#end
Function ValBaseSimv: string[6];

//******************************************************************************

#doc
валюта отчетов
#end
Function ValTar: comp;

//******************************************************************************

#doc
наименование валюты отчетов
#end
Function ValTarName: string[30];

//******************************************************************************

#doc
символ валюты отчетов
#end
Function ValTarSimv: string[6];

//******************************************************************************

#doc
наименование национальной валюты
#end
Function ValNatName: string[30];

//******************************************************************************

#doc
символ национальной валюты
#end
Function ValNatSimv: string[6];

//******************************************************************************
// использовать вместо GetSimvAndName

#doc
возвращает символ и наименование валюты в !!!ТВОРИТЕЛЬНОМ ПАДЕЖЕ!!!
национальную тоже понимает, возвращает соответствующие настройки
#end
Function GetValSimvName(
                        cVal     : comp;
                        var Simv : string;
                        var Name : string
                       ): boolean;

//******************************************************************************

#doc
возвращает символ валюты
#end
Function GetValSimv(_cVal: comp): string;

//******************************************************************************

#doc
возвращает наименование валюты
#end
Function GetValName(_cVal: comp): string;

//******************************************************************************

#doc
инициализация переменных объектного интерфейса для работоспособности некоторых функций
#end
Procedure InitVars;

//******************************************************************************

#doc
инициализация объектного интерфейса
#end
Procedure InitVal;

//******************************************************************************
// вызывать перед ShowFile для вывода сообщения в случае, если при пересчете курсов были ошибки

#doc
вызывать перед ShowFile для вывода сообщения в случае, если при пересчете курсов были ошибки
#end
Procedure DoneVal;

//******************************************************************************

#doc
поиск курса валюты cVal на дату DAT
#end
Function GetCurse(
                  _cVal : comp;
                  dat   : date;
              var kurs  : double
                 ): boolean;

//******************************************************************************

#doc
#end
Function GetCurrencyPrimitive(
                              ValSrc  : comp;
                              SumSrc  : double;
                              ValTo   : comp;
                              dCourse : date
                             ): double;

//******************************************************************************

#doc
возврат суммы в валюте отчетов
#end
Function GetCurrency(
                     ValSrc  : comp;
                     SumSrc  : double;
                     dCourse : date
                    ): double;

//******************************************************************************

#doc
возврат суммы в базовой валюте
#end
Function GetBaseCurrency(
                         ValSrc  : comp;
                         SumSrc  : double;
                         dCourse : date
                        ): double;

//******************************************************************************

#doc
возврат суммы в национальной валюте
#end
Function GetNatCurrency(
                        ValSrc  : comp;
                        SumSrc  : double;
                        dCourse : date
                       ): double;

//******************************************************************************

#doc
возврат суммы в любой заданной валюте
#end
Function GetAnyCurrency(
                        ValSrc  : comp;
                        SumSrc  : double;
                        dCourse : date;
                        targval : comp
                       ): double;

//******************************************************************************

#doc
возврат суммы в национальной валюте
#end
Procedure GetNatTarCurrency(
                            ValSrc1 : comp;
                            SumSrc1 : double;
                            ValSrc2 : comp;
                            SumSrc2 : double;
                            dCourse : date;
                        var ResNat  : double;
                        var ResTar  : double
                           );


//******************************************************************************

#doc
возврат суммы в валюте отчетов исходя из 2 сумм: в национальной и указанной валютах
#end
Function GetTarCurrency(
                        ValSrc  : comp;        // валюта операции
                        SumSrcV : double;      // сумма в валюте
                        SumSrcR : double;      // сумма в НДЕ
                        dCourse : date         // дата операции
                       ): double;

//******************************************************************************

#doc
анализ настройки пользователя для пересчета валют
#end
Function ReCalcCursVal: boolean;

//******************************************************************************

#doc
выбор валюты Pick и пересчет сумм
#end
Function ChoiceVal(
               var ValSrc  : comp;
                   dCourse : date;
               var SumSrc  : double;
               var SumSrcV : double
                  ): boolean;
//******************************************************************************

#doc
обработка сумм в НДЕ, валюте и даты операции
пересчет сумм в валюте (НДЕ) при корректировке соответствующего поля
#end
Procedure ReCalcSumRubVal(
                          isSumRub : boolean;  //true-коррект. сумма в НДЕ = CurField
                          dCourse  : date;
                          ValSrc   : comp;
                      var SumSrc   : double;
                      var SumSrcV  : double
                         );

//******************************************************************************

#doc
пересчет суммы в валюте в РУБЛИ с учетом процента к курсу
if OkPlus = TRUE  -> сколько должен заплатить учетом процента
          = FALSE -> сколько заплачено фактически с учетом процента
#end
Function CalcRubValMoney(
                         OkPlus  : boolean;
                         ValSrc  : comp;
                         dCourse : date;
                         sCourse : double;
                         SumProc : double;
                         SumSrcV : double
                        ): double;

//******************************************************************************


#doc
пересчет суммы в рублях в ВАЛЮТУ с учетом процента к курсу
#end
Function CalcValRubMoney(
                         ValSrc  : comp;
                         dCourse : date;
                         sCourse : double;
                         SumProc : double;
                         SumSrcR : double
                        ): double;

//******************************************************************************

#doc
пересчет суммы ВАЛЮТЕ в РУБЛИ с учетом процента к курсу
#end
Function CalcSumValRubDO(
                         ValSrc  : comp;
                         dCourse : date;
                         sCourse : double;
                         SumProc : double;
                         SumSrcV : double
                        ): double;

//******************************************************************************
#doc
пересчет суммы в валюте в рубли и наоборот
#end
Function CheckSumVal(
                     ValSrc      : comp;
                     dCourse     : date;
                 var SumSrc  : double;
                 var SumSrcV : double
                    ): boolean;

//******************************************************************************
#doc
Возвращает символ валюты по настройке 'NDE.ShowSymVal'
#end
Function GetValSymbol(ValSrc: comp): string;
//******************************************************************************
End;

//******************************************************************************

VipInterface ValFuncs implements tValFuncs licensed (FREE);

#end
//******************************************************************************

savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Курс валюты внутренними функциями галактики

Сообщение savov »

Спасибо, но у меня файл vih не такой был!
Irina_
Местный житель
Сообщения: 551
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Курс валюты внутренними функциями галактики

Сообщение Irina_ »

Здравствуйте. Сама пару недель назад использовала ValFuncV2. vih.

//******************************************************************************
// (c) корпорация Галактика
// Галактика 7.12 - Общие функции
// Функции для работы с классификатором валют и курсами. Версия 2.
//******************************************************************************

#ifndef __ValFuncV2_vih__
#define __ValFuncV2_vih__

//******************************************************************************

#ifdef ComponentVersion
#component "L_VAL"
#end

#doc
Объектный интерфейс описывает методы для работы с классификатором валют и курсами. Версия 2.
#end
ObjInterface tValFuncsV2;

#define _ValFuncV2_

#include ValFuncVih.vpp

#undef _ValFuncV2_

End;

//******************************************************************************

VipInterface ValFuncsV2 implements tValFuncsV2, tValFuncsV3 licensed(FREE);

//******************************************************************************

#end
Ответить