Загрузка данных контрагентов по УНП из ЕГР Беларусь для 1С 7.7

Обработки - Обработка справочников

Обработка получает xml-файл c данными контрагента по УНП из Государственного реестра плательщиков Республики Беларусь (http://portal.nalog.gov.by/grp/). Файл xml разбирается средствами 1С 7.7. Для получения и разбора xml используется библиотека "v7plus.dll". По УНП из файла могут быть получены такие реквизиты, как полное наименование контрагента, юридический адрес.

Код обработки - это пример скачивания файла из интернет средствами 1С 7.7, пример простого разбора xml из 1С 7.7.

Обработка тестировалось на версиях конфигураций 1С 7.7 Юкола. Бухгалтерский учет. Типовая настройка для РБ; Мисофт. Бухгалтерский учет, редакция 4,5.

Код обработки можно использовать при создании новых контрагентов для автозаполнения полного наименования и юридического адреса контрагентов при создании из формы списка или при загрузке выписок из клиент-банка.

Процедура Сформировать()
    Если ЗагрузитьВнешнююКомпоненту("v7plus.dll") <> 1 Тогда
        Сообщить("Компонента v7plus.dll не найдена!");
        Возврат;
    КонецЕсли;

    HTTPСоединение=СоздатьОбъект("AddIn.V7HttpReader");

    URL ="http://portal.nalog.gov.by/grp/getData?unp=" + СокрЛП(УНП);

    ИмяФ = КаталогИБ() + "УНП.xml";

    Попытка
        HTTPСоединение.ПолучитьКакФайл(URL,ИмяФ);
    Исключение
        Ответ = HTTPСоединение.СтрокаСостоянияОтвета;

        Сообщить(Ответ);

        Если Найти(Ответ, "400") <> 0 Тогда
            Сообщить("По УНП "+ УНП + " данные не найдены.");
        ИначеЕсли Найти(Ответ, "200") <> 0 Тогда
            Сообщить("Информация не получена");
        КонецЕсли;

        Возврат;
    КонецПопытки;

    Анализатор = СоздатьОбъект("AddIn.XMLParser");

    XML_Документ = Анализатор.СоздатьДокумент();
    Если ПустоеЗначение(XML_Документ) = 1 Тогда Возврат КонецЕсли;
    XML_Документ.Загрузить(ИмяФ);

    Колонки = XML_Документ.ПолучитьПодчиненныйПоНомеру(2);

    Для Сч=1 По Колонки.КоличествоПодчиненных() Цикл
        Элем = Колонки.ПолучитьПодчиненныйПоНомеру(Сч);
        Колонка = Элем.ВыбратьУзлы("Row");

        Наим = Элем.ПолучитьПодчиненныйПоНомеру(2).Значение;
        Адрес = Элем.ПолучитьПодчиненныйПоНомеру(4).Значение;

        Сообщить(Наим + " " + Адрес);
        Для Сч2 = 1 по Элем.КоличествоПодчиненных() Цикл
            Эл = Элем.ПолучитьПодчиненныйПоНомеру(Сч2);
            Сообщить("" + Сч2 + ") " + Эл.Значение);
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры

Пример файла xml для УНП 200676206: http://portal.nalog.gov.by/grp/getData?unp=200676206

<?xml version="1.0" encoding="UTF-8"?><ROWSET>
 <ROW>
  <VUNP>200676206</VUNP>
  <VNAIMP>Главное управление Министерства финансов Республики Беларусь по Брестской области</VNAIMP>
  <VNAIMK>Главное управление Министерства финансов Республики Беларусь по Брестской области</VNAIMK>
  <VPADRES>г Брест,ул. Коммунистическая, д.20</VPADRES>
  <DREG>27.07.1998</DREG>
  <NMNS>232</NMNS>
  <VMNS>Инспекция МНС по Ленинскому району г.Бреста </VMNS>
  <CKODSOST>1</CKODSOST>
  <VKODS>Действующий</VKODS>
  <DLIKV/>
  <VLIKV/>
 </ROW>
</ROWSET>

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

Наименование Файл Версия Размер
Загрузка данных из ЕГР Беларусь для 1С 7.7:
.ert 72,50Kb
07.04.18
0
.ert 72,50Kb Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение