Учимся создавать http сервис (часть четвертая). Изучение метода POST http запроса (передача текстовых данных)

Публикация № 1307941 11.10.20

Разработка - Конфигурирование 1С

http web сервис GET POST

Пошаговое руководство по созданию http сервисов (часть четвертая). Изучение метода POST http запроса.

На прошлых уроках:

-Учимся создавать http-сервисы (часть первая)

-Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

-Учимся создавать http сервис (часть третья). Передача нескольких параметров в http сервис ,

мы с вами научились создавать http сервис, научились отправлять запросы на сервер. Запросы, которые, до сих пор отправляли на сервер, были GET запросами. При помощи метода GET запроса можно получать данные с сервера. Мы, например, получали информацию о документах расходных документах, а также, получали информацию о номенклатуре.

Что делать, если нам нужно передать некие данные на сервер? На помощь приходит http запрос типа POST!

Поставим задачу:

-Перенесем данные справочника «Номенклатура» из базы источник в базу приемник при помощи http сервиса, используя POST запрос. Переносить данные будем в JSON формате.

 

Подготовим базу источник.

-Создаем чистую информационную базу.

-Назовем ее «БазаИсточник»

-Добавляем в нее несколько объектом метаданных:

Спр. «Номенклатура»

Реквизит «Атрикул» тип строка 25

-Обработка «ИзучениеPOSTЗапросов»

 

Подготовим базу приемник

-Создаем чистую информационную базу

-Назовем ее «БазаПриемник»

-Добавим в нее несколько объектов метаданных:

Спр. «Номенклатура»

Реквизит «Атрикул» тип строка 25

-Создаем новый http сервис «ИзучениеPOSTЗапросов»

-Корневой URL – «post»

 

-Переходим на закладку «Шаблоны URL»

-Добавляем новый шаблон «ЗагрузкаНоменклатуры»

-Создадим шаблон, назовем его «product_json»

-Добавим новый метод «ЗагрузкаНоменклатурыJSON»

-Выбираем HTTP метод POST

 

-Публикуем http сервис на веб сервере, если забыли, как это сделать, смотрите статью 

Учимся создавать http-сервисы (часть первая)

После публикации у меня получился следующий путь «http://localhost/post_test/hs/post/product_json/»

Localhost – IP адрес

post_test – имя публикации

hs – признак http сервиса

post – корневой каталог

product_json - шаблон

 

Переходим в базу источник.

-Открываем обработку «ИзучениеPOSTЗапросов»

-Создадим форму. На форме разместим кнопку «Перенести номенклатуру JSON»

 

 

Шаблон, по которому мы подключаемся из 1С к http сервису следующий:

-Создаем объект типа «HTTPСоединение», в его конструкторе передаем ip адрес http сервиса, например, так:

 

-Создаем объект типа «HTTPЗапрос», в его конструкторе указываем адрес ресурса и заголовки, например так:

 

-Помещаем данные, которые мы хотим отправить на сервер в тело запроса. Мы хотим передать текстовые данные, для этого мы воспользуемся методом «УстановитьТелоИзСтроки»

-Отправляем данные на сервер. (пример кода)

 

Еще раз. Для того чтобы передать данные на сервер, надо эти данные поместить в тело POST запроса. В заголовке необходимо указать какого типа эти данные.

-Открываем базу источник в режиме предприятия и добавляем в справочник «Номенклатура» несколько элементов.

 

Базу источник мы подготовили!

 

Переходим в базу приемник

-Добавляем общий модуль «ОбщегоНазначения»

-В нем описываем две процедуры

 

-Переходим в обработчик метода «ЗагрузкаНоменклатурыJSON» http сервиса «ИзучениеPOSTЗапросов»

-Описываем в нем следующий код

 

Базу приемник мы подготовили.

Запускаем обработку из базы источник. Нажимаем на кнопку. И в базе приемнике создается номенклатура.

 

 

Видео инструкция тут:

 

 

Там же, вы сможете скачать файлы конфигурации источника и приемника.

 

Итак, мы решили поставленную задачу.

При реализации данного функционала была использована платформа 1С:Предприятие 8.3 (8.3.12.1567)

Всего хорошего.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1304317 11.10.20 15:39 Сейчас в теме
2. user1464234 11.10.20 17:18 Сейчас в теме
Подскажите пож-ста, можно ли все это реализовать в виде расширения, например к БП 3?
Общий модуль и обработки в расширение включаются, а вот остальные упомянутые в статье объекты метаданных?
5. platonov.e 117 12.10.20 07:00 Сейчас в теме
(2) Это зависит от платформы.
user1464234; +1 Ответить
6. vitika_m 12.10.20 10:37 Сейчас в теме
(2) теоретически в расширение эти объекты добавить можно, но вот использовать для публикации не имеется возможности, так как в окне публикации он не появится, по крайней мере на платформе 8.3.16...
user1464234; +1 1 Ответить
14. uno-c 174 13.10.20 03:24 Сейчас в теме
(6) Не появится в списке - не значит, что нельзя использовать. Нормально публикуется и работает из расширений. Проверено не раз, и не только на 8.3.16.
gigapevt; +1 Ответить
15. vitika_m 13.10.20 07:15 Сейчас в теме
(14)отлично! А можно поподробнее?
17. vitika_m 13.10.20 11:44 Сейчас в теме
18. dsdred 1735 14.10.20 14:03 Сейчас в теме
(15)https://infostart.ru/1c/articles/842751/
вот тут в расширении, и публикуется и работает.
vitika_m; +1 Ответить
19. vitika_m 17.10.20 11:57 Сейчас в теме
(18) Подробнее и не опишешь! Спасибо большое!
3. user1464234 11.10.20 21:12 Сейчас в теме
И из 7 ки с использованием компоненты v7plus как настроить тоже самое было бы полезно.
7. hpi 328 12.10.20 11:11 Сейчас в теме
Скажем так, если в v7plus есть методы, которые позволяют подлючиться к http сервису, если есть методы, которые позволяют помещать данные в тело запроса, то можно, если нет, то увы.
user1464234; +1 Ответить
4. Fox-trot 129 12.10.20 06:49 Сейчас в теме
(0) поиск дубля не помешал бы перед тем как создавать новый элемент справочника
8. dsdred 1735 12.10.20 11:56 Сейчас в теме
обработка ИзучениеPOSTЗапросов
а на картинке ИзчениеPOSTЗапросов

для JSON наверное правильнее
HTTPЗапрос.Заголовки.Вставить("Content-Type","application/json");
10. Поручик 4531 12.10.20 14:12 Сейчас в теме
(8) Смотря как сервер-приёмник обрабатывает данные.
11. dsdred 1735 12.10.20 14:44 Сейчас в теме
(10)Чаще всего если сервис сторонний то разворачивают без этого заголовка.
К примеру сейчас обмен с API IIKO делаю, там этот момент не документирован, но без этого заголовка кушать запросы отказывается.
9. ICeZm 20 12.10.20 14:09 Сейчас в теме
12. ltfriend 761 12.10.20 21:00 Сейчас в теме
Технически, можно передать данные и создать объект и GET запросом, передав нужные значения в параметрах, т.к. GET-запрос не имеет тела. Но это, конечно, извращение, да и размер данных ограничен максимальной длинной URL.

А передать данные в теле запроса можно и методами PATCH, PUT, а не только POST.

Так, распространённая практика при создании REST API использовать POST для создание объекта, а PUT/PATCH для его изменения (метод DELETE, соответственно, используется для удаления).

А вообще, все эти методы используются на усмотрение программиста. Встречался с таким, что для всех запросов использовался только POST (и для получения данных, и для передачи).

По поводу заголовка Content-Type. Вы указываете text/plain, а передаёте json (Content-Type: application/json). А если учесть, что база-приёмник ни как этот заголовок не использует, то его вообще можно не передавать.

Ну и я бы настоятельно рекомендовал перед изучением создания http сервисов, сначала изучить HTTP-протокол. Хотя бы, с прочтения статьи на википедии: https://ru.wikipedia.org/wiki/HTTP
Rustig; Fox-trot; +2 Ответить
13. Aquashop 44 12.10.20 21:31 Сейчас в теме
Очень подробно, в свое время не хватало этого=)
20. aspirator23 464 18.10.20 17:42 Сейчас в теме
Есть ограничения на длину передаваемой строки в этом запросе HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаНоменклатураJSON); ?
22. BlinOFF 3 04.12.20 11:04 Сейчас в теме
Здравствуйте!Скачал cf из примера, установил, на стороне приемника
СтрокаНоменклатураJSON = Запрос.ПолучитьТелоКакСтроку();
приходит пустая строка. Подскажите что не так? Платформа
1С:Предприятие 8.3 (8.3.16.1224)
upd: обновление платформы до 8.3.18 решило проблему
23. mikl79 114 08.12.20 10:53 Сейчас в теме
Добрый день.

Сделал все как описано, но HTTPОтвет получает код 500:

Результат = Соединение.ОтправитьДляОбработки(HTTPЗапрос);

Результат работы: Результат.КодСостояния = 500

В чем может быть причина?
24. hpi 328 09.12.20 22:01 Сейчас в теме
Добрый день. Высылаю Вам ссылку на cf файл. Проверьте еще раз, то что вы сделали с файлом. Может все-таки где-то ошибка.
https://yadi.sk/d/oQK4EjKZiN1a4Q
25. user817897 2 21.12.20 15:58 Сейчас в теме
Помогло разобраться с проблемой(дело в том что забыл прописать /hs/ , и просто не замечал...)
Спасибо
Оставьте свое сообщение

См. также

Типовые операции в 1С: БГУ 2. Часть 4. Заключение

Механизмы бухгалтерского учета v8 v8::БУ 1cv8.cf БУ Бесплатно (free)

В данной статье автор расскажет, что такое типовые операции в конфигурации бухгалтерии для госсектора, установит стандарты качества написания типовых операций. Часть 4 "Заключение". Завершаем типовую операцию из ТЗ, изучаем простые условия, немного касаемся сложных условий, прикасаемся к булевой алгебре, изучаем функцию ЗНАЧЕНИЕ() и прочие прикладные функции как примеры, задаем стандарты типовой операции.

14.09.2021    213    ldmonster    8    

Типовые операции в 1С: БГУ 2. Часть 3

Механизмы бухгалтерского учета v8 v8::БУ БГУ БУ Госбюджет Бесплатно (free)

В данной статье автор расскажет, что такое типовые операции в конфигурации бухгалтерии для госсектора, установит стандарты качества написания типовых операций. Часть 3. Разбор четвертой страницы формы типовой операции "Проводки", знакомство с источниками данных, формирующих проводку, первое знакомство с языком СКД.

10.09.2021    212    ldmonster    0    

Типовые операции в 1С: БГУ 2. Часть 2

Механизмы бухгалтерского учета v8 v8::БУ БГУ Госбюджет Бесплатно (free)

В данной статье автор расскажет, что такое типовые операции в конфигурации бухгалтерии для госсектора, установит стандарты качества написания типовых операций. Часть 2. Разбор второй страницы формы типовой операции "Реквизиты", функциональное назначение кнопок, создание реквизитов и групп, базовые знания о форматировании.

09.09.2021    262    ldmonster    0    

Типовые операции в 1С: БГУ 2. Часть 1

Механизмы бухгалтерского учета v8 v8::БУ БГУ БУ Госбюджет Бесплатно (free)

В данной статье автор расскажет, что такое типовые операции в конфигурации бухгалтерии для госсектора, установит стандарты качества написания типовых операций Часть 1. Знакомство с типовыми операциями. Разбор первой страницы формы типовой операции, корректное создание (копирование), создание правильного и удобного наименования, написание комментария.

07.09.2021    393    ldmonster    2    

Своя форма выбора типа, метаданных (Infostart Toolkit)

Структура метаданных v8 1cv8.cf Россия Бесплатно (free)

Зачем своя форма выбора? Полезные функции и особенности работы.

26.07.2021    2193    Evg-Lylyk    17    

Программное создание расширения

Практика программирования Расширения v8 Бесплатно (free)

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    4348    Yashazz    13    

Новая упрощенная процедура перерасчета записей регистров расчета (пример)

Расчетные механизмы v8 1cv8.cf Россия Бесплатно (free)

В данной публикации описано назначение и приведен пример процедуры перерасчета записей регистра перерасчета с сортировкой на уровне набора записей. Предназначена для лиц, готовящихся к экзамену "1С Специалист по платформе" и преподавателей, занимающихся подготовкой Специалистов.

24.03.2021    581    galexmvs    5    

Динамический список и поиск... неприятностей

Работа с интерфейсом Конфигурирование 1С v8 Бесплатно (free)

Страх и ненависть в поиске по динамическому списку, или "Кое-что о неоптимальном отборе".

17.03.2021    3875    Yashazz    37    

Чтение метаданных 1С в SQL Server

Структура метаданных v8 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    3616    zhichkin    63    

Метаданные и их идентификаторы

Структура метаданных БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    11153    YPermitin    27    

Централизованное управление НСИ при внутрикорпоративном внедрении Фреш

Обмен данными 1С Облачные сервисы, хостинг Конфигурирование 1С v8 ЗКГУ3.0 Государственные, бюджетные структуры Россия Бесплатно (free)

В статье рассказывается о нашем опыте по централизации НСИ на одном из проектов в этом году. Статья может быть полезна тем, кто сам занимался или планирует заниматься чем-то подобным, в особенности руководителям проектов и программистам.

19.11.2020    1489    zivan38    0    

Хранилище версий объектов в условиях массовых изменений

Чистка базы Конфигурирование 1С v8 1cv8.cf Бесплатно (free)

Проблема хранения версий объектов при огромном количестве изменений.

08.11.2020    1167    Punisher_1C    4    

Альтернативный способ записи в регистры

Конфигурирование 1С v8 Бесплатно (free)

Предлагаю Вашему вниманию небольшую доработку для любой конфигурации, встроив которую в свою(и) конфигурацию(и) и используя методику, описанную в данной статье, Вы сможете заметно облегчить себе жизнь при работе с регистрами.

20.10.2020    2765    DarkAn    30    

Несколько групп для одной номенклатуры в УТ 11

Механизмы оперативного учета Учет ТМЦ v8 v8::ОУ УТ11 Россия УУ Бесплатно (free)

В статье опишу вариант доработки УТ 11 для использования нескольких групп для одной номенклатуры.

23.09.2020    1692    malikov_pro    11    

Учимся создавать http-сервисы (часть первая)

Конфигурирование 1С v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса.

16.09.2020    13232    hpi    37    

Регистры бухгалтерии. Виртуальная таблица остатков

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Принцип работы виртуальной таблицы остатков. А также некоторые особенности.

24.08.2020    10755    YPermitin    1    

Регистры бухгалтерии. Еще одна таблица оборотов ДТ / КТ

Механизмы бухгалтерского учета v8::БУ 1cv8.cf Бесплатно (free)

Виртуальная таблица оборотов ДТ / КТ регистра бухгалтерии. Особенности и применение.

12.08.2020    6120    YPermitin    1    

Динамический список, ключи записей. Нюансы

Инструментарий разработчика Практика программирования Конфигурирование 1С v8 Бесплатно (free)

Заметки об особенностях динамических списков с произвольным запросом и видом ключа, отличным от "Авто"

07.08.2020    4561    Yashazz    6    

Регистры бухгалтерии. Виртуальная таблица оборотов

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Виртуальная таблица оборотов регистра бухгалтерии. Принцип работы, особенности и кое-что еще.

28.07.2020    8717    YPermitin    10    

Установка расширений в 1С 8.3

Расширения v8 1cv8.cf Россия Бесплатно (free)

Краткая инструкция, как подключить расширение конфигурации в 1С.

27.07.2020    17978    Mouros    11    

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Производительность и оптимизация (HighLoad) Администрирование СУБД Технологический журнал Структура метаданных v8::Запросы Бесплатно (free)

Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов. При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.

24.05.2020    10921    DataReducer    22    

Как обойти глюк механизма расширений. Пошаговая инструкция в картинках

Расширения v8 БП3.0 Бесплатно (free)

После очередного обновления Бухгалтерии 3.0 в одной очень известной фирме мне звонит наш программист 1С, который ведет эту фирму, со словами - Шеф. Все пропало. Нам конец. Наше расширение грохнулось.

26.04.2020    11521    alfanika    21    

Настройка через конфигуратор. При открытии карточки номенклатуры открывается вкладка с развернутыми реквизитами

Конфигурирование 1С v8 Бесплатно (free)

Как сделать так, чтобы при открытии карточки номенклатуры открывалась вкладка с развернутыми реквизитами, а не бесполезная вкладка с карточкой номенклатуры.

03.04.2020    1818    gtrr34    1    

Вложенные СКД

Практика программирования Конфигурирование 1С v8 v8::СКД Бесплатно (free)

Возможности, нюансы, заметки.

26.03.2020    9122    Yashazz    19    

Конвертация расширения cfe в конфигурацию сf руками

Расширения v8 1cv8.cf Бесплатно (free)

Как быстро преобразовать расширение в конфигурацию (для дальнейшего переноса в основную конфигурацию, например).

18.03.2020    10099    wtlz    35    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    9069    RPGrigorev    3    

Регистры бухгалтерии. Настройки, субконто и движения с субконто

Бухгалтерский учет Механизмы бухгалтерского учета v8::БУ Бесплатно (free)

Описание основных настроек регистров бухгалтерии, работы виртуальных таблиц "Субконто" и "Движения с субконто" и кое-что еще.

10.02.2020    23027    YPermitin    13    

Эволюция расширения конфигурации

Расширения v8 1cv8.cf Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    14601    Xershi    45    

Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6

Практика программирования Расширения v8 1cv8.cf Россия Бесплатно (free)

В этой статье хочу поделиться своим опытом внесения доработок в типовые конфигурации, с минимальными вложениями при последующих обновлениях.

01.02.2020    2829    байт    7    

Обновление релиза измененной типовой конфигурации

Конфигурирование 1С v8 1cv8.cf Бесплатно (free)

Пригодится тем, кому еще не приходилось обновлять измененную типовую конфигурацию.

29.11.2019    14982    John_d    76    

Обработка расширением на клиенте

Расширения Универсальные функции v8::УФ 1cv8.cf Бесплатно (free)

Описываю нетривиальный прием работы с расширением, который позволит относительно быстро реализовывать некоторые обработки данных. Суть: обработка данных на клиенте с использованием методов, которые реализованы разработчиком конфигурации на форме объекта. Если эти методы есть вне модуля формы объекта (общий модуль, модуль менеджера, модуль объекта)- лучше сделать обработку более простым способом.

31.10.2019    7823    EvgenURNN    10    

Об общих реквизитах

Практика программирования Структура метаданных v8 1cv8.cf Бесплатно (free)

Общие реквизиты. Что за ними скрывается?

28.10.2019    18198    YPermitin    31    

Реализация продвинутой обработки запросов HTTP сервиса

Обмен данными 1С Конфигурирование 1С v8 1cv8.cf Россия Бесплатно (free)

Стандартный функционал маршрутизации не позволяет использовать regexp при обработке адреса, организация модуля приводит к дублированию кода. Так же при ошибке исполнения нет фиксации в журнале регистрации. В статье опишу свой взгляд на решение обозначенных проблем.

05.10.2019    3930    malikov_pro    4    

От чего можно отказаться при разработке расширений 1С

Практика программирования БСП (Библиотека стандартных подсистем) Расширения v8 Бесплатно (free)

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    11552    independ    33    

Конструирование аналитической структуры плана счетов в программе «1С:Бухгалтерия 8» с целью обеспечения достоверности финансовой отчетности

Дебиторская и кредиторская задолженность Оборотно-сальдовая ведомость, Анализ счета Учет доходов и расходов Оборотно-сальдовая ведомость, Анализ счета Учет доходов и расходов Механизмы бухгалтерского учета Бухгалтерский учет v8 v8::БУ КА1 БП2.0 УПП1 Россия БУ УУ Бесплатно (free)

Описаны правила конструирования аналитической структуры плана счетов, позволяющей формировать достоверную финансовую отчётность. Описываются принципы формирования баланса и отчета о прибылях и убытках в МСФО и в РСБУ. Даётся определение развёрнутого сальдо и рассматривается его корректное отражение в ОСВ. Делается анализ минимально необходимого количества уровней субконто по счетам расчётов. Подробно рассматриваются ошибки плана счетов «Хозрасчётный» и ОСВ стандартной поставки 1С, препятствующие выверке баланса и отчета о прибылях и убытках по ОСВ. Предлагаются методы купирования проблем.

24.10.2010    174049    RayCon    106