Есть такая проблема, что в случае если в ключе соответствия нет даты, то

```1c
    РезультатСоответствие = ПрочитатьJSON(ЧтениеJSON,Истина,"closedDate",ФорматДатыJSON.ISO);
```

выдает ошибку "Представление даты имеет неверный формат("")"
Если в ключе соответствия есть дата, то всё работает хорошо.

Пробовала делать так

```1c
    ДатаЗакрытия = Сред(ДатаЗакрытия, 1, 4) + Сред(ДатаЗакрытия, 6, 2) + Сред(ДатаЗакрытия, 9, 2) + Сред(ДатаЗакрытия, 12, 2) + Сред(ДатаЗакрытия, 15, 2) + Сред(ДатаЗакрытия, 18, 2);
    СтрокаСправочника.ДатаЗакрытияЗадачи = Дата (ДатаЗакрытия);
```

Тоже в случае с пустой датой выдает ошибку "невозможно привести к формату даты"

Что делать в таком случае?
---
```1c
    Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
    Если Не ПустаяСтрока(Значение) Тогда
    Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
    Иначе
    Возврат Дата(1,1,1);
    КонецЕсли
    КонецЕсли;
```
---
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
---
Копипаста с ИТС

Хорошей заменой постобработки, в этом случае, является использование функции восстановления. Для применения функции восстановления необходимо описать саму функцию и несколько изменить само чтение документа:

```1c
    Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
    Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
    Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
    КонецЕсли;
    Если Свойство = "pressure" Тогда
    Возврат Значение*0.75;
    КонецЕсли;
    Если Свойство = "temp" Тогда
    Возврат Значение-273.15;
    КонецЕсли;
    Если Свойство = "speed" Тогда
    Возврат Значение*1.61;
    КонецЕсли;
    КонецФункции
    &НаСервере
    Процедура ЧтениеНаСервере()
    Чтение = Новый ЧтениеJSON;
    Чтение.ОткрытьФайл("c:\temp\weather.json");
    Данные = ПрочитатьJSON(Чтение, Ложь, , , "ФункцияВосстановленияЧтения", ЭтотОбъект);
    Чтение.Закрыть();
    КонецПроцедуры
```
---
да сижу работаю с этим. Выдает ошибку
---
Формат ISO примените, JS формат это timestamp.
---
JS формат это timestamp немного не понимаю о чем вы
---
функция восстановления:

```1c
    Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
    Если Свойство = "closedDate" Тогда
    Результат = Дата(1,1,1);
    Если ЗначениеЗаполнено(Значение) Тогда
    Результат = ПрочитатьДатуJSON(Значение);
    КонецЕсли;
    Возврат Результат;
    КонецЕсли;

    КонецФункции
```
---
у меня дата в формате ISO, пытаюсь поставить этот формат. Пока не получается
---
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
---
1. Формат ISO (значение ФорматДатыJSON.ISO). В этом случае дата сериализуется следующим образом: "2009-02-15T00:00:00+0400".

2. Формат JavaScript (значение ФорматДатыJSON.JavaScript). В этом случае дата сериализуется следующим образом: "new Date(1234656000000)".

https://www.wikiwand.com/ru/Unix-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F
---
это я понимаю
ПрочитатьДатуJSON(Значение, ФорматДатыJSON.ISO);
составила так, всё равно ошибка
---
Вариант двоеточие убрать в смещении.
---
ошибку такую выдает
---
я так понимаю это не срабатывает из-за того, что значение ключа не содержит ничего.
---
Проверяйте вх даные, преобразование работает корректно.
---
именно, что в случае если в значение есть дата, то она преобразуется, а может быть такое, что в значение нет даты и тип "неопределено", в этом случае программа вылетает с ошибкой. Я пытаюсь этот момент как-то обойти
---
```1c
    Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
    Если Не ПустаяСтрока(Значение) Тогда
    Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
    Иначе
    Возврат Дата(1,1,1);
    КонецЕсли
    КонецЕсли;
```
---
спасибо, все заработало!
---
Спасибо, помогли.
---
Дата = XMLЗначение(Тип("Дата"), "2022-01-01T23:59:59");
---
ПрочитатьДатуJSON(<Строка>, <Формат>) ?