Програма отримання оборотів і сальдо по рахунку в програмах користувача
- Перед заданням параметрів необхідно очистить буфер даних для підготовки розрахунку.
CALL
OSB_DATA_CLEAR()
- Наступним в програмі іде блок формування параметрів підготовки розрахунку. Оптимальним буде варіант, коли в цьому блоці декількома викликами функції OSB_DATA формується весь список даних для розрахунку.
Варіанти завдання параметрів розрахунку:
для отримання сальдо і оборотів по синтетичному рахунку (321):
CALL OSB_DATA("321",0,"",0)
Для отримання сальдо и оборотів детального рахунку (321/2) з вказаною аналітичною карткою (ID_Anl):
CALL OSB_DATA("321/2",ID_Anl,"",0)
для отримання оборотів по рахунку (321/2) в кореспонденції з рахунком (301):
CALL OSB_DATA("321/2",0,"301",0)
для отримання оборотів рахунка (321/2), враховуючи всі кор.рахунки:
CALL OSB_DATA("321/2",0,"*",0)
для отримання оборотів рахунка (321/2) в розрізі кор.рахунків та їх аналітики:
CALL OSB_DATA("321/2",0,"*",CONST_ULONG_MAX)
- Далі в програмі йде блок формування параметрів підготовки розрахунку. Оптимальним буде варіант, коли в цьому блоці декількома викликами функції OSB_DATA формується весь список даних для розрахунку.
Варіанти завдання параметрів розрахунку:
об’єкт за період І квартал, всі валюти:
Obj1= OSB_CALC("01/01/17","31/03/17","")
об’єкт за період ІІ квартал, всі валюти:
Obj2= OSB_CALC("01/04/17","30/06/17","")
об’єкт за період І квартал у зазначеній валюті:
Obj3= OSB_CALC("01/01/17","31/03/17","USD")
Комплекс дозволяє підготувати одразу декілька об’єктів в розрізі різних періодів або валют.
Примітка – можливе використання розширеної функції OSB_CALC2 для отримання розрахунків з додатковими параметрами.
- При викликанні першої функції отримання сальдо або оборотів, розраховується сальдо по рахункам в рамках вказаного об’єкту, підготованого OSB_CALC (див. п.п. 4.1.3). Наступні виклики розрахункових функцій отримають дані з буферу розрахунку.
Приклади функцій отримання вхідного сальдо:
VX_Dt1 =OSB_DT_BSLD(Obj1,"321/1", 0,"") ‘ вх.сальдо дебету (далі Дт) 321/1
VX_Dt2 =OSB_DT_BSLD(Obj2,"321/2,Id_Anl,"") ‘вх.сальдо Дт 321/2 і аналіт.карт.
VX_Kt1 =OSB_KT_BSLD(Obj1,"321/1",0,"") ‘ вх.сальдо кредиту (далі Кт) 321/1
VX_Kt2 =OSB_KT_BSLD(Obj2,"321/2,Id_Anl,"") ‘вх.сальдо Кт 321/2 и аналіт.карт.
Приклади функцій отримання вихідного сальдо:
IX_Dt1 = OSB_DT_ESLD (Obj1, "321/1", 0, "") ‘ вих.сальдо по дт 321/1
IX_Dt2=OSB_DT_ESLD(Obj2,"321/2",Id_Anl,"") ‘ вих.сальдо по дт 321/2 і аналіт. карт.
Приклади функцій отримання оборотів:
OB_Dt1=OSB_DT_TURN(Obj1, "321/1", 0,"",0,"")‘ обороти по дт 321/1
OB_Kt1=OSB_KT_TURN(Obj1, "321/1", 0,"",0,"")‘ обороти по кт 321/1
OB_Dt2=OSB_DT_TURN(Obj2,"321/2",0,"301",0,"")‘ обороти по дт 321/2, в кор. 301(см. правила заповненняOSB_DATА вище)
OB_Kt2=OSB_KT_TURN(Obj2, "321/2", 0,"301",ID_Anl2,"") ‘ обороти по дт 321/2, в кор. 301 з аналіт. ID_Anl2
(див. правила заповнення OSB_DATAвище)