From f74cc2ebff2398d52f2323265b29a350b0610c95 Mon Sep 17 00:00:00 2001 From: Roman Chesnokov Date: Fri, 15 May 2026 19:30:55 +0500 Subject: [PATCH] =?UTF-8?q?fix(bitra-patch):=20=D0=9F=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D1=8B=D0=97=D0=B0=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B8JSON=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=201=20=D0=BF?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=20(8.3.14);=20=D0=94?= =?UTF-8?q?=D0=B0=D1=82=D0=B0=201=D0=A1=20=D1=81=D0=B5=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D0=9D=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=D0=94=D0=BB=D1=8FJSON=20=D0=BA=D0=B0=D0=BA?= =?UTF-8?q?=20ISO-=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bfd_IntegrationAPIHelpers/Module.bsl | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bitra-patch/CommonModules/bfd_IntegrationAPIHelpers/Module.bsl b/bitra-patch/CommonModules/bfd_IntegrationAPIHelpers/Module.bsl index 44c3b67..9489c78 100644 --- a/bitra-patch/CommonModules/bfd_IntegrationAPIHelpers/Module.bsl +++ b/bitra-patch/CommonModules/bfd_IntegrationAPIHelpers/Module.bsl @@ -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С → строкой Попытка