Создание HTTP сервиса на платформе 1С 8.3
В этой статье я покажу, как создавать http сервис на платформе 1С 8.3. Также, будет показано, как обращаться к созданному нами сервису посредством JSON.
Создание HTTP сервиса
- Открываем дерево метаданных ветка «Общие» — «HTTP-сервисы». Позиционируемся на объекте «HTTP-сервисы»
- Добавляем новый сервис.
- Закладка «Основные» поле «Имя». Задаем имя. Имя может быть любым. Желательно чтобы имя сервиса отражало его суть.
- Закладка «Основные» поле «Корневой URL». Необходимо задать имя корневого url.
- Закладка «Шаблоны URL». Добавляем новый шаблон. Задаем ему имя. Имя может быть любым. Желательно, чтобы имя отражало предназначение шаблона.
- В шаблоне добавляем метод. В данном методе будем программный код шаблона.
Публикация HTTP сервиса
- ВАЖНО, НА ВАШЕМ КОМПЬЮТЕРЕ УЖЕ ДОЛЖЕН БЫТЬ УСТАНОВЛЕН ВЕБ СЕРВЕР (APACHE (2.2 ИЛИ 2.4) ИЛИ ISS)
- Запускаем конфигуратор 1С: Предприятия 8 в режиме «Запуск от имени администратора»
- Главное меню Администрирование – Публикация на веб-сервере
- Закладка «Основные» поле имя. Необходимо задать имя. Имя должно быть сформировано по правилу формирования имен переменных. Имя не должно содержать русских букв.
- Закладка «Основные» поле «Каталог». Создаем на жестком диске каталог (например www) и указываем к нему путь. В данный каталог будет размещена публикация.
- Закладка «Основные» — закладка «HTTP сервисы». Устанавливаем флаг около нашего сервиса.
- Нажимаем кнопку «Опубликовать». Перезапускаем веб сервер.
Проверка работоспособноости HTTP сервиса
- Запускаем браузер.
- Прописываем в строке браузера ip адрес, либо имя сервера на котором работает веб сервис (в нашем случае это наша локальная машина)
- После этого, если веб сервер запущен, мы должны увидеть в браузере соответствующее сообщение. Статью по созданию WEB сервера Apache 2.4 можно прочитать по следующей ссылке.
Функция ПолучитьНоменклатуру()Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Штрихкод КАК barcode,
| Штрихкоды.Номенклатура.Код КАК cod,
| Штрихкоды.Номенклатура.Наименование КАК name,
| Штрихкоды.Номенклатура.Артикул КАК articul
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Массив = Новый Массив;
Пока Выборка.Следующий()Цикл
Структура = Новый Структура("barcode, cod, name, articul");
ЗаполнитьЗначенияСвойств(Структура, Выборка);
Массив.Добавить(Структура);
КонецЦикла;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Массив);
СтрокаJSON = ЗаписьJSON.Закрыть();
Возврат СтрокаJSON;
КонецФункции