Цитата |
---|
Денис пишет:
В теме Опять про ДТС КТС......(help)
Цитата Титов Александр писал:
И в плагине надо написать LoadLibrary, например, вот такой фрагмент проверен - работает:
LoadLibrary("main.bdll")
sayandwait(str(DaySaldo("01",{"601",CTOD("01/12/05")})))
БЭСТ5 3.4 СП9 выдает ошибку на этот текст. |
Добрый день!
А Вы обратили
на предыдущий мой пост в этой же теме?:
Цитата |
---|
Титов Александр писал
Мы пока не публикуем такие функции, поскольку в версии 34 они претерпят изменения. Однако если очень надо, то можно решить указанную задачу с помощью следующих функций:
nRez:=DaySaldo('00', aPar) - ДТС0
nRez:=DaySaldo('10', aPar) - КТС0
nRez:=DaySaldo('01', aPar) - ДТС
nRez:=DaySaldo('11', aPar) - КТС
|
Дело в том, что в БЭСТ-5 для этих целей разработаны специальные функции, которые в зависимости от условий готовности банка данных, расссчитывают садьдо/обороты либо по банку данных (тогда скорость расчета увеличивается в сотни раз), либо по проводкам (если банк данных не рассчитан на заданную дату. Описание этих функций приведено в файле \Client\Source\xharbour\common\oborot.prg:
ФУНКЦИИ РАСЧЕТА ОБОРОТОВ И ОСТАТКОВ ПО СЧЕТАМ
DR(<НомерСчета>, <ФинГод>, <РасчПериод>, <ТипДанных>)
Функция вычисления данных по дебету счета.
- НомерСчета (символьный).Обязательный параметр.Должен быть указан только номер
счета или номер счета и сегментная аналитика счета (через точку).
- ФинГод. Финансовый год (символьный или число) или начальная дата расчета
- РасчПериод.Номер расчетного месяца (число или символьный) или конечная дата
расчета (для остатков равна начальной).
- ТипДанных. Тип данных по счету.Принимает значения 1,2,3,4 (число).
Тип = 1. За текущий период. Функция возвращает оборот по дебету счета за
расчетный период.
Тип = 2. С начала года. Функция возвращает оборот по дебету счета с начала
года и до конца текущего периода.
Тип = 3. Баланс на начало периода. Функция возвращает остаток по дебету счета
на начало периода.
Тип = 4. Баланс на начало года. Функция возвращает остаток по дебету счета на
начало финансового года.
Тип = 5. Баланс на конец периода. Функция возвращает остаток по дебету счета
на конец периода.
CR(<НомерСчета>, <ФинГод>, <РасчПериод>, <ТипДанных>)
Функция вычисления данных по кредиту счета.
DCR(<НомерСчета>, <ФинГод>, <РасчПериод>, <ТипДанных>, <Вид оборота>)
Функция вычисления данных по дебету или кредиту счета.
- <Вид оборота> = 2 - вызывается функция CR(<НомерСчета>, <ФинГод>, <РасчПериод>, <ТипДанных>)
- в других случаях вызывается функция DR(<НомерСчета>, <ФинГод>, <РасчПериод>, <ТипДанных>)
DC(<НомДтСчет>, <НомКтСчет>, <ФинГод>, <РасчПериод>, <ТипДанных>)
Функция вычисления оборота между корреспондирующими счетами.
- НомДтСчет. Обязательный параметр - дебетуемый счет. Должен быть указан только
номер счета или номер счета и сегментная аналитика счета (через точку).
- НомКтСчет. Обязательный параметр - кредитуемый счет.
- ФинГод. Финансовый год (символьный или число) или начальная дата расчета.
- РасчПериод.Номер расчетного месяца (число или символьный) или конечная дата
расчета.
- ТипДанных. Тип данных по счету.Принимает зна-чения 1,2
Тип = 1. За текущий период. Функция возвращает оборот между счетами за
расчетный период.
Тип = 2. С начала года. Функция возвращает оборот между счетами с начала года
и до конца текущего периода.
**********/
FUNCTION DC(cDtSchet,cKtSchet,dDate1,dDate2,nType)
FUNCTION DR(cSchet,dDate1,dDate2,nType)
FUNCTION CR(cSchet,dDate1,dDate2,nType)
FUNCTION DCR(cSchet,dDate1,dDate2,nType,nOborot)
//nType==1 - оборот за период
//nType==2 - оборот с начала года до конца периода
//nType==3 - остатки на начало периода
//nType==4 - остатки на начало года
//nType==5 - остатки на конец периода