Есть такая проблема, что в случае если в ключе соответствия нет даты, то
выдает ошибку "Представление даты имеет неверный формат("")"
Если в ключе соответствия есть дата, то всё работает хорошо.
Пробовала делать так
Тоже в случае с пустой датой выдает ошибку "невозможно привести к формату даты"
Что делать в таком случае?
РезультатСоответствие = ПрочитатьJSON(ЧтениеJSON,Истина,"closedDate",ФорматДатыJSON.ISO);выдает ошибку "Представление даты имеет неверный формат("")"
Если в ключе соответствия есть дата, то всё работает хорошо.
Пробовала делать так
ДатаЗакрытия = Сред(ДатаЗакрытия, 1, 4) + Сред(ДатаЗакрытия, 6, 2) + Сред(ДатаЗакрытия, 9, 2) + Сред(ДатаЗакрытия, 12, 2) + Сред(ДатаЗакрытия, 15, 2) + Сред(ДатаЗакрытия, 18, 2);
СтрокаСправочника.ДатаЗакрытияЗадачи = Дата (ДатаЗакрытия);Тоже в случае с пустой датой выдает ошибку "невозможно привести к формату даты"
Что делать в таком случае?
По теме из базы знаний
Найденные решения
(14)
Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Если Не ПустаяСтрока(Значение) Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
Иначе
Возврат Дата(1,1,1);
КонецЕсли
КонецЕсли;
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Копипаста с ИТС
Хорошей заменой постобработки, в этом случае, является использование функции восстановления. Для применения функции восстановления необходимо описать саму функцию и несколько изменить само чтение документа:
Хорошей заменой постобработки, в этом случае, является использование функции восстановления. Для применения функции восстановления необходимо описать саму функцию и несколько изменить само чтение документа:
Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
КонецЕсли;
Если Свойство = "pressure" Тогда
Возврат Значение*0.75;
КонецЕсли;
Если Свойство = "temp" Тогда
Возврат Значение-273.15;
КонецЕсли;
Если Свойство = "speed" Тогда
Возврат Значение*1.61;
КонецЕсли;
КонецФункции
&НаСервере
Процедура ЧтениеНаСервере()
Чтение = Новый ЧтениеJSON;
Чтение.ОткрытьФайл("c:\temp\weather.json");
Данные = ПрочитатьJSON(Чтение, Ложь, , , "ФункцияВосстановленияЧтения", ЭтотОбъект);
Чтение.Закрыть();
КонецПроцедуры
Показать
(4) функция восстановления:
Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
Если Свойство = "closedDate" Тогда
Результат = Дата(1,1,1);
Если ЗначениеЗаполнено(Значение) Тогда
Результат = ПрочитатьДатуJSON(Значение);
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецФункции Показать
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
(7)
1. Формат ISO (значение ФорматДатыJSON.ISO). В этом случае дата сериализуется следующим образом: "2009-02-15T00:00:00+0400".
2. Формат JavaScript (значение ФорматДатыJSON.JavaScript). В этом случае дата сериализуется следующим образом: "new Date(1234656000000)".
1. Формат ISO (значение ФорматДатыJSON.ISO). В этом случае дата сериализуется следующим образом: "2009-02-15T00:00:00+0400".
2. Формат JavaScript (значение ФорматДатыJSON.JavaScript). В этом случае дата сериализуется следующим образом: "new Date(1234656000000)".
(14)
Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Если Не ПустаяСтрока(Значение) Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
Иначе
Возврат Дата(1,1,1);
КонецЕсли
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
