Ребят, срочно, помогите!
Есть открытый документ, в нем есть кнопка, при нажатии на которую должна заполняться табличная часть документа.

В отладчике по коду значения новой строке присваиваются, но когда код отрабатывается, то ТЧ остается пустой

Что нужно сделать, чтобы строки появились в ТЧ?

```1c
    Для Каждого стр Из ТЗДанные Цикл

    СтруктураПоиска = Новый Структура("СотрудникСтрокой", СокрЛП(стр.Сотрудник));

    МассивНайденныхСтрок = ТЗНачислений.НайтиСтроки(СтруктураПоиска);

    Если МассивНайденныхСтрок.Количество() > 0 Тогда

    НовСтр = ОбъектДок.Удержания.Добавить();
    НовСтр.Сотрудник = стр.Сотрудник;
    НовСтр.Удержание = ПланыВидовРасчета.Удержания.НайтиПоКоду("УВ");

    КонецЕсли;

    КонецЦикла;
```
---
```1c
    Если МассивНайденныхСтрок.Количество() > 0 Тогда

    Документ = ОбъектДок.ПолучитьОбъект();
    НовСтр = ОбъектДок.Удержания.Добавить();
    НовСтр.Сотрудник = стр.Сотрудник;
    НовСтр.Удержание = ПланыВидовРасчета.Удержания.НайтиПоКоду("УВ");

    Документ.Записать();

    КонецЕсли;
```
---
да, нужно обновить форму, в базу изменения записали, а форма показывает старый вариант. Можно это проверить - в форме после выполнения кода нажать "Перечитать" и посмотреть, записалось что надо или нет.

(12) нет, там именно объект-документ заполняется
---
```1c
    Если МассивНайденныхСтрок.Количество() > 0 Тогда

    Документ = ОбъектДок.ПолучитьОбъект();
    НовСтр = ОбъектДок.Удержания.Добавить();
    НовСтр.Сотрудник = стр.Сотрудник;
    НовСтр.Удержание = ПланыВидовРасчета.Удержания.НайтиПоКоду("УВ");

    Документ.Записать();

    КонецЕсли;
```
---
Может нужно обновить форму?

Заполнение выполняется в общем модуле?
Если выполняется в модуле формы документа. тогда

```1c
    НовСтр = Объект.Удержания.Добавить();
    НовСтр.Сотрудник = стр.Сотрудник;
    НовСтр.Удержание = ПланыВидовРасчета.Удержания.НайтиПоКоду("УВ");
```

А после ЭтаФорма.Прочитать ();
либо ОбновитьОтображениеДанных()
---
Если открытый документ, в котором кнопка, то непонятно, что такое "ОбъектДок"...
---
Либо ,если по кнопке надо создавать новый документ, то :

```1c
    НовыйДок = Документы.НужныйДокумент.СоздатьДокумент();
```
---
Похоже на то, будто автор заполняет новый экземпляр объекта, а не текущий. Ну и в целом из приведенного отрывка мало понятно происходящее...
---
Ребят, через расширение добавляю кнопку на форму. Документ уже существует.
При нажатии на кнопку читается файл, и данными заполняется ТЧ документа.
ОбъектДок - Это ДокументОбъект
---
без кода не понять, похоже. А код секретный. Вывод: задача не решается.
Где-то существует документ, в какой-то форме есть кнопка. Ну секретные программы так и пишутся, наверное, чтобы враг не разобрался никогда.
---
ВОТ КОД Всей процедуры, выполняется на сервер

```1c
    текОбъект = Объект.Ссылка;
    Выполнено = Ложь;

    ИмяФайла = "c:\" + Формат(текОбъект.МесяцНачисления,"ДФ='MMMM yyyy'") + ".txt";
    Если ПустаяСтрока(ИмяФайла) Тогда
    Возврат;
    КонецЕсли;

    ФайлТЗ = Новый ТекстовыйДокумент;
    ФайлТЗ.Прочитать(ИмяФайла);
    ТЗДанные = ЗагрузитьДанныеТЗ(ФайлТЗ.ПолучитьТекст());

    ОбъектДок = текОбъект.ПолучитьОбъект();

    ОбъектДок.Удержания.Очистить();

    ТЗНачисления = текОбъект.Начисления.Выгрузить();

    Запрос = Новый Запрос();
    Запрос.Текст =

    "ВЫБРАТЬ Различные
    | НачислениеЗарплатыНачисления.Сотрудник КАК Сотрудник
    |ИЗ
    | Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления
    |ГДЕ
    | НачислениеЗарплатыНачисления.Ссылка = &Ссылка" ;
    Запрос.УстановитьПараметр("Ссылка", текОбъект);

    ТЗНачислений = Запрос.Выполнить().Выгрузить();
    ТЗНачислений.Колонки.Добавить("СотрудникСтрокой");
    //Убрать лишние пробелы
    Для каждого стр Из ТЗНачислений Цикл

    стр.СотрудникСтрокой = СокрЛП(стр.Сотрудник);
    КонецЦикла;

    Для Каждого стр Из ТЗДанные Цикл

    СтруктураПоиска = Новый Структура("СотрудникСтрокой", СокрЛП(стр.Сотрудник));

    МассивНайденныхСтрок = ТЗНачислений.НайтиСтроки(СтруктураПоиска);

    Если МассивНайденныхСтрок.Количество() > 0 Тогда

    НовСтр = ОбъектДок.Удержания.Добавить();
    НовСтр.Сотрудник = ТЗНачислений.Сотрудник; //стр.Сотрудник;
    НовСтр.Удержание = ПланыВидовРасчета.Удержания.НайтиПоКоду("УВ");
    ОбъектДок.Записать();

    КонецЕсли;

    КонецЦикла;

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

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

(12) нет, там именно объект-документ заполняется
---
ОбновитьОтображениеДанных() Это не работает.
Программа сама предлагает перечитать данные.
Есть ли какой- либо еще способ перечитать данные программно?
---
может как-то так
https://infostart.ru/1c/articles/1207330/
---
Форма обновилась, данные появились.
Но только Сотрудник не заполнился

НовСтр.Сотрудник = стр.Сотрудник;

стр.Сотрудник - справочникССылка.Сотрудники.
новСтр.Сотрудник - тоже справочникСсылка.Сотрудники.

При отладке (в конфигураторе) присваивает значение.
После выполнения кода, в форму не выводит значение реквизита.

В чем ошибка? Пжл, подскажите
---
если там написано буквально так

```1c
    НовСтр.Сотрудник = ТЗНачислений.Сотрудник;
```

то это судя по всему ошибка, т.к. ТЗНачислений это похоже на таблицу значений.
Но это уже отладчиком надо внимательно смотреть
---
НовСтр.Сотрудник = МассивНайденныхСтрок[0].Сотрудник

Вот так выбираю нужную строку,
 по типу данные соответствуют - справочникСсылка.Сотрудники

Все равно не записывает в форме этот реквизит