```1c
    Процедура ТабличноеПоле1СотрудникОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ДанныеСотрудников.Подразделение,
    | ДанныеСотрудников.Должность,
    | ДанныеСотрудников.Сотрудник
    |ИЗ
    | РегистрСведений.ДанныеСотрудников КАК ДанныеСотрудников";
    Выборка = Запрос.Выполнить().Выгрузить();

    Для каждого ВыбранныйСотрудник Из ВыбранноеЗначение Цикл
    Объект = Ссылка.ПолучитьОбъект();
    НоваяСтрока = Объект.СписокСотрудников.Добавить();
    НоваяСтрока.Сотрудник = ВыбранныйСотрудник;
    Попытка
    НайденоеЗначение = Выборка.Найти(ВыбранныйСотрудник, "Сотрудник");
    НоваяСтрока.Должность = ?(ЗначениеЗаполнено(НайденоеЗначение.Должность), НайденоеЗначение.Должность, NULL);
    НоваяСтрока.Подразделение = ?(ЗначениеЗаполнено(НайденоеЗначение.Подразделение),НайденоеЗначение.Подразделение, NULL);
    Исключение
    КонецПопытки;
    Объект.Записать(); //запись объекта
    КонецЦикла;
    ЭтотОбъект.Прочитать(); //обновление тч

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

Объект обновляется только после записи и после этого кнопка Закрыть уже не отменяет изменения. Как показать все выбранные строки в ТЧ без записи объекта?
---
так зачем ты вообще получаешь объект по ссылке, потом записываешь в базу, а потом еще и читаешь ?
Ты же итак в модуле формы объекта находишся.
Ничего не нужно читать, сразу добавляешь строки и все.

Это обычные формы ? Там по моему через ЭтотОбъект.СписокСотрудников.Добавить() и т.д.
---
так зачем ты вообще получаешь объект по ссылке, потом записываешь в базу, а потом еще и читаешь ?
Ты же итак в модуле формы объекта находишся.
Ничего не нужно читать, сразу добавляешь строки и все.

Это обычные формы ? Там по моему через ЭтотОбъект.СписокСотрудников.Добавить() и т.д.
---
Это обычные формы ?
Обычные.
 Там по моему через ЭтотОбъект.СписокСотрудников.Добавить()
 Только теперь лишняя строка добавляется, а первая пустая
---
ну тут уж в зависимости от задачи.
Тебе там что надо, перезаполнять каждый раз табличную часть ?
тогда вставь очистку.. ЭтотОбъект.СписокСотрудников.Очистить();

если ДоЗаполнять - тогда, надо искать строки, и если они отсутствуют, только тогда добавлять.
---
мне нужно из справочника выбрать несколько сотрудников разом и добавить их в тч. Например, выбираю 3 сотрудников и в таком виде

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ДанныеСотрудников.Подразделение,
    | ДанныеСотрудников.Должность,
    | ДанныеСотрудников.Сотрудник
    |ИЗ
    | РегистрСведений.ДанныеСотрудников КАК ДанныеСотрудников";
    Выборка = Запрос.Выполнить().Выгрузить();

    Для каждого ВыбранныйСотрудник Из ВыбранноеЗначение Цикл

    Попытка
    НайденоеЗначение = Выборка.Найти(ВыбранныйСотрудник, "Сотрудник");
    стр = ЭтотОбъект.СписокСотрудников.Добавить();
    стр.Сотрудник = НайденоеЗначение.Сотрудник;
    стр.Должность = НайденоеЗначение.Должность;
    стр.Подразделение = НайденоеЗначение.Подразделение;
    Исключение
    стр.Сотрудник = ВыбранныйСотрудник;
    КонецПопытки;

    КонецЦикла;
```

они у меня переносятся в ТЧ, но та строка первая из которой вызывается эта ОбработкаВыбора остается пустой. Наверно, дело в строке стр = ЭтотОбъект.СписокСотрудников.Добавить(); Может нужно не добавлять строку, а получить ссылку на ту из которой вызывается эта обработка?
---
СтандартнаяОбработка = ложь.
Сам обработчик ТабличноеПоле1СотрудникОбработкаВыбора подразумевает добавление строки. Но она не заполняется.
---
ОбработкаВыбора подразумевает добавление строки. Но она не заполняется
Зачем добавлять пустую строку которая не заполняется?

Если выбор не множественный тогда выбранное значение отображается в той же строке в которой был сделан выбор F4 [...], а не в следующей строке. А тут почему так?
---
Зачем добавлять пустую строку которая не заполняется?
Сам обработчик ОбработкаВыбора подразумевает добавление новой строку, куда будет введено выбранное значение по окончании обработчика. Но в самом обработчике сами еще добавляете строки. Соответственно первоначальная строка уже добавлена, но в нее ничего не добавится, т.к. осуществлено добавление новой строки.
---
ЭтотОбъект.Прочитать();
ЭтаФорма.Обновить();
Модифицированность = Истина;
Пробовал?
Только не нужно объект получать
---
Если объект не получать как сейчас, то обновлять ничего не нужно. Все в тч попадает и отображается нормально