restlerпакет
с апстрима
Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.
opm install restlerУстановка на opm младше 1.7.0
Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.
Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.
{
"СервераПакетов": [
{
"Имя": "default",
"Сервер": "https://hub.1cdevelopers.ru",
"Порт": 443,
"ПутьНаСервере": "/api/v1/pools/default/download/",
"РесурсПубликацииПакетов": "/api/v1/pools/default/push",
"Приоритет": 1
}
]
}И ставьте пакет, указывая сервер:
opm install -m default restlerОписание
restler
Помощник работы с различными RestAPI
Назначение
Более удобная работа с JSON API, инкапсулирующая HTTPЗапросы и Ответы в вызовы методов.
Клиент = Новый КлиентВебAPI();
Клиент.ИспользоватьСоединение(httpСоединениеСНастроеннойАвторизациейСертификатамиETC);
ИнформацияОПродажах = Клиент.Получить("sales/totals");
Для Каждого Инфо Из ИнформацияОПродажах Цикл
Сообщить(СтрШаблон("Продано товара %1 на сумму %2", Инфо["nomenclature"], Инфо["sum"]));
КонецЦикла;
и удобная работа с OData от 1С
СоединениеERP = Новый HTTPСоединение("https://erp.example.com", 443, "superadmin", "supersecret");
КлиентERP = Новый КлиентOData();
КлиентERP.ИспользоватьСоединениеИнформационнойБазы(СоединениеERP, "prod");
ДокументМенеджерЗаказПокупателя = КлиентERP.Документ("ЗаказПокупателя");
ЗаказыПокупателей = ДокументМенеджерЗаказПокупателя.ПолучитьВсе();
Для Каждого Заказ Из ЗаказыПокупателей Цикл
Сообщить(СтрШаблон("Заказ %1 - на сумму %2", Заказ["Number"], Заказ["СуммаДокумента"]), СтатусСообщения.Важное);
Контрагент = КлиентERP.Справочник("Контрагенты").ПолучитьСсылку(Заказ["Контрагент_Key"]);
Сообщить(СтрШаблон("Контрагент %1 - вида %2", Контрагент["Description"], Контрагент["ВидКонтрагента"]), СтатусСообщения.Важное);
КонецЦикла;
// создание элементов
РезультатПоиска = КлиентERP.Справочник("КонтактныеЛица").ТабличнаяЧасть("КонтактнаяИнформация").ОтборПоРеквизиту("Представление", Клиент["email"]);
Если РезультатПоиска.Количество() = 0 Тогда
РекзвитыСоздания = Новый Соответствие;
РекзвитыСоздания.Вставить("Комментарий", "Загружено автоматически из oscript.restler");
СтрокаТабличнойЧасти = Новый Соответствие;
СтрокаТабличнойЧасти.Вставить("Представление", Клиент["email"]);
СтрокаТабличнойЧасти.Вставить("Тип", "АдресЭлектроннойПочты");
мКонтактнаяИнформация = Новый Массив();
мКонтактнаяИнформация.Добавить(СтрокаТабличнойЧасти);
РекзвитыСоздания.Вставить("КонтактнаяИнформация", мКонтактнаяИнформация);
КлиентERP.Справочник("КонтактныеЛица").СоздатьЭлементСправочника(Клиент["email"],РекзвитыСоздания);
КонецЕсли;
Disclaimer
Активная фаза разработки. Библиотека действительно нужна