Приклади використання розрахункових функцій в програмах користувача
- Для отримання сальдо и оборотів по дебету зазначеного рахунку 321
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321",0,"",0)
Obj= OSB_CALC(DATN,DATK,"")
OB_Dt =OSB_DT_TURN(Obj,"321", 0,"", 0, "")
OB_Dt1 =OSB_DT_TURN(Obj,"321/1", 0,"", 0, "")
OB_Dt2 =OSB_DT_TURN(Obj,"321/2", 0,"", 0, "")
- Для отримання сальдо по дебету и оборотів по дебету и кредиту рахунку 321/1 по аналітичній картці (ID- ІД аналіт. картки)
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
ID= ANLCRD_CREATE ("321/1","3507010","1111","","","","","","","","")
CALL OSB_DATA_CLEAR()
CALL OSB_DATA( "321/1", ID, "", 0 )
Obj=OSB_CALC(DATN, DATK,"")
VX_Dt=OSB_DT_BSLD( Obj, "321/1", ID, "" )
OB_Dt=OSB_DT_TURN( Obj, "321/1", ID, "", 0, "" )
OB_Kt=OSB_KT_TURN( Obj, "321/1", ID, "", 0, "" )
IX_Dt=OSB_DT_ESLD( Obj, "321/1", ID, "" )
- Для отримання оборотів по дебету 321/1 в кореспонденції с 701
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321/1",0,"701",0)
Obj=OSB_CALC(DATN, DATK,"")
OB_Dt =OSB_DT_TURN(Obj,"321/1", ID,"701", 0, "")
- Для отримання оборотів по дебету та кредиту 321/1 в розрізі кореспондуючих рахунків:
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321/1",0,"*",0)
Obj=OSB_CALC(DATN, DATK,"")
Korr_Sch = OSB_COR_FIRST (Obj, "321/1", 0 )
WHILE Korr_Sch <>""
OB_Dt =OSB_DT_TURN(Obj,"321/1",0 , Korr_Sch,0,"" )
OB_Kt =OSB_KT_TURN(Obj,"321/1",0, Korr_Sch,0,"" )
Korr_Sch = OSB_COR_NEXT (Obj, "321/1",0)
WEND
- Для отримання оборотів по дебету і кредиту 321/1 в розрізі всіх аналітичних карток:
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA( "321/1",0,"",0)
Obj= OSB_CALC(DATN,DATK,"")
ID=
OSB_ANL_FIRST ( Obj, "321/1")
WHILE ID<>0
OB_DT =OSB_DT_TURN(Obj,"321/1",ID , "",0,"" )
OB_KT =OSB_KT_TURN(Obj,"321/1",ID , "",0,"" )
ID = OSB_ANL_NEXT (Obj,"321/1")
WEND
- Для отримання оборотів по дебету та кредиту 321/1 по аналітичним карткам зі вказаними реквізитами:
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321/1",0,"",0)
Obj= OSB_CALC(DATN,DATK,"")
ID = OSB_ANL_CDFST (Obj,0, "321/1","3507010", "", "", "", "", "", "", "", "", "")
WHILE ID <> 0
‘ ID — карточка последнего уровня картотеки
IF ANLCRD_GET_LEV(ID) = ANLCRD_LCNTSCH("321/1") THEN
OB_Dt =OSB_DT_TURN(obj, "321/1", ID,"" , 0, "")
OB_Kt =OSB_KT_TURN(obj, "321/1", ID,"" , 0, "")
END IF
ID = OSB_ANL_LNEXT (obj,1,"321/1")
WEND
- Для отримання перебору проводок по рахунку
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321/1",0,"",0)
Obj = OSB_CALC( DATN, DATK, "" )
CALL OSB_ENTRY_ON ( Obj )
ID_PRW = OSB_GET_FENTRY (Obj, 1)
WHILE ID_PRW <> 0
SCH_DT=ENT_DT(ID_PRW)
ANL_DT=ENT_DT_ANL(ID_PRW)
SCH_KT=ENT_KT(ID_PRW)
ANL_KT=ENT_KT_ANL(ID_PRW)
SUM_ PRW =ENT_SM(ID_PRW)
‘…
ID_PRW =
OSB_GET_NENTRY ( Obj, 1)
WEND
- Для отримання перебору проводок по дебету рахунку
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
CALL OSB_DATA_CLEAR()
CALL OSB_DATA("321/1",0,"",0)
Obj = OSB_CALC( DATN,DATK, "" )
CALL OSB_ENTRY_ON( Obj )
I=0
ID = OSB_ANL_FIRST( Obj,"321/1")
WHILE ID<>0
I=I+1
SUM_ANL =OSB_DT_TURN(Obj,"321/1", ID,"", 0, "")
IF SUM_ANL <>0 THEN
ID_PRW = OSB_GET_FPENTRY ( Obj,I,"321/1", ID, "", 1 )
DO WHILE ID_PRW <> 0
SUM_ PRW =ENT_SM(ID_PRW)
…
ID_PRW = OSB_GET_NENTRY( Obj,I)
LOOP
END IF
ID = OSB_ANL_NEXT(Obj,"321/1")
WEND
- Для отримання оборотів по дебету рахунку 321/1 по аналітичній картці (ID1), і зазначених кор.рахунків тa їх аналітики
DATN=DATE_PACK(1,12,2017)
DATK=DATE_PACK(31,12,2017)
ID1= ANLCRD_ID ("321/1","3507010","1111","","","","","","","","")
ID2= ANLCRD_ ID ("701","3507010","1111","","","","","","","","")
ID3= ANLCRD_ ID ("301","1","3507010","00000001","1111","","","","","","")
CALL OSB_DATA_CLEAR()
CALL OSB_DATA( "321/1", ID1, "*", CONST_ULONG_MAX )
Obj=OSB_CALC(DATN, DATK,"")
OB_Dt1=OSB_DT_TURN( Obj, "321/1", ID1, "701", ID2 , "" )
OB_Dt2=OSB_DT_TURN( Obj, "321/1", ID1, "301", ID3 , "" )