fix(bitra-patch): ПараметрыЗаписиJSON только 1 параметр (8.3.14); Дата 1С сериализуется в НормализоватьДляJSON как ISO-строка
This commit is contained in:
@@ -22,9 +22,10 @@
|
||||
Функция СформироватьОтветJSON(Знач Данные, Знач Код = 200) Экспорт
|
||||
|
||||
ЗаписьJSON = Новый ЗаписьJSON;
|
||||
// ФорматДатыJSON.ISO — иначе платформа падает на 1С-Дате с "Значение недопустимых типов".
|
||||
// ПереносСтрокJSON.Авто работает на 8.3.14.
|
||||
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, "", Истина, ФорматДатыJSON.ISO);
|
||||
// Минимальный конструктор для совместимости с 8.3.14.
|
||||
// Дата 1С обрабатывается в НормализоватьДляJSON ниже (преобразуется в ISO-строку),
|
||||
// поэтому ФорматДатыJSON в параметрах не нужен.
|
||||
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто);
|
||||
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
|
||||
|
||||
// ЗаписатьJSON не умеет сериализовать произвольные 1С-типы (ссылки, перечисления, ХранилищеЗначения и т.п.).
|
||||
@@ -70,8 +71,15 @@
|
||||
Результат.Добавить(НормализоватьДляJSON(Элемент));
|
||||
КонецЦикла;
|
||||
Возврат Результат;
|
||||
ИначеЕсли Тип = Тип("Строка") ИЛИ Тип = Тип("Число") ИЛИ Тип = Тип("Булево") ИЛИ Тип = Тип("Дата") Тогда
|
||||
ИначеЕсли Тип = Тип("Строка") ИЛИ Тип = Тип("Число") ИЛИ Тип = Тип("Булево") Тогда
|
||||
Возврат Значение;
|
||||
ИначеЕсли Тип = Тип("Дата") Тогда
|
||||
// Платформа в ПараметрыЗаписиJSON 8.3.14 не умеет сериализовать Дату 1С —
|
||||
// преобразуем в ISO-строку явно.
|
||||
Если НЕ ЗначениеЗаполнено(Значение) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
Возврат Формат(Значение, "ДФ=yyyy-MM-ddTHH:mm:ss");
|
||||
Иначе
|
||||
// Ссылки, перечисления, ХранилищеЗначения, прочие объекты 1С → строкой
|
||||
Попытка
|
||||
|
||||
Reference in New Issue
Block a user