Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
peredacha_tablicy_znachenij_cherez_http-servis [2024/04/24 07:03] tro создано |
peredacha_tablicy_znachenij_cherez_http-servis [2024/12/25 09:05] (текущий) tro |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Передача Таблицы Значений через HTTP-сервис ====== | ====== Передача Таблицы Значений через HTTP-сервис ====== | ||
| - | Отправка\Прием | + | Отправка |
| < | < | ||
| - | ответ = соединение.ОтправитьДляОбработки(запрос); | + | Функция ОтправитьPostЗапросJSON(текстЗапросаВФорматеJSON, |
| - | ответСтрока = ответ.ПолучитьТелоКакСтроку(); | + | |
| - | ТаблицаЗначений= ОбщегоНазначения.ЗначениеИзСтрокиXML(ответСтрока); | + | Если Доработки_Сервер.ОпределитьЭтаИнформационнаяБазаРабочая() Тогда |
| + | url = " | ||
| + | ИмяСервисаВебСервер = " | ||
| + | Иначе | ||
| + | url = " | ||
| + | ИмяСервисаВебСервер = " | ||
| + | КонецЕсли; | ||
| + | |||
| + | Данные = Неопределено; | ||
| + | |||
| + | |||
| + | Попытка | ||
| + | соединение = Новый HTTPСоединение(url,," | ||
| + | Исключение | ||
| + | Сообщить(" | ||
| + | + Символы.ПС + ИнформацияОбОшибке().Описание+" | ||
| + | Возврат Неопределено; | ||
| + | КонецПопытки; | ||
| + | |||
| + | запрос = Новый HTTPЗапрос("/" | ||
| + | запрос.УстановитьТелоИзСтроки(текстЗапросаВФорматеJSON, | ||
| + | |||
| + | Попытка | ||
| + | ответ = соединение.ОтправитьДляОбработки(запрос); | ||
| + | ответСтрока = ответ.ПолучитьТелоКакСтроку(); | ||
| + | Исключение | ||
| + | Сообщить(" | ||
| + | + Символы.ПС + ИнформацияОбОшибке().Описание+" для получения данных по наличию налоговых накладных. Повторная попытка будет выполнена позже.", | ||
| + | Возврат Неопределено; | ||
| + | КонецПопытки; | ||
| + | |||
| + | Попытка | ||
| + | |||
| + | // | ||
| + | Если Путь = " | ||
| + | ЧтениеJSON = Новый ЧтениеJSON(); | ||
| + | ЧтениеJSON.УстановитьСтроку(ответСтрока); | ||
| + | Данные = ПрочитатьJSON(ЧтениеJSON, | ||
| + | ИначеЕсли Путь = " | ||
| + | Данные | ||
| + | КонецЕсли; | ||
| + | //-- | ||
| + | |||
| + | Исключение | ||
| + | // | ||
| + | // | ||
| + | КонецПопытки; | ||
| + | |||
| + | Возврат Данные; | ||
| + | |||
| + | КонецФункции | ||
| </ | </ | ||
| - | Ответ/передача | + | |
| + | Ответ | ||
| < | < | ||
| - | Ответ = Новый HTTPСервисОтвет(200); | + | Функция ДанныеДоступовУстановитьЛогинПароль(Запрос) |
| - | Ответ.УстановитьТелоИзСтроки(ОбщегоНазначения.ЗначениеВСтрокуXML(ТаблицаЗначений), КодировкаТекста.UTF8); | + | Ответ = Новый HTTPСервисОтвет(200); |
| - | Возврат Ответ; | + | |
| + | СтруктураОтвета = Новый Структура; | ||
| + | МассивОшибок = Новый Массив; | ||
| + | СтруктураОтвета.Вставить(" | ||
| + | СтруктураОтвета.Вставить(" | ||
| + | |||
| + | // | ||
| + | Попытка | ||
| + | СтрокаНоменклатураJSON = Запрос.ПолучитьТелоКакСтроку(); | ||
| + | ПоступившиеДанные = ОбщегоНазначения.ЗначениеИзСтрокиXML(СтрокаНоменклатураJSON); | ||
| + | Исключение | ||
| + | МассивОшибок.Добавить(" | ||
| + | КонецПопытки; | ||
| + | |||
| + | Если МассивОшибок.Количество()=0 Тогда | ||
| + | // | ||
| + | |||
| + | КонецЕсли; | ||
| + | |||
| + | |||
| + | // | ||
| + | Ответ.УстановитьТелоИзСтроки(ОбщегоНазначения.ЗначениеВСтрокуXML(СтруктураОтвета), КодировкаТекста.UTF8); | ||
| + | |||
| + | Возврат Ответ; | ||
| + | КонецФункции | ||
| </ | </ | ||
| - | Прием | + | |