23.05.2016 Сергей Репин 8476
Создание HTTP-сервиса
  Дополнение к статье “HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие
 
     
 

Предположим, что нам нужен HTTP-сервис, который по запросу вернет список пользователей.

Выглядеть он должен следующим образом: http://localhost/base/hs/info?action=getusers

Возвращать должен строку JSON (массив объектов JSONсо свойствами: имя пользователя, id пользователя): 
 
     
 
[

{

"name": "Администратор",

"id": "563e7509-83bb-11e5-80c3-00505601174a"

},

{

"name": "Гость",

"id": "423a9d3d-88fc-11e5-80c3-00505601174a"

}

]
 
     
  Чтобы это реализовать, создадим в конфигурации (или в расширении) объект HTTP-сервис, для простоты назовем его «Инфо». Корневой URL должен быть равен «info».  
     
  Далее добавим к нему шаблон URL, для простоты назовем его «Основной». Значение шаблона должно быть равно«/*».   
     
  К шаблону мы добавим метод GET: имя = «GET», HTTP-метод = «GET».   
     
     
 
Примечание. Имя метода рекомендуется назначать по имени HTTP-метода.  
 
     
  Создадим обработчик HTTP-метода GET.   
     
     
  По умолчанию процедура обработчика метода заполнена кодом, возвращающим стандартный успешный HTTPответ (код 200).   
     
 
Функция ОсновнойGET(Запрос)

            Ответ = Новый HTTPСервисОтвет(200);

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


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

Скорректируем его так, чтобы он возвращал нам список пользователей.

 
     
 
Функция ОсновнойGET(Запрос)

            Ответ = Новый HTTPСервисОтвет(200);

            Если НРЕГ(Запрос.ПараметрыЗапроса.Получить("action")) = "getusers" Тогда

                        Ответ.УстановитьТелоИзСтроки(ВернутьСписокПользователей());

            КонецЕсли;

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

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

Функция ВернутьСписокПользователей()

           

            Запрос = Новый Запрос;

            Запрос.Текст =

            "ВЫБРАТЬ

            |          Пользователи.Ссылка

            |ИЗ

            |          Справочник.Пользователи КАК Пользователи

            |ГДЕ

            |          Пользователи.Недействителен = ЛОЖЬ";

           

            Выборка = Запрос.Выполнить().Выбрать();

           

            ОтветМассив = Новый Массив;

            Пока Выборка.Следующий() Цикл

                        ОтветМассив.Добавить(Новый Структура("name,id",Выборка.Ссылка.Наименование,""+Выборка.Ссылка.УникальныйИдентификатор()));

            КонецЦикла;

           

            Ответ = Новый ЗаписьJSON;

            Ответ.УстановитьСтроку();

            ЗаписатьJSON(Ответ,ОтветМассив); // сериализуетОтветМассив в формат JSON

            Возврат Ответ.Закрыть();

                

КонецФункции
 
     
  Проверяем результат:
 
     
     
  Если есть вопросы по созданию и отладке HTTP-сервиса в «1С:Предприятие» – обращайтесь!   
     
 

    Сергей Репин,
    разработчик ООО «Кодерлайн»

 

Наши проекты

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Бухгалтерский учет
- Расчет зарплаты и кадровый учет
- Налоговый учет ...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Управление производственным предприятием

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

ООО «Фипар»
ООО «Фипар»

Отрасль:

Внедренное типовое решение:
1С:Предприятие 8. ERP Управление предприятием 2

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Управление торговлей 8

Взаиморасчеты с покупателями
Оптовая торговля
Управление складскими за...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Ана...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

Внедренное типовое решение:
1С:Комплексная автоматизация

- Разработка подсистемы оперативного учета транзакций...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
«1С: Управление торговлей»

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение