INITIAL COST — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Смотрите также) |
Hisava (обсуждение | вклад) м (→Текст программы) |
||
| Строка 17: | Строка 17: | ||
parameters r143_kod, data, is_nal := false | parameters r143_kod, data, is_nal := false | ||
| − | local _1, sql | + | local _1, sql, main_acnt |
| − | if | + | main_acnt := SeekRef( 'R143', r143_kod, 'MAINACNT', 1 ) |
| − | sql := [ Select EDSUM | + | |
| − | + | if Left( main_acnt, 2 ) = '01' or Empty( main_acnt ) | |
| − | + | if is_nal | |
| + | sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 3 ) = '!01' and REFL = 'R143' and KOD = ] + r143_kod | ||
| + | else | ||
| + | sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 2 ) = '01' and REFL = 'R143' and KOD = ] + r143_kod | ||
| + | endif | ||
else | else | ||
| − | sql := [ Select EDSUM | + | // нематериальные активы |
| − | + | if is_nal | |
| − | + | sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 3 ) = '!04' and REFL = 'R143' and KOD = ] + r143_kod | |
| + | else | ||
| + | sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 2 ) = '04' and REFL = 'R143' and KOD = ] + r143_kod | ||
| + | endif | ||
endif | endif | ||
| − | _1 := | + | _1 := SqlToArr( sql, { 'EDSUM' } ) |
| − | if ! | + | if !IsEmpty( _1 ) |
_1 := _1[1,1] | _1 := _1[1,1] | ||
else | else | ||
Версия 15:19, 2 февраля 2017
INITIAL_COST - это функция из справочника R266
Возвращает первоначальную стоимость основного средства
INITIAL_COST( r143_kod, data, is_nal := false )
r143_kod - код основного средства
data - дата
is_nal - логический параметр, по умолчанию false, т.е. бухгалтерский учет
Eсли is_nal = true, то функция возвращает первоначальную стоимость по налоговому учету ( счет !01 )
Текст программы
parameters r143_kod, data, is_nal := false
local _1, sql, main_acnt
main_acnt := SeekRef( 'R143', r143_kod, 'MAINACNT', 1 )
if Left( main_acnt, 2 ) = '01' or Empty( main_acnt )
if is_nal
sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 3 ) = '!01' and REFL = 'R143' and KOD = ] + r143_kod
else
sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 2 ) = '01' and REFL = 'R143' and KOD = ] + r143_kod
endif
else
// нематериальные активы
if is_nal
sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 3 ) = '!04' and REFL = 'R143' and KOD = ] + r143_kod
else
sql := [ Select EDSUM From MTUN] + Ret_f_ext( data ) + [ Where EDSUM > 0 and Left( BKACNT, 2 ) = '04' and REFL = 'R143' and KOD = ] + r143_kod
endif
endif
_1 := SqlToArr( sql, { 'EDSUM' } )
if !IsEmpty( _1 )
_1 := _1[1,1]
else
_1 := 0
endif