Функция ОтправитьЗаказTISS() СтрокаЗаказываемыхТоваров = ""; КоличествоТоваров = 0; СуммаЗаказа = 0; ТаблКорзина.ВыбратьСтроки(); Пока ТаблКорзина.ПолучитьСтроку() = 1 Цикл СтрокаЗаказываемыхТоваров = СтрокаЗаказываемыхТоваров + ?(ПустаяСтрока(СтрокаЗаказываемыхТоваров) = 1, "", ",") + " | {'ID': '"+СокрЛП(ТаблКорзина.ИДТовара)+"', 'Price': '"+СокрЛП(ТаблКорзина.Цена)+"', 'Delivery_Period': '"+СокрЛП(ТаблКорзина.СреднийСрокДоставки)+"', 'Quantity': '"+СокрЛП(ТаблКорзина.КоличествоВКорзине)+"', 'Comment': '"+СокрЛП(КомментарийЗаказа)+"'}"; КоличествоТоваров = КоличествоТоваров + 1; СуммаЗаказа = СуммаЗаказа + ТаблКорзина.Сумма; КонецЦикла; Если ПустаяСтрока(СтрокаЗаказываемыхТоваров) = 1 Тогда Возврат ""; КонецЕсли; Сообщить("TISS: Начало отправки заказа ("+СокрЛП(ТекущееВремя())+")..."); НомерЗаказаВОтвете = ""; об = СоздатьОбъект("MSXML2.XMLHTTP"); об.open("POST", "http://api.tmparts.ru/api/NewOrder/", 0, "TT00000000", "****"); СтрокаПараметров = """{ | 'PriceCheck': '0', | 'DeliveryCheck': '0', | 'QuantityCheck': '0', | 'Mode': '0', | 'ContractCode': 'ДВР0000079', | 'ShipCode': 'ПЛ00002715', | 'Comment': '" + ?(флТестЗаказов = 1, "Test. ", "") + СокрЛП(КомментарийЗаказа) + "', | 'ID_List': [" + СокрЛП(СтрокаЗаказываемыхТоваров) + " | ] |}"""; // 1с 7.7 не поддерживает длинные строки КлючДоступаЧасть1 = "**********************************************************************************************************************************"; КлючДоступаЧасть2 = "**********************************************************************************************************************************"; КлючДоступаЧасть3 = "**********************************************************************************************************************************"; КлючДоступаЧасть4 = "**************************************************************************************************************************"; об.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); об.setRequestHeader("Content-Length", СтрДлина(СтрокаПараметров)); об.setRequestHeader("Authorization","Bearer "+КлючДоступаЧасть1+КлючДоступаЧасть2+КлючДоступаЧасть3+КлючДоступаЧасть4); об.send(СтрокаПараметров); // https://en.wikipedia.org/wiki/List_of_Unicode_characters // Функция ДекодироватьСтрокуJSON() преобразовывает из "\u0410" в "А" и т.п. СтрокаРезультат = ДекодироватьСтрокуJSON(об.responseText); Если об.Status = 200 Тогда // Далее разбор JSON-ответа, определение статуса формирования заказа Сообщить(" Заказ TISS создан..."); Сообщить(" Товаров: " + СокрЛП(КоличествоТоваров) + " позиций. Сумма наша: " + СокрЛП(СуммаЗаказа) + ". Фактическую сумму и состав заказа проверяйте на сайте TISS"); Иначе Сообщить(" Ошибка создания заказа TISS HTTP " + об.Status + " " + об.StatusText); КонецЕсли; Сообщить("TISS: Окончание отправки заказа ("+СокрЛП(ТекущееВремя())+")."); Возврат НомерЗаказаВОтвете; КонецФункции