Функция восстановления из JSON может использоваться для того, чтобы преобразовать данные JSON в типы платформы 1С, которые либо 1. не могут являться результатом автоматического преобразования, либо 2. чтобы просто изменить получаемые данные, если есть такая необходимость. В данном примере из json файла где ИНН, КПП контрагента - пустая строка, заменим на значение - Пустая строка ИНН (КПП)
// Структура JSON файла:
{
"Info": [
{
"Наименование": "Global Trade Company GmbH",
"НаименованиеПолное": "Global Trade Company GmbH",
"ИНН": "",
"КПП": "",
"ЮрФизЛицо": "Юридическое лицо",
"ТекущаяДата": "2023-09-03T16:45:44Z",
"ДанныеАдреса": "Страна - 1; Город - 1; Индекс - 1"
},
{
"Наименование": "Kikinda (Сербия)",
"НаименованиеПолное": "Kikinda (Сербия)",
"ИНН": "",
"КПП": "",
"ЮрФизЛицо": "Юридическое лицо",
"ТекущаяДата": "2023-09-03T16:45:44Z",
"ДанныеАдреса": "Страна - 2; Город - 2; Индекс - 2"
},
{
"Наименование": "Koenig Holding GmbH",
"НаименованиеПолное": "Koenig Holding GmbH",
"ИНН": "",
"КПП": "",
"ЮрФизЛицо": "Юридическое лицо",
"ТекущаяДата": "2023-09-03T16:45:44Z",
"ДанныеАдреса": "Страна - 3; Город - 3; Индекс - 3"
},
{
"Наименование": "АВИКА",
"НаименованиеПолное": "АВИКА",
"ИНН": "4825005381",
"КПП": "482201001",
"ЮрФизЛицо": "Юридическое лицо",
"ТекущаяДата": "2023-09-03T16:45:44Z",
"ДанныеАдреса": "Страна - 4; Город - 4; Индекс - 4"
},
{
"Наименование": "АвтБанк АКБ",
"НаименованиеПолное": "АКБ АвтБанк",
"ИНН": "",
"КПП": "",
"ЮрФизЛицо": "Юридическое лицо",
"ТекущаяДата": "2023-09-03T16:45:44Z",
"ДанныеАдреса": "Страна - 5; Город - 5; Индекс - 5"
}
]
}
//Код в модуле формы:
&НаСервере
Функция ФункцияВосстановленияСериализуемогоЗначения(Свойство, Значение, ДополнительныеПараметры) Экспорт
Если Свойство = "ИНН" ИЛИ Свойство = "КПП" Тогда
Если ПустаяСтрока(Значение) Тогда
Возврат "Пустая строка " + Свойство;
КонецЕсли;
КонецЕсли;
КонецФункции // ()
&НаСервере
Процедура ВыполнитьЧтениеДанныхНаСервере()
// Проверка наличия файла по пути;
ПутьНаСервере1 = "C:\Users\SystemX\Desktop\TestJSON_1.json";
ФайлJSON = Новый Файл(ПутьНаСервере1);
Если НЕ ФайлJSON.Существует() Тогда
ОбщегоНазначения.СообщитьПользователю("Файл отсутствует по пути: " + ПутьНаСервере1);
Возврат;
КонецЕсли;
ЧтениеJSON = Новый ЧтениеJSON();
Попытка
ЧтениеJSON.ОткрытьФайл(ПутьНаСервере1, "UTF-8");
Исключение
КонецПопытки;
ПрочитанноеЗначение = ПрочитатьJSON(ЧтениеJSON, Ложь,,, "ФункцияВосстановленияСериализуемогоЗначения", ЭтотОбъект);
ЧтениеJSON.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьЧтениеДанных(Команда)
ВыполнитьЧтениеДанныхНаСервере();
КонецПроцедуры
Длина не может быть меньше нуля. Имя параметра: length Орфографическая ошибка в Kikinda (найдено 2): Kikinda Орфографическая ошибка в Koenig (найдено 2): Koenig Орфографическая ошибка в ФункцияВосстановленияСериализуемогоЗначения (найдено 2): Сериализуемого
Чтение файлов Excel в таблицу значений (автоматическое наименование столбцов)
Чтение значения атрибута узла XML или объекта XDTO
ПриВосстановленииВерсииОбъекта (БСП)
Чтение файла (в таблицу значений) расширения .xlsx с помощью построителя запроса
ПриПовторномЧтенииНаСервереФормыРедактированияРазрешенныхЗначений (БСП)