Пример организации HTTP сервиса на 1С: Документооборот. Источник 1С: ЕРП => Приемник 1С: Документооборот

13.05.21

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

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

1. Создаем HTTP-сервис с типом POST в 1С ДО, обзываем его МСУ_BusinessProcess.

Указываем название для Корневого URL, указываем название шаблона и метод обработки(наш обработчик на языке 1С).


 

 

 

 

2. В Обработчике описываем все то, что должно произойти по запросу из вне - фантазия на выбор разработчика безгранична. В нашем конкретном примере будем прерывать процесс по предмету.

Вернем результат запроса туда, откуда он пришел, в нашем случае в 1С: ЕРП.

Возвращаться может все, что угодно (текст, XML, json и т.д.), мы вернем текст в json

 

//обработчик указанный нами в http-сервисе
Функция ПрерываниеПроцессаПрерываниеПроцесса(Запрос)   

    Строка = "Все ОК"; //если обработка успешна, вернем как результат прерывания процесса в виде сообщения в 1С ЕРП
        
    Возврат Новый HTTPСервисОтвет(ПрочитатьJSON(Запрос, Строка));

КонецФункции


//Обработаем запрос и вернем результат обработки в источник
Функция ПрочитатьJSON(Запрос,Строка) Экспорт
    
     СтрокаJSON = Запрос.ПолучитьТелоКакСтроку(); //вытащим то, что указано в теле запроса
    
     ЧтениеJSON = Новый ЧтениеJSON();
     ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
     
     Массив = ПрочитатьJSON(ЧтениеJSON); //тут должны содержаться идентификаторы предметов, которые нам передали из 1С ЕРП

     Для Каждого СтрокаМассива Из Массив Цикл
         Предмет = Справочники.ВнутренниеДокументы.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаМассива)); 
         Если НЕ Предмет.Пустая() Тогда
         ПрерватьПроцессПоПредмету(Предмет);
         КодОтвета = "200";
         Иначе
         Строка = "Не найден Документ с Идентификаторм "+СтрокаJSON;
         КодОтвета = "404";
         КонецЕсли;
     КонецЦикла;
     
     Ответ = Новый HTTPСервисОтвет(КодОтвета);
     
     ЗаписьJSON = Новый ЗаписьJSON();
     ЗаписьJSON.УстановитьСтроку();

     ЗаписатьJSON(ЗаписьJSON, Строка);

     Ответ.УстановитьТелоИзСтроки(ЗаписьJSON.Закрыть());
     

     Возврат Ответ; 

 КонецФункции


Сохраняем наши изменения в базу.

Публикуем созданный нами http-сервис из конфигуратора (вебсервер, естественно, должен быть уже развернут).

3. В другой базе, например, 1С: ЕРП создаем обработку вида


 

4. На кнопку обработки Post вешаем обработчики
 

&НаКлиенте
Процедура Post(Команда)
    PostНаСервере();
КонецПроцедуры


&НаСервере
Функция PostНаСервере()
    //нужно что то сообщить нам как всё прошо при передачи запроса в 1С ДО
    Сообщение = Новый СообщениеПользователю; 
    
    //полные параметры соединения
    Соединение = Новый HTTPСоединение(
        "SRV-1C" // Имя сервера (хост), иногда указывается внутри домена как SRV-1C.Local
        ,80     // порт, по умолчанию для http используется 80, для https 443
        ,"User"    // пользователь для доступа к серверу (если в базе 1С к которой коннектимся есть хотя бы 1 пользователь)
        ,"Parol"    // пароль для доступа к серверу (если в базе 1С к которой коннектимся есть хотя бы 1 пользователь)
        ,// здесь указывается прокси, если он есть
        ,// таймаут в секундах, 0 или пусто - не устанавливать
         //Новый ЗащищенноеСоединениеOpenSSL()  - если соединение через https 
        );
 
    
    //каталог публикации базы + обязательно "hs" + корневой каталог + Шаблон
    // Полная строка для браузера выглядит так: SRV-1C/doc_work/hs/BusinessProcess/abort_bp/
    АдресРесурса = "/doc_work/hs/BusinessProcess/abort_bp/";
    
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "text/plain;charset=UTF-8"); //можно передать не текст а эксемель "application/xml" 
    
    HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);    
    
    СтрокаJSON = ПолучитьJSONСтроку(); //Сформируем JSONСтроку для передачи ее в теле запроса. Это по стути те данные, которые мы хотим передать.
    
    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON);
    
    Попытка  //отправляем данные
        Результат = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
        Сообщить(Результат.ПолучитьТелоКакСтроку());
    Исключение
        Сообщение.Текст = ОписаниеОшибки();
        Сообщение.Сообщить();
        Возврат Ложь;
    КонецПопытки;
    
КонецФункции

&НаСервере
Функция ПолучитьJSONСтроку()
    
    Массив = Новый Массив;
    Массив.Добавить(Строка(Заявка.УникальныйИдентификатор()));
    ЗаписьJSON = Новый ЗаписьJSON();
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, Массив);
    
    Возврат ЗаписьJSON.Закрыть();

КонецФункции


Итогом данной организационной модели реализации взаимодействия двух программ становится передача в теле JSON строки с уникальным идентификатором предмета в виде Заявки на расходование денежных средств.

При обработке запроса http-сервис выполнит процедуру прерывания процессов в базе 1С ДО и вернет результат обработки запроса.

Пример можно использовать как на передачу, так и на получение запросов на исполнение, и реализовывать свои модели http-сервисов между различными системами и не только 1С<>1С но и сторонними микросервисами. 

HTTP сервис запрос REST

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

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

36000 руб.

03.08.2020    15968    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

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

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17960    9    15    

12

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

28000 25200 руб.

28.05.2015    84948    26    51    

50

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС 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    89089    163    216    

319

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25899    9    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. edd_n 17.03.23 20:53 Сейчас в теме
У тебя не отмечено, что передаваться могут и двоичные данные. А это важно!
2. Flover 66 28.03.23 16:26 Сейчас в теме
(1) >>Возвращаться может все, что угодно (текст, XML, json и т.д.), мы вернем текст в json

Просто кто то не умеет читать.
3. edd_n 31.03.23 04:18 Сейчас в теме
(2) Считаю, что важно отметить в предложении именно двоичные данные, потому как складывается впечатление у читающего, что речь идёт исключительно о текстовой информации в том или ином формате. Надо уметь прислушиваться к конструктивной критике со свежим взглядом на старый текст.
4. Flover 66 31.03.23 15:34 Сейчас в теме
из 120 тыс просмотров вы один такой уникальный, остальным это и так понятно.
Оставьте свое сообщение