Загрузка адреса юридического лица из ЕГРЮЛ

21.09.17

Интеграция - WEB-интеграция

Обработка позволяет актуализировать адрес контрагента из ЕГРЮЛ. Актуальна в виду вступления в силу Постановления Правительства РФ от 19.08.2017 № 981. Работает с сайтом ИФНС и не требует никаких активных учетных записей. Имеется возможность доработать под себя

Скачать файлы

Наименование Файл Версия Размер
Загрузка адреса юридического лица из ЕГРЮЛ:
.epf 8,25Kb
52
.epf 1.0 8,25Kb 52 Скачать

Обработка позволяет актуализировать адрес контрагента из ЕГРЮЛ. Актуальна в виду вступления в силу Постановления Правительства РФ от 19.08.2017 № 981. Работает с сайтом ИФНС и не требует никаких активных учетных записей. Необходимо участие пользователя для ввода капчи.

Просто интегрируется в вашу систему - достаточно просто скопировать форму из обработки и при открытии передавать в параметрах ИНН. По закрытию форма возвращает полученный адрес.

Пример подключения:

    ПараметрыОткрытия = Новый Структура("ИНН", ИНН);
    АдресЕГРЮЛ = ОткрытьФормуМодально("Справочник.Контрагенты.Форма.ФормаПолученияАдресаИзЕГРЮЛ", ПараметрыОткрытия);
    Если ЗначениеЗаполнено(АдресЕГРЮЛ) Тогда
        Запись = Неопределено;
        Для Каждого ЭлементНабора Из НаборКонтактнойИнформации Цикл
            Если ЭлементНабора.Вид.Наименование = "Адрес ЕГРЮЛ" Тогда
                Запись = ЭлементНабора;
                Прервать;
            КонецЕсли;
        КонецЦикла;
        Если Запись = Неопределено Тогда
            Запись = НаборКонтактнойИнформации.Добавить();
        КонецЕсли;
        Запись.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Адрес ЕГРЮЛ");
        Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
        Запись.Представление = АдресЕГРЮЛ;
    КонецЕсли;

Для разработчиков на форме есть скрытые поля, для контроля результатов обращения к серверу ИФНС.

Тестировалось на платформе 8.3.10.2561. В конфигурациях "Библиотека стандартных подсистем", редакции 2.3. (2.3.4.45)  и Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.06.04)

ЕГРЮЛ Контрагенты Постановления Правительства РФ от 19.08.2017 № 981

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15655    9    17    

9

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12809    30    8    

10

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17419    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25686    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16253    41    49    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. oldfornit 21.09.17 17:49 Сейчас в теме
потрясающе!
Восхитительная смесь управляемых форм, модальных открытий и совершенно неприспособленного для работы интерфейса.

Бесплатно, то есть даром, дам рабочий код.

//
// Параметры:
//  ИНН     - Строка - ИНН организации
// 
// Возвращаемое значение:
// Структура  - ЮрЛицо, ДатаРегистрации, НаименованиеПолное, НаименованиеКраткое,
//        ОКОПФ, КПП, ОГРН, РуководительДолжность, РуководительФИО, АдресЮридический
//
Функция ДанныеКонтрагентаПоИНН(Знач ИНН) Экспорт
    
    // подробности см https://dadata.ru/api/suggest/
    
    // резервный токен
     Токен = "ваш полученный токен";
    
    Если Неопределено = Токен Тогда
        Возврат Неопределено;
    КонецЕсли; 
    
    АдресСервиса = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party";
    
    Ошибка = Ложь;
    Ответ = Неопределено;
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json");
    Заголовки.Вставить("Authorization", "Token " + Токен);
    Заголовки.Вставить("Accept", "application/json");
    
    ТелоЗапроса = "{""query"" : """ + ИНН + """ }";
    
    ВыполнитьHTTPЗапросPOST(АдресСервиса, 1, Заголовки, ТелоЗапроса, Ответ, Ошибка);
    
    Если Ошибка Тогда
        Возврат Неопределено;
    КонецЕсли;
    
    ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();
    
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
    
    ДанныеСервиса = ПрочитатьJSON(ЧтениеJSON, Истина);
    ЧтениеJSON.Закрыть();
    
    ПолученныеДанныеСервиса = ДанныеСервиса.Получить("suggestions");
    Если ПолученныеДанныеСервиса = Неопределено Тогда
        Возврат Неопределено;
    КонецЕсли; 
    
    ДанныеКонтрагента = Новый Структура("ЮрЛицо, ДатаРегистрации, НаименованиеПолное, НаименованиеКраткое,
    |ОКОПФ, КПП, ОГРН, РуководительДолжность, РуководительФИО, АдресЮридический");   
    Для каждого ДанныеСервиса Из ПолученныеДанныеСервиса Цикл
        промДанныеКонтрагента = ДанныеСервиса.Получить("data");
        
        Если Неопределено = промДанныеКонтрагента Тогда
            Продолжить;
        КонецЕсли; 
        
        Если Не ЗначениеЗаполнено(промДанныеКонтрагента["state"]["actuality_date"]) Тогда
            Продолжить;
        КонецЕсли;
        
        Если ВРЕГ(промДанныеКонтрагента["state"]["status"]) = "LIQUIDATED"  Тогда
            Продолжить;
        КонецЕсли; 
        
        Если Неопределено = промДанныеКонтрагента["state"]["registration_date"] Тогда
        	Продолжить;
        КонецЕсли; 
        
        Если ЗначениеЗаполнено(ДанныеКонтрагента.ДатаРегистрации) 
            И ДанныеКонтрагента.ДатаРегистрации > (Дата("19700101") + промДанныеКонтрагента["state"]["registration_date"]/1000) Тогда
            Продолжить;
        КонецЕсли; 
        
        ДанныеКонтрагента.Юрлицо                = ВРЕГ(промДанныеКонтрагента["type"]) = "LEGAL";
        ДанныеКонтрагента.ДатаРегистрации       = Дата("19700101") + промДанныеКонтрагента["state"]["registration_date"]/1000;
        ДанныеКонтрагента.НаименованиеКраткое   = промДанныеКонтрагента["name"]["short_with_opf"];
        ДанныеКонтрагента.НаименованиеПолное    = промДанныеКонтрагента["name"]["full_with_opf"];
        ДанныеКонтрагента.ОКОПФ                 = промДанныеКонтрагента["opf"]["short"];
        ДанныеКонтрагента.КПП                   = промДанныеКонтрагента["kpp"];
        ДанныеКонтрагента.ОГРН                  = промДанныеКонтрагента["ogrn"];
        Если "INDIVIDUAL" = ВРЕГ(промДанныеКонтрагента["type"])Тогда
            ДанныеКонтрагента.РуководительДолжность = промДанныеКонтрагента["opf"]["full"];
            ДанныеКонтрагента.РуководительФИО       = промДанныеКонтрагента["name"]["full"];
        Иначе
            Если Неопределено = промДанныеКонтрагента["management"] Тогда
                ДанныеКонтрагента.РуководительДолжность = "";
                ДанныеКонтрагента.РуководительФИО       = "";
            Иначе
                ДанныеКонтрагента.РуководительДолжность = промДанныеКонтрагента["management"]["post"];
                ДанныеКонтрагента.РуководительФИО       = промДанныеКонтрагента["management"]["name"];
            КонецЕсли; 
            
        КонецЕсли; 
        
        ДанныеКонтрагента.АдресЮридический      = ? (Неопределено = промДанныеКонтрагента["address"], "", промДанныеКонтрагента["address"]["unrestricted_value"]);
    КонецЦикла; 
    
    Если Не ЗначениеЗаполнено(ДанныеКонтрагента.Юрлицо) Тогда
    	ДанныеКонтрагента = Неопределено;
    КонецЕсли; 
    
    Возврат ДанныеКонтрагента;
    
КонецФункции

Процедура ВыполнитьHTTPЗапросPOST(Знач АдресРесурса, Знач ЧастейПутиВАдресе = 0, Знач Заголовки = Неопределено, Знач ТелоЗапроса = Неопределено, Результат, Ошибка = Ложь) Экспорт
    
    СтруктураURI = СтруктураURI(АдресРесурса);
    
    АдресРесурса = СтруктураURI.Хост;
    
    Если ЧастейПутиВАдресе > 0 Тогда
        ЧастиПути = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтруктураURI.ПутьНаСервере, "/", Истина);
        Для Счетчик = 1 По ЧастейПутиВАдресе Цикл
        	АдресРесурса = АдресРесурса + "/" + ЧастиПути[Счетчик - 1];
        КонецЦикла; 
        
        ПутьНаСервере = "";
        
        Для Подсчетчик = Счетчик По ЧастиПути.Количество() Цикл
        	ПутьНаСервере = ПутьНаСервере + ЧастиПути[Подсчетчик - 1] + "/";
        КонецЦикла; 
        
    Иначе
        ПутьНаСервере = СтруктураURI.ПутьНаСервере;
    КонецЕсли; 
    
    ЗащищенноеСоединение = Неопределено;
    
    Если "https" = СтруктураURI.Схема Тогда
    	ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;
    КонецЕсли; 
    
    HTTPСоединение = Новый HTTPСоединение(АдресРесурса, СтруктураURI.Порт, , , , , ЗащищенноеСоединение); 
    
    Запрос = Новый HTTPЗапрос(ПутьНаСервере);
    
    Если ЗначениеЗаполнено(Заголовки) Тогда
    	Запрос.Заголовки = Заголовки;
    КонецЕсли; 
    
    Если ЗначениеЗаполнено(ТелоЗапроса) И ТипЗнч(ТелоЗапроса) = Тип("Строка") Тогда
    	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
    КонецЕсли; 
    
    Попытка
    	Результат = HTTPСоединение.ОтправитьДляОбработки(Запрос);
    Исключение
        Ошибка = Истина;
        Возврат;
    КонецПопытки;
    
    Если Результат.КодСостояния > 300 Тогда
    	Ошибка = Истина;
    КонецЕсли; 
    
КонецПроцедуры

Функция СтруктураURI(Знач СтрокаURI) Экспорт
	
	СтрокаURI = СокрЛП(СтрокаURI);
	
	// схема
	Схема = "";
	Позиция = СтрНайти(СтрокаURI, "://");
	Если Позиция > 0 Тогда
		Схема = НРег(Лев(СтрокаURI, Позиция - 1));
		СтрокаURI = Сред(СтрокаURI, Позиция + 3);
	КонецЕсли;

	// Строка соединения и путь на сервере.
	СтрокаСоединения = СтрокаURI;
	ПутьНаСервере = "";
	Позиция = СтрНайти(СтрокаСоединения, "/");
	Если Позиция > 0 Тогда
		ПутьНаСервере = Сред(СтрокаСоединения, Позиция + 1);
		СтрокаСоединения = Лев(СтрокаСоединения, Позиция - 1);
	КонецЕсли;
		
	// Информация пользователя и имя сервера.
	СтрокаАвторизации = "";
	ИмяСервера = СтрокаСоединения;
	Позиция = СтрНайти(СтрокаСоединения, "@");
	Если Позиция > 0 Тогда
		СтрокаАвторизации = Лев(СтрокаСоединения, Позиция - 1);
		ИмяСервера = Сред(СтрокаСоединения, Позиция + 1);
	КонецЕсли;
	
	// логин и пароль
	Логин = СтрокаАвторизации;
	Пароль = "";
	Позиция = СтрНайти(СтрокаАвторизации, ":");
	Если Позиция > 0 Тогда
		Логин = Лев(СтрокаАвторизации, Позиция - 1);
		Пароль = Сред(СтрокаАвторизации, Позиция + 1);
	КонецЕсли;
	
	// хост и порт
	Хост = ИмяСервера;
	Порт = "";
	Позиция = СтрНайти(ИмяСервера, ":");
	Если Позиция > 0 Тогда
		Хост = Лев(ИмяСервера, Позиция - 1);
		Порт = Сред(ИмяСервера, Позиция + 1);
		Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Порт) Тогда
			Порт = "";
		КонецЕсли;
	КонецЕсли;
	
	Результат = Новый Структура;
	Результат.Вставить("Схема", Схема);
	Результат.Вставить("Логин", Логин);
	Результат.Вставить("Пароль", Пароль);
	Результат.Вставить("ИмяСервера", ИмяСервера);
	Результат.Вставить("Хост", Хост);
	Результат.Вставить("Порт", ?(ПустаяСтрока(Порт), Неопределено, Число(Порт)));
	Результат.Вставить("ПутьНаСервере", ПутьНаСервере);
	
	Возврат Результат;
	
КонецФункции

Показать
2. German_Tagil 42 28.09.17 14:40 Сейчас в теме
3. if74 02.10.17 00:12 Сейчас в теме
Спасибо! Пригодилась!
AlexandrSmith; +1 Ответить
4. Eva_V 18.10.17 20:39 Сейчас в теме
Позволяет ли эта обработка передавать список контрагентов?
5. =Kollega= 3 02.11.17 17:35 Сейчас в теме
Нет, только 1 контрагент для 1 запроса.
Оставьте свое сообщение