"Картотека арбитражных дел". Запрос к картотеке из 1С (обычные формы)

25.05.16

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

Пример работы с сервисом "Картотека арбитражных дел" для проверки новых Контрагентов. Реализовано в виде внешней обработки.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Картотека арбитражных дел
.epf 9,22Kb
13
13 Скачать (1 SM) Купить за 1 850 руб.

Задача - облегчить руководству проверку "на благонадежность" новых Контрагентов.

Выбор сервиса:

1) возможность бесплатной работы (что, согласитесь, немаловажно)

2) оперативное поступление новой информации об арбитражных делах

3) быстрый ответ сервиса

ПРЕДУПРЕЖДЕНИЕ: На сайте сервиса размещена защита от роботов, поэтому количество запросов к базе данных ОГРАНИЧЕНО!!!

При превышении количества обращений блокируется IP-адрес, далее только письмо к Администратору сервиса.

Поэтому будет рассмотрен пример одиночного запроса. Сайт иногда может быть перегружен запросами, поэтому таймаут выставлен побольше.

Процедура КнопкаВыполнитьНажатие(Кнопка)

    Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Не выбран Контрагент!!!");
        Возврат;
    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(Контрагент.ИНН) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("У Контрагента не заполнен ИНН !!!");
        Возврат;
    КонецЕсли;

    Если НачПериода <> '00010101' Тогда
        НачПериодаСтрокой = """" + ДатаВремяВФорматXMLИз1СМТ(НачПериода) + """";
    Иначе
        НачПериодаСтрокой = "null";
    КонецЕсли;

    Если КонПериода <> '00010101' Тогда
        КонПериодаСтрокой = """" + ДатаВремяВФорматXMLИз1СМТ(КонПериода) + """";
    Иначе
        КонПериодаСтрокой = "null";
    КонецЕсли;

    ПостЗапрос = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");

    MSScriptControl = Новый COMОбъект("MSScriptControl.ScriptControl");
    MSScriptControl.Language = "javascript";
    Стрим = Новый COMОбъект("ADODB.Stream");
    MSScriptControl.AddObject("Стрим", Стрим);
    MSScriptControl.AddObject("Соединение", ПостЗапрос);

    Стрим.Mode = 3;
    Стрим.Type = 1;

    ПостЗапрос.SetTimeouts(50000, 50000, 50000, 50000);
    ПостЗапрос.Open("POST", "http://kad.arbitr.ru/Kad/SearchInstances", 0);

    ПостЗапрос.SetRequestHeader("Accept", "*/*");
    ПостЗапрос.SetRequestHeader("Content-Type", "application/json");

    СтрокаЗапроса = "{""Page"":1,""Count"":25,""Courts"":[],""DateFrom"":" + НачПериодаСтрокой + ",""DateTo"":" + КонПериодаСтрокой + ",""Sides"":[{""Name"":" + СокрЛП(Контрагент.ИНН) +
    ",""Type"":-1,""ExactMatch"":false}],""Judges"":[],""CaseNumbers"":[],""WithVKSInstances"":false}";

    ResponseText = "";
    Попытка
        ПостЗапрос.Send(СтрокаЗапроса);
        ПостЗапрос.WaitForResponse();
    исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

    Стрим.Open();
    Попытка
        MSScriptControl.Eval("Стрим.Write(Соединение.responseBody)");
    Исключение
        Отказ = Истина;
        Возврат;
    КонецПопытки;

    ИмяФайлаПолучения = ПолучитьИмяВременногоФайла();
    Стрим.SaveToFile(ИмяФайлаПолучения, 2);
    Стрим.Close();

    Текст = Новый ТекстовыйДокумент;
    Текст.Прочитать(ИмяФайлаПолучения, КодировкаТекста.UTF8);

    ResponseText = Текст.ПолучитьТекст();

    ДокументDOM = ПреобразоватьТекстВДом(ResponseText);

    ЭлементыDOM = ДокументDOM.ПолучитьЭлементыПоИмени("input");

    Для Каждого ЭлементDOM Из ЭлементыDOM Цикл

        Если ЭлементDOM.Идентификатор = "documentsTotalCount" И ЭлементDOM.Значение = "0" Тогда

            ResponseText = "  Арбитражных дел нет";

        КонецЕсли;

    КонецЦикла;

    EntranceText = СокрЛП(Контрагент) + " (ИНН: " + СокрЛП(Контрагент.ИНН) + ")<br>" + ResponseText;

    ЭлементыФормы.ДокументHTML.УстановитьТекст(EntranceText);

    // 2016-04-01T00:00:00 Вид даты "DateTo":"2016-04-26T23:59:59"

    Если РазбиратьТекст Тогда

        ЭлементыDOM    =  ДокументDOM.ПолучитьЭлементыПоИмени("div");

        Для Каждого ЭлементDOM Из ЭлементыDOM Цикл

            Если ЭлементDOM.ИмяКласса = "civil" Тогда
                Сообщить("Дата дела = " + СокрЛП(ЭлементDOM.ТекстовоеСодержимое));
            КонецЕсли;

            Если ЭлементDOM.ИмяКласса = "judge" Тогда
                Сообщить("Судья = " + СокрЛП(ЭлементDOM.ТекстовоеСодержимое));
            КонецЕсли;

            Если ЭлементDOM.ИмяКласса = "num_case" Тогда

                Сообщить("Номер дела = " + СокрЛП(ЭлементDOM.ТекстовоеСодержимое));

            КонецЕсли;

        КонецЦикла;

    КонецЕсли;

КонецПроцедуры
Функция ПреобразоватьТекстВДом(ТекстОтвета) Экспорт
   ЧтениеHTML = Новый ЧтениеHTML;
   ЧтениеHTML.УстановитьСтроку(ТекстОтвета);
   ПостроительDOM = Новый ПостроительDOM;
   Возврат ПостроительDOM.Прочитать(ЧтениеHTML);
КонецФункции
Функция ДатаВремяВФорматXMLИз1СМТ(лДатаВремя = Неопределено, Тип = "ДатаВремя") Экспорт

    ДатаВремя = ?(лДатаВремя = Неопределено, ТекущаяДата(), лДатаВремя);

    НужнаяДата = Формат(ДатаВремя, "ДФ=""гггг-ММ-дд""");

    НужноеВремя = Формат(ДатаВремя, "ДФ=""ЧЧ:мм:сс""");

    Если Тип = "Дата" Тогда
        НужноеЗначение = НужнаяДата;
    ИначеЕсли Тип = "Время" Тогда
        НужноеЗначение = НужноеВремя;
    Иначе
        Если ПустаяСтрока(НужнаяДата) или  ПустаяСтрока(НужноеВремя) Тогда
            Возврат "";
        КонецЕсли;
        НужноеЗначение = НужнаяДата + "T" + НужноеВремя;
    КонецЕсли;

    Возврат НужноеЗначение;

КонецФункции //ДатаВремяВФорматXMLИз1СМТ()

POST-запрос рабочий, опытный программист быстро адаптирует текст под собственные нужды. Если кому-то понадобится дополнительное "украшательство", то в конце процедуры есть пример частичного парсинга кода (нам не потребовалось).

Пользуйтесь на здоровье!

Удачи в разработке

Картотека

См. также

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

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

57600 руб.

26.11.2024    1237    1    1    

4

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

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

36000 руб.

03.08.2020    18356    20    22    

18

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

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20565    13    19    

18

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    320    2    0    

5

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

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

24000 руб.

27.09.2024    2488    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. luda_2008 19.04.17 15:19 Сейчас в теме
Спасибо огромное за обработку.Очень пригодилась.
2. bberdinskikh 25.06.18 14:19 Сейчас в теме
Ох не просто все с этим КАД. Мы при разработке своего решения на 1С с функцией интеграции с kad.arbitr намучались, они на КАД все время что-то меняют, но в итоге продукт рабочий http://you-right.ru/sudebno-pretenzionnaya-rabota
3. antonpiter 13.03.20 10:53 Сейчас в теме
Добрый день! А запросы к картотеке еще актуальны? У меня приходит ответ "Доступ к сервису недоступен по юридическим причинам!"...
4. user1420229 19.10.20 11:42 Сейчас в теме
Здравствуйте, а описание api есть у кого нибудь?
Оставьте свое сообщение