From 2cecba6c4fcf87aaa1d86ffb3ef5e90942714c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 10:30:03 +0300 Subject: [PATCH 1/7] fix #1681 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлено поведение объекта ЧтениеJSON и глобальной функции ПрочитатьJSON, строки с датами не конвертируются автоматически в дату --- src/OneScript.StandardLibrary/Json/JSONReader.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/OneScript.StandardLibrary/Json/JSONReader.cs b/src/OneScript.StandardLibrary/Json/JSONReader.cs index 866cd54b9..17deed3d5 100644 --- a/src/OneScript.StandardLibrary/Json/JSONReader.cs +++ b/src/OneScript.StandardLibrary/Json/JSONReader.cs @@ -230,6 +230,7 @@ public void OpenFile(string JSONFileName, IValue encoding = null) _reader = new JsonReaderInternal(_fileReader) { SupportMultipleContent = true + ,DateParseHandling = DateParseHandling.None }; } @@ -255,6 +256,7 @@ public void OpenStream(IStreamWrapper streamContext, IValue encoding = null) _reader = new JsonReaderInternal(new StreamReader(stream, enc, leaveOpen:true)) { SupportMultipleContent = true + ,DateParseHandling = DateParseHandling.None }; } @@ -298,6 +300,7 @@ public void SetString(string JSONString) _reader = new JsonReaderInternal(new StringReader(JSONString)) { SupportMultipleContent = true + ,DateParseHandling = DateParseHandling.None }; } From 8efa13e19cb93302fbde544885502427e0dc57b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 11:24:40 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=A7?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B8=D0=B5JSON=20=D0=B8=20=D0=9F=D1=80?= =?UTF-8?q?=D0=BE=D1=87=D0=B8=D1=82=D0=B0=D1=82=D1=8CJSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/json/test-json_reader.os | 75 ++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/tests/json/test-json_reader.os b/tests/json/test-json_reader.os index fdc3b5dc5..4ae00bae4 100644 --- a/tests/json/test-json_reader.os +++ b/tests/json/test-json_reader.os @@ -28,6 +28,11 @@ СписокТестов.Добавить("Тест_Должен_ПроверитьОткрытиеПотока"); СписокТестов.Добавить("Тест_Должен_ПроверитьПовторноеОткрытиеПотока"); СписокТестов.Добавить("Тест_Должен_ПроверитьСохранениеПотокаПослеЗакрытияЧтения"); + + СписокТестов.Добавить("Тест_Должен_ОпределятьСтрокуСДатойВФорматеISOКакСтроку"); + СписокТестов.Добавить("Тест_Должен_ЧитатьСтрокуСДатойВФорматеISOКакСтроку"); + СписокТестов.Добавить("Тест_Должен_ЧитатьДатуВФорматеISOКакСтрокуПриИспользованииПрочитатьJSON"); + Возврат СписокТестов; КонецФункции @@ -256,3 +261,73 @@ юТест.ПроверитьРавенство(42, Json.Ответ); КонецПроцедуры + +Процедура Тест_Должен_ОпределятьСтрокуСДатойВФорматеISOКакСтроку() Экспорт + + // проверяемая строка json + СтрокаJSON = "{ ""lastSignInTime"": ""2026-05-13T22:51:46Z"" }"; + + // какие типы должны быть при последовательном чтении + ЭталонЗначения = Новый Массив; + ЭталонЗначения.Добавить( ТипЗначенияJSON.НачалоОбъекта ); + ЭталонЗначения.Добавить( ТипЗначенияJSON.ИмяСвойства ); + ЭталонЗначения.Добавить( ТипЗначенияJSON.Строка ); + ЭталонЗначения.Добавить( ТипЗначенияJSON.КонецОбъекта ); + + // читаем последовательно строку json и собираем типы значений по порядку + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(СтрокаJSON); + ФактЗначения = Новый Массив; + Пока ЧтениеJSON.Прочитать() Цикл + ФактЗначения.Добавить( ЧтениеJSON.ТипТекущегоЗначения ); + КонецЦикла; + ЧтениеJSON.Закрыть(); + + // проверяем что эталон и факт данные идентичны + Если ЭталонЗначения.Количество() <> ФактЗначения.Количество() Тогда + ВызватьИсключение "Разное количество эталонных и фактических данных"; + КонецЕсли; + + Для Сч = 0 По ЭталонЗначения.ВГраница() Цикл + юТест.ПроверитьРавенство(ЭталонЗначения[Сч], ФактЗначения[Сч]); + КонецЦикла; + +КонецПроцедуры + +Процедура Тест_Должен_ЧитатьСтрокуСДатойВФорматеISOКакСтроку() Экспорт + + // проверяемая строка json + СтрокаJSON = "{ ""lastSignInTime"": ""2026-05-13T22:51:46Z"" }"; + + // читаем последовательно строку json и собираем типы значений по порядку + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(СтрокаJSON); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + + ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; + + ЧтениеJSON.Закрыть(); + + юТест.ПроверитьРавенство(ТекущееЗначение, "2026-05-13T22:51:46Z"); + +КонецПроцедуры + +Процедура Тест_Должен_ЧитатьДатуВФорматеISOКакСтрокуПриИспользованииПрочитатьJSON() Экспорт + + // проверяемая строка json + СтрокаJSON = "{ ""lastSignInTime"": ""2026-05-13T22:51:46.230Z"" }"; + + // читаем json в структуру + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(СтрокаJSON); + Объект = ПрочитатьJSON(ЧтениеJSON); + ЧтениеJSON.Закрыть(); + + Ожидаем = Тип("Строка"); + Факт = ТипЗнч( Объект.lastSignInTime ); + юТест.ПроверитьРавенство(Ожидаем, Факт); + юТест.ПроверитьРавенство(Объект.lastSignInTime, "2026-05-13T22:51:46.230Z"); + +КонецПроцедуры \ No newline at end of file From 540032541be85db9ab5cdcb35c0ed1bc4a6de110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 13:12:19 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B,=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D1=8E=D1=89=D0=B8=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=83=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=81=20=D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E=20?= =?UTF-8?q?=D0=9E=D1=82=D0=BA=D1=80=D1=8B=D1=82=D1=8C=D0=9F=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=BA()=20=D0=B8=20=D0=9E=D1=82=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D1=8C=D0=A4=D0=B0=D0=B9=D0=BB()=20-=20=D0=BF=D0=BE=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=20codera?= =?UTF-8?q?bbit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/json/json-mock_isodate.json | 1 + tests/json/test-json_reader.os | 49 ++++++++++++++++++++++++++++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 tests/json/json-mock_isodate.json diff --git a/tests/json/json-mock_isodate.json b/tests/json/json-mock_isodate.json new file mode 100644 index 000000000..9da105096 --- /dev/null +++ b/tests/json/json-mock_isodate.json @@ -0,0 +1 @@ +{ "lastSignInTime": "2026-05-13T22:51:46Z" } \ No newline at end of file diff --git a/tests/json/test-json_reader.os b/tests/json/test-json_reader.os index 4ae00bae4..c7e3d4e36 100644 --- a/tests/json/test-json_reader.os +++ b/tests/json/test-json_reader.os @@ -31,6 +31,8 @@ СписокТестов.Добавить("Тест_Должен_ОпределятьСтрокуСДатойВФорматеISOКакСтроку"); СписокТестов.Добавить("Тест_Должен_ЧитатьСтрокуСДатойВФорматеISOКакСтроку"); + СписокТестов.Добавить("Тест_Должен_ОткрытьПотокЧитаетСтрокуСДатойВФорматеISOКакСтроку"); + СписокТестов.Добавить("Тест_Должен_ОткрытьФайлЧитаетСтрокуСДатойВФорматеISOКакСтроку"); СписокТестов.Добавить("Тест_Должен_ЧитатьДатуВФорматеISOКакСтрокуПриИспользованииПрочитатьJSON"); Возврат СписокТестов; @@ -330,4 +332,49 @@ юТест.ПроверитьРавенство(Ожидаем, Факт); юТест.ПроверитьРавенство(Объект.lastSignInTime, "2026-05-13T22:51:46.230Z"); -КонецПроцедуры \ No newline at end of file +КонецПроцедуры + + +Процедура Тест_Должен_ОткрытьПотокЧитаетСтрокуСДатойВФорматеISOКакСтроку() Экспорт + + // проверяемая строка json + СтрокаJSON = "{ ""lastSignInTime"": ""2026-05-13T22:51:46Z"" }"; + + БДД = ПолучитьБуферДвоичныхДанныхИзСтроки(СтрокаJSON); + Поток = Новый ПотокВПамяти(БДД); + Чтение = Новый ЧтениеJSON; + Чтение.ОткрытьПоток(Поток); + + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(СтрокаJSON); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + + ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; + ТипТекущегоЗначения = ЧтениеJSON.ТипТекущегоЗначения; + + ЧтениеJSON.Закрыть(); + + юТест.ПроверитьРавенство(ТекущееЗначение, "2026-05-13T22:51:46Z"); + юТест.ПроверитьРавенство(ТипТекущегоЗначения, ТипЗначенияJSON.Строка); + +КонецПроцедуры + +Процедура Тест_Должен_ОткрытьФайлЧитаетСтрокуСДатойВФорматеISOКакСтроку() Экспорт + + Чтение = Новый ЧтениеJSON; + Чтение.ОткрытьФайл("json/json-mock_isodate.json"); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); + + ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; + ТипТекущегоЗначения = ЧтениеJSON.ТипТекущегоЗначения; + + ЧтениеJSON.Закрыть(); + + юТест.ПроверитьРавенство(ТекущееЗначение, "2026-05-13T22:51:46Z"); + юТест.ПроверитьРавенство(ТипТекущегоЗначения, ТипЗначенияJSON.Строка); + +КонецПроцедуры From 4c9ee3c69bd8c3822f50f737b5cb7b8a87849291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 13:16:09 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=88=D0=BD=D1=8F=D1=8F=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/json/test-json_reader.os | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/json/test-json_reader.os b/tests/json/test-json_reader.os index c7e3d4e36..1bc444cc9 100644 --- a/tests/json/test-json_reader.os +++ b/tests/json/test-json_reader.os @@ -285,11 +285,6 @@ КонецЦикла; ЧтениеJSON.Закрыть(); - // проверяем что эталон и факт данные идентичны - Если ЭталонЗначения.Количество() <> ФактЗначения.Количество() Тогда - ВызватьИсключение "Разное количество эталонных и фактических данных"; - КонецЕсли; - Для Сч = 0 По ЭталонЗначения.ВГраница() Цикл юТест.ПроверитьРавенство(ЭталонЗначения[Сч], ФактЗначения[Сч]); КонецЦикла; From 3a71ca02f842207c1db27d2190e10fc235d529c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 22:14:54 +0300 Subject: [PATCH 5/7] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BF=D0=B0=D1=80=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=20JsonReaderInternal=20=D0=B2=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Json/JSONReader.cs | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/OneScript.StandardLibrary/Json/JSONReader.cs b/src/OneScript.StandardLibrary/Json/JSONReader.cs index 17deed3d5..aa588f4ba 100644 --- a/src/OneScript.StandardLibrary/Json/JSONReader.cs +++ b/src/OneScript.StandardLibrary/Json/JSONReader.cs @@ -23,6 +23,8 @@ internal class JsonReaderInternal: JsonTextReader // из библиотеки public JsonReaderInternal(TextReader reader) : base(reader) { Finished = false; + SupportMultipleContent = true; + DateParseHandling = DateParseHandling.None; } public override bool Read() @@ -227,11 +229,7 @@ public void OpenFile(string JSONFileName, IValue encoding = null) throw new RuntimeException(e.Message, e); } - _reader = new JsonReaderInternal(_fileReader) - { - SupportMultipleContent = true - ,DateParseHandling = DateParseHandling.None - }; + _reader = new JsonReaderInternal(_fileReader); } /// @@ -253,11 +251,7 @@ public void OpenStream(IStreamWrapper streamContext, IValue encoding = null) var enc = encoding != null ? TextEncodingEnum.GetEncoding(encoding) : System.Text.Encoding.UTF8; - _reader = new JsonReaderInternal(new StreamReader(stream, enc, leaveOpen:true)) - { - SupportMultipleContent = true - ,DateParseHandling = DateParseHandling.None - }; + _reader = new JsonReaderInternal(new StreamReader(stream, enc, leaveOpen:true)); } /// @@ -297,11 +291,7 @@ public void SetString(string JSONString) { Close(); - _reader = new JsonReaderInternal(new StringReader(JSONString)) - { - SupportMultipleContent = true - ,DateParseHandling = DateParseHandling.None - }; + _reader = new JsonReaderInternal(new StringReader(JSONString)); } } From ced66636d7ecee1db343836069c6a5a788b68a13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 22:17:57 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B5=D1=81=D1=82,=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D1=81=D0=BE=D0=B2?= =?UTF-8?q?=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D1=80=D0=BE=D0=B2=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8?= =?UTF-8?q?=D0=B2=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/json/test-json_reader.os | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/json/test-json_reader.os b/tests/json/test-json_reader.os index 1bc444cc9..e7fc4a1f0 100644 --- a/tests/json/test-json_reader.os +++ b/tests/json/test-json_reader.os @@ -284,6 +284,8 @@ ФактЗначения.Добавить( ЧтениеJSON.ТипТекущегоЗначения ); КонецЦикла; ЧтениеJSON.Закрыть(); + + юТест.ПроверитьРавно( ЭталонЗначения.Количество(), ФактЗначения.Количество() ); Для Сч = 0 По ЭталонЗначения.ВГраница() Цикл юТест.ПроверитьРавенство(ЭталонЗначения[Сч], ФактЗначения[Сч]); From 43c3809ada78f7493a538135c80747b3cc3c74b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=9A=D0=B0=D1=88=D0=B0?= =?UTF-8?q?=D1=84=D1=83=D1=82=D0=B4=D0=B8=D0=BD=D0=BE=D0=B2?= Date: Sat, 16 May 2026 22:30:54 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/json/test-json_reader.os | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/tests/json/test-json_reader.os b/tests/json/test-json_reader.os index e7fc4a1f0..c5e58617b 100644 --- a/tests/json/test-json_reader.os +++ b/tests/json/test-json_reader.os @@ -301,15 +301,17 @@ // читаем последовательно строку json и собираем типы значений по порядку ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(СтрокаJSON); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); + ЧтениеJSON.Прочитать(); // НачалоОбъекта + ЧтениеJSON.Прочитать(); // ИмяСвойства + ЧтениеJSON.Прочитать(); // Строка ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; + ТекущийТип = ЧтениеJSON.ТипТекущегоЗначения; ЧтениеJSON.Закрыть(); юТест.ПроверитьРавенство(ТекущееЗначение, "2026-05-13T22:51:46Z"); + юТест.ПроверитьРавенство(ТекущийТип, ТипЗначенияJSON.Строка); КонецПроцедуры @@ -339,14 +341,13 @@ БДД = ПолучитьБуферДвоичныхДанныхИзСтроки(СтрокаJSON); Поток = Новый ПотокВПамяти(БДД); - Чтение = Новый ЧтениеJSON; - Чтение.ОткрытьПоток(Поток); - + ЧтениеJSON = Новый ЧтениеJSON; - ЧтениеJSON.УстановитьСтроку(СтрокаJSON); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); + ЧтениеJSON.ОткрытьПоток(Поток); + + ЧтениеJSON.Прочитать(); // НачалоОбъекта + ЧтениеJSON.Прочитать(); // ИмяСвойства + ЧтениеJSON.Прочитать(); // Строка ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; ТипТекущегоЗначения = ЧтениеJSON.ТипТекущегоЗначения; @@ -360,11 +361,12 @@ Процедура Тест_Должен_ОткрытьФайлЧитаетСтрокуСДатойВФорматеISOКакСтроку() Экспорт - Чтение = Новый ЧтениеJSON; - Чтение.ОткрытьФайл("json/json-mock_isodate.json"); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); - ЧтениеJSON.Прочитать(); + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.ОткрытьФайл("json/json-mock_isodate.json"); + + ЧтениеJSON.Прочитать(); // НачалоОбъекта + ЧтениеJSON.Прочитать(); // ИмяСвойства + ЧтениеJSON.Прочитать(); // Строка ТекущееЗначение = ЧтениеJSON.ТекущееЗначение; ТипТекущегоЗначения = ЧтениеJSON.ТипТекущегоЗначения;