Программное заполнение контрагентов по ИНН (через сайт)
Конфа на основе БСП, выполнено подключение к сайту 1С для проверки контрагентов. Необходимо заполнить справочник контрагентов на основе списка ИНН. Создаю контрагентов, заполняю только ИНН и признак ЮрЛицо. Подскажите, какой процедурой общего модуля можно выполнить заполнение всех контрагентов по информации сайта? (интерактивно по кнопке "Заполнить ИНН" - заполняется). Что-то никак не разберусь...
По теме из базы знаний
- Загрузка из Excel книги покупок и книги продаж в 1С:Налогоплательщик 8.3 (релиз 3.0.244.1) для последующего формирования декларации НДС 2015-2024
- Пример переноса справочников, документов и движений через Эксель и "Конвертацию данных 2" из оптовой учетной системы 1С 7.7 Комплексной 4.2 и розничной учетной системы Рарус Торговый комплекс -> в 1С 8.3 ЕРП 2.4 (расширение и дополнительные реквизиты)
- Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.
- Обмен 1С с Честным Знаком для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
- 1C:EDI - сервис для обмена электронными данными с торговыми сетями
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) я посмотрел, потом написал сюда. Там в основном процедуры по обработке из формы (на клиенте). Но открывать каждую формочку как-то не вариант. Вот пока не разобрался думал, может кто подскажет пооперативнее. Те процедуры, которые в общих модулях, типа ПроверкаКонтрагента почему-то только проверяют без заполнения, причём ещё и КПП требуют зачем-то.
Насколько я понял заполнение реквизитов происходит в общемМодуле.РаботаСКонтаргентамиБП
Там есть такая процедура:
Там есть такая процедура:
Процедура ЗаполнитьРеквизитыКонтрагентаПоДаннымПрограммы(ИнформацияОСвязях, Контрагент)
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Контрагент,
"Ссылка,Наименование,НаименованиеПолное,"
+ "ИНН,КПП,РегистрационныйНомер,"
+ "ЮридическоеФизическоеЛицо,ГосударственныйОрган,ОбособленноеПодразделение,"
+ "Родитель,Комментарий,ДополнительнаяИнформация");
СтруктураНаименование = Отчеты.ДосьеКонтрагента.НовыеДанныеПрограммы();
СтруктураНаименование.Ссылка = Реквизиты.Ссылка;
СтруктураНаименование.Представление = Реквизиты.Наименование;
СтруктураНаименование.Описание = Реквизиты.НаименованиеПолное;
ИнформацияОСвязях.ДанныеПрограммы.Вставить("Наименование", СтруктураНаименование);
СтруктураРеквизиты = Отчеты.ДосьеКонтрагента.НовыеДанныеПрограммы();
СтруктураРеквизиты.Представление = СтрШаблон(НСтр("ru='ИНН %1, ОГРН %2'"),
Реквизиты.ИНН,
Реквизиты.РегистрационныйНомер);
Если Реквизиты.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда
СтруктураРеквизиты.Описание = СтрШаблон(НСтр("ru='КПП %1'"), Реквизиты.КПП);
Если ЗначениеЗаполнено(ИнформацияОСвязях.КПП)
И Реквизиты.КПП <> ИнформацияОСвязях.КПП Тогда
СтруктураРеквизиты.ПримечаниеОписание = СтрШаблон(НСтр("ru='По данным ЕГРЮЛ:
|КПП %1'"), ИнформацияОСвязях.КПП);
КонецЕсли;
КонецЕсли;
ИнформацияОСвязях.ДанныеПрограммы.Вставить("Реквизиты", СтруктураРеквизиты);
Если Реквизиты.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда
ВидКонтрагента = НСтр("ru='Физическое лицо'");
ИначеЕсли Реквизиты.ГосударственныйОрган Тогда
ВидКонтрагента = НСтр("ru='Государственный орган'");
ИначеЕсли Реквизиты.ОбособленноеПодразделение Тогда
ВидКонтрагента = НСтр("ru='Обособленное подразделение'");
Иначе
ВидКонтрагента = НСтр("ru='Юридическое лицо'");
КонецЕсли;
ИнформацияОСвязях.ДанныеПрограммы.Вставить("ВидКонтрагента", ВидКонтрагента);
ИнформацияОСвязях.ДанныеПрограммы.Вставить("Родитель", Реквизиты.Родитель);
ИнформацияОСвязях.ДанныеПрограммы.Вставить("Комментарий", Реквизиты.Комментарий);
ИнформацияОСвязях.ДанныеПрограммы.Вставить("ДополнительнаяИнформация", Реквизиты.ДополнительнаяИнформация);
КонецПроцедуры
Показать
Разобрался. Держите:
Всем спасибо.
РеквизитыКонтрагента = ДанныеЕдиныхГосРеестров.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(Стр.ИНН));
ЗаполнитьЗначенияСвойств(КонтрагентОбъект, РеквизитыКонтрагента);
КонтрагентОбъект.Записать();
Всем спасибо.
Если кому еще актуально: В Бухгалтерии 3.0 код такой:
РеквизитыКонтрагента = РаботаСКонтрагентами.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(ИНН));
Если СокрЛП(РеквизитыКонтрагента.ОписаниеОшибки) = "" Тогда
ЗаполнитьЗначенияСвойств(НовКонтрагент, РеквизитыКонтрагента);
Иначе
//Заполняем реквизиты самостоятельно
КонецЕсли;
Проверяю на пустое "ОписаниеОшибки" потому, что процедура "РеквизитыЮридическогоЛицаПоИНН" изредка возвращает ошибку "Невозможно получить реквизиты контрагента", хотя по кнопке в справочнике реквизиты заполняются нормально. Почему - пока не разобрался.
РеквизитыКонтрагента = РаботаСКонтрагентами.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(ИНН));
Если СокрЛП(РеквизитыКонтрагента.ОписаниеОшибки) = "" Тогда
ЗаполнитьЗначенияСвойств(НовКонтрагент, РеквизитыКонтрагента);
Иначе
//Заполняем реквизиты самостоятельно
КонецЕсли;
Проверяю на пустое "ОписаниеОшибки" потому, что процедура "РеквизитыЮридическогоЛицаПоИНН" изредка возвращает ошибку "Невозможно получить реквизиты контрагента", хотя по кнопке в справочнике реквизиты заполняются нормально. Почему - пока не разобрался.
(15)
Немного подшаманил и начало заполняться, потому как в структуре возвращается адрес временного хранилища, в которое и сложены все структуры для заполнения. Нужно их оттуда достать.
Немного подшаманил и начало заполняться, потому как в структуре возвращается адрес временного хранилища, в которое и сложены все структуры для заполнения. Нужно их оттуда достать.
К = Справочники.Контрагенты.создатьЭлемент();
РеквизитыКратко = КонтрагентыФормы.ДанныеЕдиныхГосРеестровПоИНН(СокрЛП(Стр.ИНН), К.ЮридическоеФизическоеЛицо = перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо);
Если СокрЛП(РеквизитыКратко .ОписаниеОшибки) <> "" Тогда
РеквизитыКонтрагента = ПолучитьИзВременногоХранилища(РеквизитыКратко.АдресРеквизитовКонтрагента);
ЗаполнитьЗначенияСвойств(К, РеквизитыКонтрагента);
К.Записать();
КонецЕсли;
ПоказатьРазобрался. Держите:
РеквизитыКонтрагента = ДанныеЕдиныхГосРеестров.РеквизитыЮридическогоЛицаПоИНН(СокрЛП(Стр.ИНН));
ЗаполнитьЗначенияСвойств(КонтрагентОбъект, РеквизитыКонтрагента);
КонтрагентОбъект.Записать();
Хоспади. Бокал самого дорого шампанского этому господину! Спасибо!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот