RET R01 KOD — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «RET_R01_KOD - это программа из справочника R266 Вернуть код организации по ИНН RET_R01_KOD( inn, n…») |
Hisava (обсуждение | вклад) м (→Текст) |
||
Строка 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 )