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

21.09.17

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Загрузка адреса юридического лица из ЕГРЮЛ:
.epf 8,25Kb ver:1.0
52
52 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

См. также

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    34465    65    45    

26

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2449    2    0    

9

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    2182    1    1    

4

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18973    21    22    

18

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    3815    3    2    

4

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

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

12000 руб.

02.02.2021    18730    53    50    

29

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    756    3    1    

5

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    92803    188    217    

342
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 43 28.09.17 14:40 Сейчас в теме
3. if74 02.10.17 00:12 Сейчас в теме
Спасибо! Пригодилась!
AlexandrSmith; +1 Ответить
4. Eva_V 18.10.17 20:39 Сейчас в теме
Позволяет ли эта обработка передавать список контрагентов?
5. =Kollega= 6 02.11.17 17:35 Сейчас в теме
Нет, только 1 контрагент для 1 запроса.
Оставьте свое сообщение