В начало

HTTP-cервис отправки документов

 

 

Рис. Сервис в дереве объектов

 

Рис. Свойства шаблонов «ping» и «ПолучитьДоки»
(в поле «Шаблон» указан параметр для
Get-строки)

 

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

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

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

             //http://localhost:8080/bp_reu6_test/hs/DZ/ping

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

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

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

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

 

 

 Функция ПолучитьДокиGET(Запрос)                                    

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

            //http://localhost:8080/bp_reu6_test/hs/DZFL/doki/20240125/20240126

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

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

           

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

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

                        "ВЫБРАТЬ

                        |           ПоступлениеНаРасчетныйСчет.Ссылка КАК Ссылка,

                        |           ПоступлениеНаРасчетныйСчет.Дата КАК Дата,

                        |           ПоступлениеНаРасчетныйСчет.Номер КАК Номер,

                        |           ПоступлениеНаРасчетныйСчет.ВидОперации КАК ВидОперации,

                        |           ПоступлениеНаРасчетныйСчет.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,

                        |           ПоступлениеНаРасчетныйСчет.ДЗФЛ_ДатаСП КАК ДЗФЛ_ДатаСП,

                        |           ПоступлениеНаРасчетныйСчет.ДЗФЛ_НомерСП КАК ДЗФЛ_НомерСП,

                        |           ПоступлениеНаРасчетныйСчет.ДЗФЛ_НомерСудебногоУчастка КАК ДЗФЛ_НомерСудебногоУчастка,

                        |           ПоступлениеНаРасчетныйСчет.ДоговорКонтрагента КАК ДоговорКонтрагента,

                        |           ПоступлениеНаРасчетныйСчет.Комментарий КАК Комментарий,

                        |           ПоступлениеНаРасчетныйСчет.НазначениеПлатежа КАК НазначениеПлатежа,

                        |           ПоступлениеНаРасчетныйСчет.НомерВходящегоДокумента КАК НомерВходящегоДокумента,

                        |           ПоступлениеНаРасчетныйСчет.Организация КАК Организация,

                        |           ПоступлениеНаРасчетныйСчет.Ответственный КАК Ответственный,

                        |           ПоступлениеНаРасчетныйСчет.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,

                        |           ПоступлениеНаРасчетныйСчет.СуммаДокумента КАК СуммаДокумента,

                        |           ПоступлениеНаРасчетныйСчет.СчетБанк КАК СчетБанк,

                        |           ПоступлениеНаРасчетныйСчет.СчетОрганизации КАК СчетОрганизации

                        |ИЗ

                        |           Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет

                        |ГДЕ

                        |           ПоступлениеНаРасчетныйСчет.Дата >= &ДатаНачала

                        |           И ПоступлениеНаРасчетныйСчет.Дата <= &ДатаОкончания";

           

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

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

           

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

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

           

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

           

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

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

                         

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

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

                         струкДок.Вставить("ВидОперации", Строка(Выборка.ВидОперации));

                         струкДок.Вставить("ДЗФЛ_ДатаСП", Выборка.ДЗФЛ_ДатаСП);

                         струкДок.Вставить("ДЗФЛ_НомерСП", Выборка.ДЗФЛ_НомерСП);

                         струкДок.Вставить("ДЗФЛ_НомерСудебногоУчастка", Выборка.ДЗФЛ_НомерСудебногоУчастка);

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

                         

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

    КонецЦикла;

           

           

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

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

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

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

                   

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

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

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

           

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

           

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

 

 

Рис. Проверка метода GET в шаблоне «ping» в браузере

 

Рис. Проверка метода GET в шаблоне «ПолучитьДоки» в браузере Хром