В начало

HTTP-сервис с параметрами ссылки

 

В модуле HTTP-сервиса не работает проверка ошибок программного кода

 

 

Рис. Свойства методов сервиса (в фигурных скобках указаны параметры ссылки)

 

Листинг. Модуль HTTP-сервиса

 

Функция pingGET(Запрос)

            //Строка для браузера

            //http://localhost:8080/[Название базы 1С]/hs/zayavki/ping

           

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

            Ответ.УстановитьТелоИзСтроки("OK");

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

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

 

 

Функция ЗаявкиЗа15МинутGET(Запрос)

            //Строка для браузера:

            //http://localhost:8080/[Название базы 1С]/hs/zayavki/ping   

           

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

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

                        "ВЫБРАТЬ

                        |           ПРЕДСТАВЛЕНИЕ(УКЕДС_Заявки.Ссылка) КАК Ссылка,

                        |           УКЕДС_Заявки.Дата КАК Дата

                        |ИЗ

                        |           Документ.УКЕДС_Заявки КАК УКЕДС_Заявки

                        |ГДЕ

                        |           УКЕДС_Заявки.Дата >= &ДатаНачала

                        |           И УКЕДС_Заявки.Дата <= &ДатаОкончания";

           

            Запрос2.УстановитьПараметр("ДатаНачала", ТекущаяДата() - 15*60);

            Запрос2.УстановитьПараметр("ДатаОкончания", ТекущаяДата());

           

            Результат = Запрос2.Выполнить(); 

            Выборка = Результат.Выбрать();

           

    МассивСтруктур = Новый Массив;

           

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

                         струкДок = Новый Структура;

                         

                         струкДок.Вставить("Дата", Выборка.Дата);

                         струкДок.Вставить("Ссылка", Выборка.Ссылка);

                                                 

                         МассивСтруктур.Добавить(струкДок);

    КонецЦикла;

           

           

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

            ЗаписьJSON.УстановитьСтроку();

            ЗаписатьJSON(ЗаписьJSON, МассивСтруктур);

            СтрокаДляОтвета = ЗаписьJSON.Закрыть();

                   

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

            Ответ.Заголовки.Вставить("Content-type", "application/json;  charset=utf-8");

            Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

           

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

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

 

 

Функция ЗаявкиВИнтервалеGET(Запрос)

//Строка для браузера:

// localhost:8080/[Название базы 1С]/hs/zayavki/summary/20240204/20240205/100/200

           

            //Параметры ссылки

            ДатаНачала = Дата(Запрос.ПараметрыURL["from"]);//от

            ДатаОкончания = Дата(Запрос.ПараметрыURL["to"]);//до

            Смещение = Запрос.ПараметрыURL["offset"];//смещение

            РазмерПакета = Запрос.ПараметрыURL["batch"];//число записей

           

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

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

                        "ВЫБРАТЬ

                        |           УКЕДС_Заявки.Номер КАК Номер,

                        |           УКЕДС_Заявки.Дата КАК Дата,

                        |           ПРЕДСТАВЛЕНИЕ(УКЕДС_Заявки.Ссылка) КАК Ссылка,

                        |            ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(УКЕДС_Заявки.Ссылка)) КАК УИД

                        |ИЗ

                        |           Документ.УКЕДС_Заявки КАК УКЕДС_Заявки

                        |ГДЕ

                        |           УКЕДС_Заявки.Дата >= &ДатаНачала

                        |           И УКЕДС_Заявки.Дата <= &ДатаОкончания";

           

            Запрос2.УстановитьПараметр("ДатаНачала", ДатаНачала);

            Запрос2.УстановитьПараметр("ДатаОкончания", ДатаОкончания);

           

            Результат = Запрос2.Выполнить(); 

            Выборка = Результат.Выбрать();

           

    МассивСтруктур = Новый Массив;

           

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

                         струкДок = Новый Структура;

                         

                         струкДок.Вставить("Номер", Выборка.Номер);

                         струкДок.Вставить("Дата", Выборка.Дата);

                         струкДок.Вставить("Ссылка", Выборка.Ссылка);

                         струкДок.Вставить("УИД", Выборка.УИД);

                                                 

                         МассивСтруктур.Добавить(струкДок);

    КонецЦикла;

           

           

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

            ЗаписьJSON.УстановитьСтроку();

            ЗаписатьJSON(ЗаписьJSON, МассивСтруктур);

            СтрокаДляОтвета = ЗаписьJSON.Закрыть();

                   

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

            Ответ.Заголовки.Вставить("Content-type", "application/json;  charset=utf-8");

            Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

           

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

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