Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> PUT запит на сайт, для оновлення товару , Загрузка на сайт через POST запит проведена успішно          
Levis1995 Подменю пользователя
сообщение 20.10.23, 16:27
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 17
Спасибо сказали: 1 раз
Рейтинг: 1

Потрібно оновити товар на сайт коли він змінився в базі, платформа BAF 8.3.19.1529 конфігурація Business Automation Software for small company. PROF (1.6.19.4)
Ось код POST запиту працює нормально, можливо хтось стикався з структурою PUT запиту щоб звернутися по силці на сайт за кодом товару, корисного в інтеренеті не почабив

Код
HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,Пользователь,Пароль,,,Новый ЗащищенноеСоединениеOpenSSL()); 

Заголовки = Новый Соответствие();
Заголовки.Вставить("accept","application/json");
Заголовки.Вставить("Content-Type","application/json");

Для Каждого СтрокаТабличнойЧасти из СписокНоменклатуры Цикл
    
    Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.Номенклатура.id) Тогда
        Продолжить;
    КонецЕсли;
    
    СтруктураДляJSON = Новый Структура("name,nodeId,externalId", СокрЛП(СтрокаТабличнойЧасти.Номенклатура),Число(Формат(СтрокаТабличнойЧасти.Номенклатура.Родитель.id, "ЧГ=")),);
    
    ПоместитьВоВременноеХранилище(КонтрольнаяСуммаСтрокой(СтрокаТабличнойЧасти.Номенклатура), СтрокаТабличнойЧасти.Номенклатура);
    
    СтруктураДляJSON.Вставить("data",Новый Структура("type,description,sku,price","ITEM",СокрЛП(СтрокаТабличнойЧасти.Номенклатура),СтрокаТабличнойЧасти.Номенклатура.Артикул,СтрокаТабличнойЧасти.Цена));
    
    СтруктураДляJSON.Вставить("hidden", false);
    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, СтруктураДляJSON);
    ТелоЗапроса = Запись.Закрыть();
    
    HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
    РезультатЗапроса = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    
    ТекстОтветаJSON = РезультатЗапроса.ПолучитьТелоКакСтроку();
    ЧтениеJSON = Новый ЧтениеJSON();
    ЧтениеJSON.УстановитьСтроку(ТекстОтветаJSON);
    РезультатЧтения = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
    
    Попытка
        НоменклатураОбъект = СтрокаТабличнойЧасти.Номенклатура.ПолучитьОбъект();
        НоменклатураОбъект.id =    РезультатЧтения.id;
        НоменклатураОбъект.Записать();
    Исключение
    КонецПопытки;
    
КонецЦикла;


Сообщение отредактировал Vofka - 08.11.23, 15:26

Eclit Подменю пользователя
сообщение 22.10.23, 16:38
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 1 раз
Рейтинг: 1

Levis1995 @ 20.10.23, 16:27 * ,
Півроку як перейшов на використання модуля "Коннектор HTTP" для будь-якої роботи з АПІ. І вам рекомендую.
Дозволить скоротити усе це простирадло тексту в кілька разів. Якщо не вдастся загуглилити - пишіть в особисті, кину посилання.

З точки зору 1С ніякої різниці між формуванням POST і PUT немає. Якщо мінімально змінювати вашу процедуру, то необхідно замість
РезультатЗапроса = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);

написати
РезультатЗапроса = HTTPСоединение.ВызватьHTTPМетод("PUT", HTTPЗапрос);


Спасибо сказали: Levis1995,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.02.24, 5:02
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!