Добрый день! Пытаюсь создать новых контрагентов в типовой конфигурации БГУ, но выдаёт ошибку. В самописной создаётся без проблем, здесь ругается.
Вот код

```1c
    СК = Справочники.Контрагенты.СоздатьЭлемент();
    СК.Наименование = "Петров";
    Ск.Родитель = "Студенты";
    Ск.ЮридическоеФизическоеЛицо = Справочники.ТипыКонтрагентов.НайтиПоНаименованию("7 - Физическое лицо");
    ск.Записать();
```

Возникает следующая ошибка:
{Справочник.Контрагенты.МодульОбъекта(57)}: Значение не является значением объектного типа (Пустая)
 ск.Записать();

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{Справочник.Контрагенты.МодульОбъекта(57)}: Значение не является значением объектного типа (Пустая)

{Справочник.Контрагенты.МодульОбъекта(57)}: Значение не является значением объектного типа (Пустая)
  Если (ЭтоНовый() И ЮридическоеФизическоеЛицо.Пустая())

Не могу понять как выкрутиться, уже пробовал указать Тип контрагента (обязательное поле) но ошибка всё равно возникает, подскажите, пожалуйста, как сделать правильно
---
```1c
    СК = Справочники.Контрагенты.СоздатьЭлемент();
    СК.Наименование = "Петров";
    Ск.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Студенты");
    Ск.ВидКонтрагента = Перечисления.ЮрФизЛицо.ФизЛицо;
    Ск.ТипКонтрагента = Справочники.ТипыКонтрагентов.НайтиПоКоду("7");
    Ск.ЮридическоеФизическоеЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Петров");
    ск.Записать();
```
---
Код обработчика события "ПередЗаписью" из модуля объекта справочника покажите здесь.
---
```1c
    ФормаФизическогоЛица = Неопределено;

    Если ЭтоФизическоеЛицо Тогда

    Если НЕ ПустаяСтрока(ДокументыФизическихЛиц.ВидДокумента) И НЕ ЗначениеЗаполнено(ДокументыФизическихЛиц.Период) Тогда
    ТекстСообщения = НСтр("ru='Не заполнена дата начала действия сведений о документе удостоверяющем личность'");
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,,"ДокументыФизическихЛиц.Период",,Отказ);
    Возврат;
    КонецЕсли;

    // ФИО
    ОбщегоНазначенияБГУКлиент.УстановитьРежимИзмененияРегистра(ЭтотОбъект, "ФИОФизическихЛиц");

    // гражданство
    ОбщегоНазначенияБГУКлиент.УстановитьРежимИзмененияРегистра(ЭтотОбъект, "ГражданствоФизическихЛиц");

    // документ удостоверяющий личность
    ОбщегоНазначенияБГУКлиент.УстановитьРежимИзмененияРегистра(ЭтотОбъект, "ДокументыФизическихЛиц");

    КонецЕсли;

    ОценкаПроизводительностиКлиент.НачатьЗамерВремени(Истина, "ЗаписьКонтрагенты");
```
---
Что-то не то вы выложили.
---
```1c
    Процедура ПередЗаписью(Отказ)

    Если ОбменДанными.Загрузка Тогда
    Возврат;
    КонецЕсли;

    ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);

    Если НЕ ЭтоГруппа Тогда

    Если (ВидКонтрагента = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ЮрЛицо") И ТипЗнч(ЮридическоеФизическоеЛицо) = Тип("СправочникСсылка.ФизическиеЛица"))
    ИЛИ (ВидКонтрагента = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ФизЛицо") И ТипЗнч(ЮридическоеФизическоеЛицо) = Тип("СправочникСсылка.ЮридическиеЛица")) Тогда

    Отказ = Истина;

    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Вид контрагента не соответствует заполненным данным.'"), ЭтотОбъект);

    КонецЕсли;

    // Если контрагент был скопирован, а ЮрФизЛицо очищено, то нужно очистить ИНН и КПП.
    // Если контрагент не новый, а ЮрФизЛицо не существует в базе, то ИНН и КПП нужно очистить.
    Если (ЭтоНовый() И ЮридическоеФизическоеЛицо.Пустая())
    ИЛИ (НЕ ЭтоНовый() И НЕ ОбщегоНазначения.СсылкаСуществует(ЮридическоеФизическоеЛицо)) Тогда

    ИНН = ";
    КПП = ";
    КонтактнаяИнформация.Очистить();
    КППИстория.Очистить();

    КонецЕсли;

    КонецЕсли;
```

Извините, перепутал
---
ЮридическоеФизическоеЛицо у вас при создании неверный тип этого поля.
---
```1c
    СК = Справочники.Контрагенты.СоздатьЭлемент();
    СК.Наименование = "Петров";
    Ск.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Студенты");
    Ск.ВидКонтрагента = Перечисления.ЮрФизЛицо.ФизЛицо;
    Ск.ТипКонтрагента = Справочники.ТипыКонтрагентов.НайтиПоКоду("7");
    Ск.ЮридическоеФизическоеЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Петров");
    ск.Записать();
```
---
Спасибо, сработало. Думал, что если новый элемент заводить, но НайтиПоНаименованию не надо использовать
---
Либо вы заполняете реквизиты контрагента существующими значениями справочника Физ.лица, тогда как-то ищете нужный элемент в справочнике, либо создавайте новый элемент.
---
Да делаю обработку для загрузки из файла excel, как прочитать его уже научился, вот осталось только справочник заполнить с контрагентами
---
А как правильнее делать, сначала физ. лица загружать а потом создавать из них контрагентов или сразу контрагентов создавать? Вроде из контрагента сразу физ лицо и создаётся
---
Перед записью контрагента, у вас уже должен быть элемент справочник Юридические лица или Физические лица для этого контрагента, чтобы заполнить соответствующий реквизит контрагента.
Как именно и в каком порядке вы будете грузить данные - зависит от данных и реализации.
У физ.лиц как и у юр. лиц в справочниках не мало так реквизитов, и если в файле есть данные, их соответственно тоже надо заполнять.
---
Спасибо, данные есть эти все из другой конфигурации выгруженные, так что сначала загружу в ФЛ, потом контрагентов на их основании создам группой