Конфа на основе БСП, выполнено подключение к сайту 1С для проверки контрагентов. Необходимо заполнить справочник контрагентов на основе списка ИНН. Создаю контрагентов, заполняю только ИНН и признак ЮрЛицо. Подскажите, какой процедурой общего модуля можно выполнить заполнение всех контрагентов по информации сайта? (интерактивно по кнопке "Заполнить ИНН" - заполняется). Что-то никак не разберусь...
---
Разобрался. Держите:

```1c
    РеквизитыКонтрагента = ДанныеЕдиныхГосРеестров.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(Стр.ИНН));
    ЗаполнитьЗначенияСвойств(КонтрагентОбъект, РеквизитыКонтрагента);
    КонтрагентОбъект.Записать();
```

Всем спасибо.
---
Более подробно - в процедуре НайтиРеквизитыНаСервере общей формы ЗаполнениеРеквизитовКонтрагента.
---
посмотри куда ведет вызов по кнопке
---
я посмотрел, потом написал сюда. Там в основном процедуры по обработке из формы (на клиенте). Но открывать каждую формочку как-то не вариант. Вот пока не разобрался думал, может кто подскажет пооперативнее. Те процедуры, которые в общих модулях, типа ПроверкаКонтрагента почему-то только проверяют без заполнения, причём ещё и КПП требуют зачем-то.
---
КПП тоже нужен - в разных говорад может быть у ЮЛ филиалы. Соответственно адреса другие и КПП тоже
---
с хожу тоже ни кто не скажет - надо хотя бы конфу назвать и версию )
---
вообще-то при заполнении происходит обращение к вебсервису "1с:Контрагент" и он по Инн возвращает реквизиты контрагента.
---
вопрос в том, каким образом инициализировать заполнение контрагентов программно на основе ИНН
---
Вот тут: http://its.1c.eu/db/metod8dev#content:5852:hdoc
---
это не то. Мне нужно что-то вроде ПроверкаКонтрагентов.ПроверитьВебСервисомФНС(ДанныеКонтрагентов, ДополнительныеПараметры). Но, не получается.
---
Насколько я понял заполнение реквизитов происходит в общемМодуле.РаботаСКонтаргентамиБП

Там есть такая процедура:

```1c
    Процедура ЗаполнитьРеквизитыКонтрагентаПоДаннымПрограммы(ИнформацияОСвязях, Контрагент)

    Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Контрагент,
    "Ссылка,Наименование,НаименованиеПолное,"
    + "ИНН,КПП,РегистрационныйНомер,"
    + "ЮридическоеФизическоеЛицо,ГосударственныйОрган,ОбособленноеПодразделение,"
    + "Родитель,Комментарий,ДополнительнаяИнформация");

    СтруктураНаименование = Отчеты.ДосьеКонтрагента.НовыеДанныеПрограммы();
    СтруктураНаименование.Ссылка = Реквизиты.Ссылка;
    СтруктураНаименование.Представление = Реквизиты.Наименование;
    СтруктураНаименование.Описание = Реквизиты.НаименованиеПолное;
    ИнформацияОСвязях.ДанныеПрограммы.Вставить("Наименование", СтруктураНаименование);

    СтруктураРеквизиты = Отчеты.ДосьеКонтрагента.НовыеДанныеПрограммы();
    СтруктураРеквизиты.Представление = СтрШаблон(НСтр("ru='ИНН %1, ОГРН %2'"),
    Реквизиты.ИНН,
    Реквизиты.РегистрационныйНомер);
    Если Реквизиты.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда
    СтруктураРеквизиты.Описание = СтрШаблон(НСтр("ru='КПП %1'"), Реквизиты.КПП);
    Если ЗначениеЗаполнено(ИнформацияОСвязях.КПП)
    И Реквизиты.КПП <> ИнформацияОСвязях.КПП Тогда
    СтруктураРеквизиты.ПримечаниеОписание = СтрШаблон(НСтр("ru='По данным ЕГРЮЛ:
    |КПП %1'"), ИнформацияОСвязях.КПП);
    КонецЕсли;
    КонецЕсли;
    ИнформацияОСвязях.ДанныеПрограммы.Вставить("Реквизиты", СтруктураРеквизиты);

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

    ИнформацияОСвязях.ДанныеПрограммы.Вставить("Родитель", Реквизиты.Родитель);
    ИнформацияОСвязях.ДанныеПрограммы.Вставить("Комментарий", Реквизиты.Комментарий);
    ИнформацияОСвязях.ДанныеПрограммы.Вставить("ДополнительнаяИнформация", Реквизиты.ДополнительнаяИнформация);

    КонецПроцедуры
```
---
Разобрался. Держите:

```1c
    РеквизитыКонтрагента = ДанныеЕдиныхГосРеестров.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(Стр.ИНН));
    ЗаполнитьЗначенияСвойств(КонтрагентОбъект, РеквизитыКонтрагента);
    КонтрагентОбъект.Записать();
```

Всем спасибо.
---
спасибо огромное))))
---
Более подробно - в процедуре НайтиРеквизитыНаСервере общей формы ЗаполнениеРеквизитовКонтрагента.
---
Если кому еще актуально: В Бухгалтерии 3.0 код такой:

РеквизитыКонтрагента = РаботаСКонтрагентами.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(ИНН));
Если СокрЛП(РеквизитыКонтрагента.ОписаниеОшибки) = "" Тогда
 ЗаполнитьЗначенияСвойств(НовКонтрагент, РеквизитыКонтрагента);
Иначе
 //Заполняем реквизиты самостоятельно
КонецЕсли;

Проверяю на пустое "ОписаниеОшибки" потому, что процедура "РеквизитыЮридическогоЛицаПоИНН" изредка возвращает ошибку "Невозможно получить реквизиты контрагента", хотя по кнопке в справочнике реквизиты заполняются нормально. Почему - пока не разобрался.
---
а у вас при этом данные контактных лиц и адреса заполняются?
---
Немного подшаманил и начало заполняться, потому как в структуре возвращается адрес временного хранилища, в которое и сложены все структуры для заполнения. Нужно их оттуда достать.

```1c
    К = Справочники.Контрагенты.создатьЭлемент();

    РеквизитыКратко = КонтрагентыФормы.ДанныеЕдиныхГосРеестровПоИНН(СокрЛП(Стр.ИНН), К.ЮридическоеФизическоеЛицо = перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо);
    Если СокрЛП(РеквизитыКратко .ОписаниеОшибки) <> " Тогда
    РеквизитыКонтрагента = ПолучитьИзВременногоХранилища(РеквизитыКратко.АдресРеквизитовКонтрагента);
    ЗаполнитьЗначенияСвойств(К, РеквизитыКонтрагента);
    К.Записать();
    КонецЕсли;
```
---
Разобрался. Держите:

```1c
    РеквизитыКонтрагента = ДанныеЕдиныхГосРеестров.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(Стр.ИНН));
    ЗаполнитьЗначенияСвойств(КонтрагентОбъект, РеквизитыКонтрагента);
    КонтрагентОбъект.Записать();
```

Хоспади. Бокал самого дорого шампанского этому господину! Спасибо!
---
РаботаСКонтрагентами.СведенияОЮридическомЛицеПоИНН(ИННОбъекта)
РаботаСКонтрагентами.РеквизитыПредпринимателяПоИНН(ИННОбъекта);
---
А как потом заполнить реквизиты контрагента?
В процедурах модуля РаботаСКонтрагентами нет процедуры ЗаполнитьЗначенияСвойств. Есть только заполнение отдельных свойств.
---
Писать програмно заполнение каждого отдельного реквизита? Или есть какой то способ вызвать другую процедуру и заполнить сразу все поля?
---
Спасибо огромное! сэкономили мне кучу времени