RET R01 KOD — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «RET_R01_KOD - это программа из справочника R266 Вернуть код организации по ИНН RET_R01_KOD( inn, n…»)
 
м (Текст)
Строка 3: Строка 3:
 
[[RET_R01_KOD]]( inn, name, full_name, kpp, adr, ogrn, num, data )
 
[[RET_R01_KOD]]( inn, name, full_name, kpp, adr, ogrn, num, data )
 
= Текст =
 
= Текст =
 +
parameters inn, name, full_name, kpp, adr, ogrn, num, data
 +
 +
local sql, kod, auto_id, r01
 +
 +
result := SeekRef( 'R01', PADL( ALLTRIM( inn ), 20 ), 'KOD', 3 )
 +
 +
if Empty( result )
 +
  // организация не найдена
 +
  sql := [ Select MAX( KOD ) From R01 ]
 +
  kod := SqlToArr( sql,, ReflisPath )
 +
  if kod = 99999
 +
    kod := 1
 +
    auto_id := SeekRef( 'R01', kod, 'AUTO_ID', 1 )
 +
    while !Empty( auto_id )
 +
      kod := kod + 1
 +
      auto_id := SeekRef( 'R01', kod, 'AUTO_ID', 1 )
 +
    end
 +
  else
 +
    kod := kod + 1
 +
  endif
 +
 +
  try
 +
    r01 := OpenKlsf( 'R01' )
 +
    ( r01 )->( DbAppend() )
 +
    ( r01 )->KOD      := kod
 +
    ( r01 )->PNAME    := ALLTRIM( name )
 +
    ( r01 )->NAME_CUST := ALLTRIM( full_name )
 +
    ( r01 )->PIND      := ALLTRIM( inn )
 +
    ( r01 )->KPP      := ALLTRIM( kpp )
 +
    ( r01 )->ADRES    := ALLTRIM( adr )
 +
    ( r01 )->OGRN      := ALLTRIM( ogrn )
 +
    // ( r01 )->REG_NUM  := atr( num )
 +
    ( r01 )->REG_DATE  := data
 +
    ( r01 )->( Refresh() )
 +
  finally
 +
    CloseKlsf( r01 )
 +
  end
 +
 +
  result := kod
 +
 +
endif
 +
 +
// kod_maker := RET_R01_KOD( inn_maker, name_maker, kpp_maker, adr_maker, ogrn_maker, num_maker, data_maker )
  
 
= Смотрите также =
 
= Смотрите также =

Версия 09:51, 20 сентября 2018

RET_R01_KOD - это программа из справочника R266

Вернуть код организации по ИНН

RET_R01_KOD( inn, name, full_name, kpp, adr, ogrn, num, data )

Текст

parameters inn, name, full_name, kpp, adr, ogrn, num, data

local sql, kod, auto_id, r01

result := SeekRef( 'R01', PADL( ALLTRIM( inn ), 20 ), 'KOD', 3 )

if Empty( result )
  // организация не найдена
  sql := [ Select MAX( KOD ) From R01 ]
  kod := SqlToArr( sql,, ReflisPath )
  if kod = 99999
    kod := 1
    auto_id := SeekRef( 'R01', kod, 'AUTO_ID', 1 )
    while !Empty( auto_id )
      kod := kod + 1
      auto_id := SeekRef( 'R01', kod, 'AUTO_ID', 1 )
    end
  else
    kod := kod + 1
  endif

  try
    r01 := OpenKlsf( 'R01' )
    ( r01 )->( DbAppend() )
    ( r01 )->KOD       := kod
    ( r01 )->PNAME     := ALLTRIM( name )
    ( r01 )->NAME_CUST := ALLTRIM( full_name )
    ( r01 )->PIND      := ALLTRIM( inn )
    ( r01 )->KPP       := ALLTRIM( kpp )
    ( r01 )->ADRES     := ALLTRIM( adr )
    ( r01 )->OGRN      := ALLTRIM( ogrn )
    // ( r01 )->REG_NUM   := atr( num )
    ( r01 )->REG_DATE  := data
    ( r01 )->( Refresh() )
  finally
    CloseKlsf( r01 )
  end

  result := kod

endif

// kod_maker := RET_R01_KOD( inn_maker, name_maker, kpp_maker, adr_maker, ogrn_maker, num_maker, data_maker )

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

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

Функции Delphi