У меня вместе с json приходит пачка всех контрагентов с другой базы

```1c
    //ПАРСИМ JSON СТРОКУ
    Процедура ЗагрузитьКонтрагентаJSON(СтрокаКонтрагентJSON)Экспорт

    ЧтениеJSON = Новый ЧтениеJSON();
    ЧтениеJSON.УстановитьСтроку(СтрокаКонтрагентJSON);

    КонтрагентМассив = ПрочитатьJSON(ЧтениеJSON);
    Для Каждого СтрокаМассива Из КонтрагентМассив Цикл
    СоздатьКонтрагента(СтрокаМассива);
    КонецЦикла;

    КонецПроцедуры

    //СОЗДАЕМ ЭЛЕМЕНТЫ СПРАВОЧНИКА Контрагент
    Процедура СоздатьКонтрагента(СтруктураСДанными)

    КонтрагентОбъект = Справочники.Контрагенты.СоздатьЭлемент();
    КонтрагентОбъект.ПометкаУдаления = СтруктураСДанными.ПометкаУдаления;
    КонтрагентОбъект.Наименование = СтруктураСДанными.Наименование;
    КонтрагентОбъект.ДатаСвидетельстваПоНДС = СтруктураСДанными.ДатаСвидетельстваПоНДС;
    КонтрагентОбъект.ДокументУдостоверяющийЛичность = СтруктураСДанными.ДокументУдостоверяющийЛичность;
    КонтрагентОбъект.ИдентификационныйКодЛичности = СтруктураСДанными.ИдентификационныйКодЛичности;
    КонтрагентОбъект.ИндивидуальныйПредпринимательАдвокатЧастныйНотариус = СтруктураСДанными.ИндивидуальныйПредпринимательАдвокатЧастныйНотариус;
    КонтрагентОбъект.КБЕ = СтруктураСДанными.КБЕ;
    КонтрагентОбъект.КодПоОКПО = СтруктураСДанными.КодПоОКПО;
    КонтрагентОбъект.Комментарий = СтруктураСДанными.Комментарий;
    КонтрагентОбъект.НаименованиеПолное = СтруктураСДанными.НаименованиеПолное;
    КонтрагентОбъект.НомерНалоговойРегистрацииВСтранеРезидентства = СтруктураСДанными.НомерНалоговойРегистрацииВСтранеРезидентства;
    КонтрагентОбъект.НомерСвидетельстваПоНДС = СтруктураСДанными.НомерСвидетельстваПоНДС;
    КонтрагентОбъект.РНН = СтруктураСДанными.РНН;
    КонтрагентОбъект.СерияСвидетельстваПоНДС = СтруктураСДанными.СерияСвидетельстваПоНДС;
    КонтрагентОбъект.СИК = СтруктураСДанными.СИК;
    КонтрагентОбъект.УказыватьРеквизитыГоловнойОрганизацииВСчетеФактуре = СтруктураСДанными.УказыватьРеквизитыГоловнойОрганизацииВСчетеФактуре;
    КонтрагентОбъект.ГосударственноеУчреждение = СтруктураСДанными.ГосударственноеУчреждение;
    КонтрагентОбъект.ИмяПредопределенныхДанных = СтруктураСДанными.ИмяПредопределенныхДанных;
    КонтрагентОбъект.Записать();

    КонецПроцедуры
```

Теперь не могу сообразить как правильно сделать проверку на дубли чтобы не записывались уже существующие контрагенты, потому что эта процедура будет проходить каждые 5-10 минут. Подскажите каким методом лучше всё залепить. Процедуры находятся в общем модуле
---
СтруктураСДанными.Наименование - подразумеваю, что тут строка с отсечением пробелом с обеих сторон. Иначе вот так

```1c
    ИскомоеНаименованиеКонтрагента = СокрЛП(Строка(СтруктураСДанными.Наименование));
    СпрКонтрНаименованиеПолное = Справочники.Контрагенты.НайтиПоНаименованию(ИскомоеНаименованиеКонтрагента);
```
---
Искать по Наименованию или Коду если они есть, то не создавать, а просто перезаписывать действующего контрагента, на случай, если обновилась информация.
---
это понятно, а как именно не создавать, пробовал через найти по реквизиту, но не сработало

```1c
    СпрКонтрНаименованиеПолное = Справочники.Контрагенты.НайтиПоРеквизиту("Наименование", СтруктураСДанными.Наименование);
    СпрКонтрИИН = Справочники.Контрагенты.НайтиПоРеквизиту("ИдентификационныйКодЛичности", СтруктураСДанными.ИдентификационныйКодЛичности);
    Если СпрКонтрИИН = Справочники.Контрагенты.ПустаяСсылка() и СпрКонтрНаименованиеПолное = Справочники.Контрагенты.ПустаяСсылка() Тогда
```
---
```1c
    СпрКонтрНаименованиеПолное = Справочники.Контрагенты.НайтиПоНаименованию(СтруктураСДанными.Наименование);
```

А так работает?
---
СтруктураСДанными.Наименование - подразумеваю, что тут строка с отсечением пробелом с обеих сторон. Иначе вот так

```1c
    ИскомоеНаименованиеКонтрагента = СокрЛП(Строка(СтруктураСДанными.Наименование));
    СпрКонтрНаименованиеПолное = Справочники.Контрагенты.НайтиПоНаименованию(ИскомоеНаименованиеКонтрагента);
```
---
Да, сработает, но хотелось бы и по реквизиту проверять, через ИдентификационныйКодЛичности например
---
Я так понимаю вот этот поиск не работает
```1c
    СпрКонтрИИН = Справочники.Контрагенты.НайтиПоРеквизиту("ИдентификационныйКодЛичности", СтруктураСДанными.ИдентификационныйКодЛичности);
```

А типы реквизитов совпадают? Нет ли такой ошибки, что "ИдентификационныйКодЛичности" - тип "число", а СтруктураСДанными.ИдентификационныйКодЛичности - это строка?
---
А вы случайно не знаете можно ли засунуть два массива в один json и затем нормально распарсить его?
---
Вы передаете сейчас массив структур, где в структуре данные контрагента. Попробуйте передать Структуре вида

```1c
    СтруктураПередаваемыхДанных = Новый структура;
    Структура.Вставить("КонтрагентМассив" , СозданныйМассивКонтрагентов);
    Структура.Вставить("ДругойМассив" , СозданныйМассивДругихДанных);
```

Должно получиться
---
СтруктураПередаваемыхДанных .Вставить("КонтрагентМассив" , СозданныйМассивКонтрагентов);
СтруктураПередаваемыхДанных .Вставить("ДругойМассив" , СозданныйМассивДругихДанных);
---
получилось, спасибо, а как затем его распарсить если там две структуры
---
```1c
    ЧтениеJSON = Новый ЧтениеJSON();
    ЧтениеJSON.УстановитьСтроку(СтрокаКонтрагентJSON);

    КонтрагентМассив = ПрочитатьJSON(ЧтениеJSON);
    Для Каждого СтрокаМассива Из КонтрагентМассив Цикл
    СоздатьКонтрагента(СтрокаМассива);
    КонецЦикла;
```

То есть теперь нужно принять обе структуры и раскидать в два массива, а как их поделить?
---
```1c
    ЧтениеJSON = Новый ЧтениеJSON();
    ЧтениеJSON.УстановитьСтроку(СтрокаКонтрагентJSON);

    НашеСоответствие = ПрочитатьJSON(ЧтениеJSON, Истина);
    КонтрагентМассив = НашеСоответствие.Получить("КонтрагентМассив");
```
---
Вот так примерно будет

```1c
    //Запись
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    СтруктураПередаваемыхДанных = Новый структура;
    СтруктураПередаваемыхДанных.Вставить("КонтрагентМассив" , СозданныйМассивКонтрагентов);
    СтруктураПередаваемыхДанных.Вставить("ДругойМассив" , СозданныйМассивДругихДанных);
    ЗаписатьJSON(ЗаписьJSON, СтруктураПередаваемыхДанных);
    Результат = ЗаписьJSON.Закрыть();

    //Чтение
    ЧтениеJSON = Новый ЧтениеJSON();
    ЧтениеJSON.УстановитьСтроку(Результат);
    ОбъектИзJSON = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();

    КонтрагентМассив = ОбъектИзJSON.КонтрагентМассив;
    ДругойМассив = ОбъектИзJSON.ДругойМассив;
    Для Каждого СтрокаМассива Из КонтрагентМассив Цикл
    СоздатьКонтрагента(СтрокаМассива);
    КонецЦикла;
```