INITIAL COST — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Смотрите также)
м (Текст программы)
Строка 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 is_nal
+
main_acnt := SeekRef( 'R143', r143_kod, 'MAINACNT', 1 )
   sql := [ Select EDSUM ;
+
    From MTUN] + [[Ret_f_ext]]( data ) + [ ;
+
  if Left( main_acnt, 2 ) = '01' or Empty( main_acnt )
     Where [[Left]]( BKACNT, 3 ) = '!01' and REFL = 'R143' and KOD = ] + r143_kod
+
   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 ;
+
   // нематериальные активы
    From MTUN] + [[Ret_f_ext]]( data ) + [ ;
+
  if is_nal
     Where [[Left]]( BKACNT, 2 ) = '01' and REFL = 'R143' and KOD = ] + r143_kod
+
    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 := [[SqlToArr]]( sql, { 'EDSUM' } )
+
  _1 := SqlToArr( sql, { 'EDSUM' } )
 
   
 
   
  if ![[IsEmpty]]( _1 )
+
  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

Смотрите также

REST_SUM

AMORT_SUM

Функции Delphi

Полезные функции