циклом обрабатываем таблицу
если сотрудника нет то создаем сначала в справочнике ФизическиеЛица, регистре
сведений ФИОФизическихЛиц и справочнике Сотрудники.
После чего в табличную часть вновь созданного документа нужно записать ссылку справочника Сотрудники.
Код не работает при создании документа. Пишет объект не обнаружен.
Подскажите ПОЧЕМУ?

```1c
    ОтсутствующиеСотрудники = Новый ТекстовыйДокумент;

    НачислениеЗарплаты = Документы.НачислениеЗарплаты.СоздатьДокумент();
    НачислениеЗарплаты.Дата = ТекущаяДата();

    Для Каждого ТЭлемент ИЗ iikoДанные Цикл

    ФИОМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТЭлемент.Сотрудник," ",,);

    //заполнение табличной части Начисления
    тчНачисления = НачислениеЗарплаты.Начисления.Добавить();

    Если ПустаяСтрока(Справочники.Сотрудники.НайтиПоНаименованию(ФИОМассив[0])) Тогда
    //создаем справочник физические лица
    ФизЛицо = Справочники.ФизическиеЛица.СоздатьЭлемент();

    ФизЛицо.УстановитьСсылкуНового(Справочники.ФизическиеЛица.ПолучитьСсылку(Новый УникальныйИдентификатор()));
    ФизЛицо.ФИО = ТЭлемент.Сотрудник;
    ФизЛицо.НаименованиеСлужебное = ТЭлемент.Сотрудник;
    ФизЛицо.Наименование = ТЭлемент.Сотрудник;

    ФизЛицо.Фамилия = ФИОМассив[0];
    ФизЛицо.Имя = ФИОМассив[1];
    Если ФИОМассив.Количество() = 2 Тогда
    //отчества нет
    КонецЕсли;
    Если ФИОМассив.Количество() = 3 Тогда
    ФизЛицо.Отчество = ФИОМассив[2];
    КонецЕсли;

    СсылкаФизЛицо = ФизЛицо.ПолучитьСсылкуНового();

    // Добавление записей в периодический независимый регистр сведений
    НаборЗаписей = РегистрыСведений.ФИОФизическихЛиц.СоздатьНаборЗаписей();

    НаборЗаписей.Отбор.ФизическоеЛицо.Установить(СсылкаФизЛицо);

    НовЗапись = НаборЗаписей.Добавить();

    НовЗапись.Период = ТекущаяДата();
    НовЗапись.ФизическоеЛицо = СсылкаФизЛицо;
    НовЗапись.Фамилия = ФИОМассив[0];
    НовЗапись.Имя = ФИОМассив[1];
    Если ФИОМассив.Количество() = 2 Тогда
    //отчества нет
    КонецЕсли;
    Если ФИОМассив.Количество() = 3 Тогда
    НовЗапись.Отчество = ФИОМассив[2];
    КонецЕсли;

    НаборЗаписей.Записать(Истина);

    ФизЛицо.Записать();

    //создаем запись справочника сотрудники
    Сотрудник = Справочники.Сотрудники.СоздатьЭлемент();

    Сотрудник.УстановитьСсылкуНового(Справочники.Сотрудники.ПолучитьСсылку(Новый УникальныйИдентификатор()));

    Сотрудник.Наименование = ТЭлемент.Сотрудник;
    Сотрудник.ГоловнойСотрудник = ТЭлемент.Сотрудник;
    Сотрудник.ФизическоеЛицо = СсылкаФизЛицо;

    СсылкаСотрудник = Сотрудник.ПолучитьСсылкуНового();

    тчНачисления.Сотрудник = СсылкаСотрудник;

    НачислениеЗарплаты.Записать();
    Сотрудник.Записать();
    НачислениеЗарплаты.Записать();

    ОтсутствующиеСотрудники.ДобавитьСтроку(ТЭлемент.Сотрудник);

    Иначе
    тчНачисления.Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию(ФИОМассив[0]);
    КонецЕсли;

    КонецЦикла;

    НачислениеЗарплаты.Записать();

    ОтсутствующиеСотрудники.Записать("D:\ОтсутствующиеСотрудники.txt");

    Сообщить("---------------------------------------------", СтатусСообщения.БезСтатуса);
```
---
Почему нельзя сделать так - создать элемент ФизЛицо - заполнить данными - записать ( тут уже будет ссылка ) Сделать запись в регистр ФИОФизлиц передавая ссылку уже записанного элемента , создать элемент справочника сотрудники на основании физ.Лица . Записать этот элемент - и вот тебе готовая ссылка на сотрудника
---
Может надо так:

```1c
    СсылкаФизЛицо = Справочники.ФизическиеЛица.ПолучитьСсылку(Новый УникальныйИдентификатор());
    ФизЛицо.УстановитьСсылкуНового(СсылкаФизЛицо );
    ФизЛицо.ФИО = ТЭлемент.Сотрудник;
    ФизЛицо.НаименованиеСлужебное = ТЭлемент.Сотрудник;
    ФизЛицо.Наименование = ТЭлемент.Сотрудник;

    ФизЛицо.Фамилия = ФИОМассив[0];
    ФизЛицо.Имя = ФИОМассив[1];
    Если ФИОМассив.Количество() = 2 Тогда
    //отчества нет
    КонецЕсли;
    Если ФИОМассив.Количество() = 3 Тогда
    ФизЛицо.Отчество = ФИОМассив[2];
    КонецЕсли;

    //СсылкаФизЛицо = ФизЛицо.ПолучитьСсылкуНового();
```
---
Не понял в какой именно момент падает ошибка?
Зачем записывать документ в цикле, нельзя его сперва заполнить а потом записать?!
Запись в регистр я вообще не понял
---
поддерживаю Зачем записывать документ в цикле, нельзя его сперва заполнить а потом записать?
---
не знаю как получить ссылку в табличной части документа. поэтому так пишу.
уже не знаю как написать
---
Кстати после цикла у него стоит 3 раз его записать)))
---
Сообщение было скрыто модератором.
---
Почему нельзя сделать так - создать элемент ФизЛицо - заполнить данными - записать ( тут уже будет ссылка ) Сделать запись в регистр ФИОФизлиц передавая ссылку уже записанного элемента , создать элемент справочника сотрудники на основании физ.Лица . Записать этот элемент - и вот тебе готовая ссылка на сотрудника
---
в общем и целом так и сделано. Хотелось установить ссылку на не записанный объект Справочник.Сотрудники в создаваемый документ. при создании пред идущих объектов метод работал. а при создании и записи документа НачислениеЗарплаты почему - то нет.
 в результате поискал только что созданный объект в справочнике и записал его в документ.

```1c
    //создаем запись справочника сотрудники
    Сотрудник = Справочники.Сотрудники.СоздатьЭлемент();

    Сотрудник.Наименование = ТЭлемент.Сотрудник;
    Сотрудник.ГоловнойСотрудник = ТЭлемент.Сотрудник;
    Сотрудник.ФизическоеЛицо = СсылкаФизЛицо;

    Сотрудник.Записать();

    тчНачисления.Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию(ФИОМассив[0]);

    ОтсутствующиеСотрудники.ДобавитьСтроку(ТЭлемент.Сотрудник);
```

хотя в общем и целом тема не раскрыта
---
Ну так на записей справочник сотрудники , а физ.лицо запиши