HTTP-сервис создания карточки контрагента и его контактной информации

1. Tailor_Made 12.11.19 13:13 Сейчас в теме
Здравствуйте. Хотел бы реализовать HTTP-сервис создания карточки контрагента и его контактной информации. Впервые сталкиваюсь с подобного рода заданием.. Что вообще нужно сделать, чтобы это реализовать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 12.11.19 13:23 Сейчас в теме
(1)
1. HTTP-сервис
2. Сделать функцию(-ии) HTTP-сервиса
3. Опубликовать HTTP-сервис на верб-сервере
4. Предоставить доступ к веб-серверу из вне.
3. Tailor_Made 12.11.19 13:25 Сейчас в теме
(2)
1. Вроде, есть
3. Тоже опубликовал
4. Если это через "Правила для входящих подключений" - тогда тоже есть

А если у меня есть минимальный состав необходимых полей и нужно исключить ситуацию с дублированием данных.. То как это доработать?
4. nomad_irk 72 12.11.19 13:29 Сейчас в теме
(3) за это отвечают функции HTTP-сервиса, на вход которых устанавливают входящие значения параметров и функция по этим параметрам выполняет поиск/создание нового контрагента и (пере-)заполнение реквизитов.
5. Tailor_Made 12.11.19 13:38 Сейчас в теме
(4)Я прописал в Шаблон сервиса "/{name}/{number}"
А дальше как по этим параметрам выполнять этот поиск/создание?
7. nomad_irk 72 12.11.19 13:44 Сейчас в теме
(5)Запросом/объектным способом в модуле HTTP-сервиса, в функции, отвечающей за создание нового/обновление существующего контрагента в ИБ.
8. Tailor_Made 12.11.19 13:46 Сейчас в теме
(7)видимо, в этом и вся сложность
9. nomad_irk 72 12.11.19 13:48 Сейчас в теме
(8)Видимо. У HTTP-сервиса могут быть функции, что-то вроде
CreateItem(ParamIn1, ParamIn2,....., ParamInN)
UpdateItem(ParamIn1, ParamIn2,....., ParamInN)

Создание функций и их параметров задаются в свойствах HTTP-сервиса.
Прикрепленные файлы:
11. Tailor_Made 12.11.19 13:54 Сейчас в теме
(9)это я уже сделал. Сделал метод "Получить", в нем обработчик "ОбработатьЗапрос"
Я так понимаю, что в этой функции нужно и прописать как-то это создание карточки контрагента, да?
Но как оно делается, если к примеру, у меня минимальный состав необходимых полей: Наименование и Контактный телефон. Как это прописывают?
12. nomad_irk 72 12.11.19 13:58 Сейчас в теме +0.11 $m
(11)Например:

ВыбКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию(Наименование, Истина);

Если НЕ ЗначениеЗаполнено(ВыбКонтрагент) Тогда
       ВыбКонтрагентОбъект = Справочники.Контрагенты.СоздатьЭлемент();
Иначе
       ВыбКонтрагентОбъект = ВыбКонтрагент.ПолучитьОбъект();
КонецЕсли;

ЗаполнитьКонтактнуюИнформацию(ВыбКонтрагентОбъект, КонтактныйТелефон);
Показать
13. Tailor_Made 12.11.19 14:16 Сейчас в теме +0.33 $m
(12)блин, трудновато чтобы сразу понять
Я попытлася сделать так:
Функция ОбработатьЗапрос(Запрос)
	
	Ответ = Новый HTTPСервисОтвет(200);
	
	Наименование = Запрос.ПараметрыURL.Получить("name");
	КонтактныйТелефон = Запрос.ПараметрыURL.Получить("number");
	
	ВыбКонтрагент = Справочники._ДемоКонтрагенты.НайтиПоНаименованию(Наименование, Истина);

	Если НЕ ЗначениеЗаполнено(ВыбКонтрагент) Тогда
	       ВыбКонтрагентОбъект = Справочники._ДемоКонтрагенты.СоздатьЭлемент();
	Иначе
	       ВыбКонтрагентОбъект = ВыбКонтрагент.ПолучитьОбъект();
	КонецЕсли;

	ЗаполнитьКонтактнуюИнформацию(ВыбКонтрагентОбъект, КонтактныйТелефон); //
	
    Возврат Ответ;
	
КонецФункции

Процедура ЗаполнитьКонтактнуюИнформацию (Контрагент, Телефон)
	
	
	
КонецПроцедуры
Показать


НЕ уверен правильно ли пытаюсь получить Наименование и Номер. Если я правильно понял прочитанное, то адресная строка при обращении к моему сервису должна выглядеть так:
http://localhost/InfoBase3/hs/Report/Арендодатель/79000000
10. user623969_dusa 12.11.19 13:51 Сейчас в теме
(8) читай, хорошая статья за пару дней можно разобраться и написать свою первую функцию
https://infostart.ru/public/842751/
6. пользователь 12.11.19 13:41
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот