Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Июн 2021, 08:40
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: HTTP сервисы JSON  (Прочитано 4955 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kirill Runets

  • *
  • Регистрация: 2016-09-23
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
Ситуация такая, в 1с приходит POST запрос в теле которого передаются данные для создания ордера перемещения между складскими помещениями, такого вида
{
   "storage","",
    "roomSender","",
    "roomReceiver","",
    "priority","",
    "comment","",
    "goods": [
       {
           "name": "name1",
            "quantity": "vcode2",
             "action": "action3"
        },
        {
           "name": "name2",
            "quantity": "vcode2",
            "action": "action3"
        }
    ],

}

Как заметили в JSON есть массив объектов, необходимо при создание как то читать этот массив и добавлять товары в табличную часть ордера на перемещение

Написал код, который делает все это кроме  считывания массива объектов (товаров) и их добавления в тч


Функция PostOrderМетод1(Запрос)
   
   
   ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку("UTF-8");
   
   ЧтениеJSON = Новый ЧтениеJSON;
   
   
   ЧтениеJSON.УстановитьСтроку(ТелоЗапроса);
   
   Инфа = ПрочитатьJSON(ЧтениеJSON);
   ЧтениеJSON.Закрыть();
   
   
   НовыйДокумент = Документы.ОрдерНаПеремещениеТоваров.СоздатьДокумент();
   НовыйДокумент.Дата = ТекущаяДата();
   НовыйДокумент.ДатаОтгрузки = ТекущаяДата();
   НовыйДокумент.Склад = Справочники.Склады.НайтиПоНаименованию(Инфа.storage);
   НовыйДокумент.ПомещениеОтправитель = Справочники.СкладскиеПомещения.НайтиПоНаименованию(Инфа.roomSender,,,НовыйДокумент.Склад);
   НовыйДокумент.ПомещениеПолучатель = Справочники.СкладскиеПомещения.НайтиПоНаименованию(Инфа.roomReceiver,,,НовыйДокумент.Склад);;
   НовыйДокумент.Приоритет = Справочники.Приоритеты.НайтиПоНаименованию(Инфа.priority);
   НовыйДокумент.Статус = Перечисления.СтатусыОрдеровНаПеремещение.КОтбору;
   НовыйДокумент.Комментарий = Инфа.comment;
   
   // ЗДЕСЬ НЕОБХОДИМО ДОБАВИТЬ ЦИКЛ (ДЛЯ ДОБАВЛЕНИЯ ТОВАРОВ В ТЧ)
   Товар = НовыйДокумент.ОтгружаемыеТовары.Добавить();
                                                    
   Товар.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию( Инфа.goodName);
   Товар.КоличествоУпаковок = Инфа.quantity;           
   Товар.Действие = Перечисления.ДействияСоСтрокамиОрдеровНаОтгрузку.Отгрузить;
   
      
   
      

   НовыйДокумент.Записать();
   
   
   Ответ = Новый HTTPСервисОтвет(200);
   Возврат Ответ;
КонецФункции


Оффлайн Dethmontt

  • Денис
  • *****
  • Регистрация: 2010-11-01
  • Сообщений: 2892
  • РЕПУТАЦИЯ: 552
  • КПД: 19%
  • Адын Эс
  • Профессия: Программист 1С
Re: HTTP сервисы JSON
« Ответ #1: 06 Фев 2017, 13:10 »
Kirill Runets,
Для каждого Гуд из Инфа.Goods Цикл
  //ДобавитьТовар(Гуд.name);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги: http Json 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

LexaK
69 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
neek666
33 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
25 Сообщений
KATERINA 861
18 Сообщений
Алексей_1985_06
17 Сообщений
SSC
13 Сообщений
alexandr_ll
12 Сообщений
BuhRust
10 Сообщений

* Кто онлайн

  • Точка Гостей: 433
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск