&НаСервере
Процедура ЗагрузитьДанныеНаСервере(Результат, ДопПараметры) Экспорт
// Проверяем, что файл был выбран (Результат не пустой)
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
// Создаем текстовый документ и читаем содержимое файла в кодировке UTF-8
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(Результат[0], КодировкаТекста.UTF8);
// Преобразуем текст из формата JSON в структуру данных 1С
ДанныеИзJSON = ПрочитатьЗначениеJSON(ТекстовыйДокумент.ПолучитьТекст());
// Обходим каждый элемент загруженного массива
Для каждого ТекущаяСтрока Из ДанныеИзJSON Цикл
// Пытаемся найти контрагента по коду (поле id)
НовыйКонтрагент = Справочники.Контрагенты.НайтиПоКоду(ТекущаяСтрока.id);
// Если контрагент не найден (пустая ссылка), создаем новый элемент справочника
Если НовыйКонтрагент.Пустая() Или НовыйКонтрагент = Неопределено Тогда
НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
// Заполняем реквизиты из данных JSON
НовыйКонтрагент.Код = ТекущаяСтрока.id;
НовыйКонтрагент.Наименование = ТекущаяСтрока.name;
НовыйКонтрагент.Адрес = ТекущаяСтрока.addres; // Проверьте название поля в JSON
НовыйКонтрагент.ИНН = ТекущаяСтрока.inn;
НовыйКонтрагент.Телефон = ТекущаяСтрока.phone; // Исправлено: точка вместо запятой
НовыйКонтрагент.Продавец = ТекущаяСтрока.salesman;
НовыйКонтрагент.Покупатель = ТекущаяСтрока.buyer; // Исправлено: buyer вместо buye
НовыйКонтрагент.Записать();
Иначе
// Если контрагент с таким кодом уже есть, сообщаем об этом
Сообщить("Контрагент с номером " + ТекущаяСтрока.id + " уже существует");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
// Создаем диалог выбора файла
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Заголовок = "Выберите файл";
ДиалогВыбора.Фильтр = "Файл JSON|*.json";
ДиалогВыбора.МножественныйВыбор = Ложь;
ДиалогВыбора.Показать(Новый ОписаниеОповещения("ЗагрузитьДанныеНаСервере", ЭтотОбъект, Новый Структура));
Элементы.Список.АвтоОбновление = Истина;
Элементы.Список.ПериодАвтоОбновления = 1;
КонецПроцедуры