Всем привет! База находится на веб-сервере. Подскажите, пожалуйста, как можно реализовать следующее. При нажатии на кнопку "Заполнить ТЧ" открывается новая форма с выбором файла Excel, откуда будет идти загрузка и кнопка подтверждения. После нажатия на кнопку, форма закрывается, но ТЧ формы документа остается пустой, пока сам не нажму кнопку "Перечитать" документа. Заполнение ТЧ происходит в форме "Заполнить ТЧ".
1) Возможно ли как-то обновить форму документа, после закрытия формы "Заполнение ТЧ", чтобы увидеть загруженные элементы?
2) Если первый вариант невозможен, то как тогда лучше сделать? Передавать двумерный массив ТЧ через экспортную функцию/переменную и заполнять в форме документа?
---
Исправить надо хотя бы так:
1)
&НаКлиенте
Процедура ДвоичныеДанныеЗагрузка(ДвоичныеДанные, ДополнительныеПараметры) Экспорт

    АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);

    ЗаполнитьТЧ_НаСервере(АдресХранилища);

    Закрыть(Истина);

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

2)

```1c
    &НаСервере
    Процедура ЗаполнитьТЧ_НаСервере(АдресДанных)

    Докум = СсылкаНаДокумент.ПолучитьОбъект();
    Докум.Товары.Очистить();

    ТабДок = Новый ТабличныйДокумент;

    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xlsx");

    Данные.Записать(ПутьКФайлуНаСервере);

    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xls");
    Данные.Записать(ПутьКФайлуНаСервере);
    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не удалось прочитать указанный файл по причине: " + ОписаниеОшибки();
    Сообщение.Сообщить();
    Возврат;
    КонецПопытки;
    КонецПопытки;

    КоличествоСтрок = ТабДок.ВысотаТаблицы;

    Для НомерСтроки = 1 по КоличествоСтрок Цикл

    АртикулТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
    АртикулТовара = СтрЗаменить(АртикулТовара, Символы.НПП, ");
    НазваниеТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
    НазваниеТовараСПробелами = НазваниеТовара;
    НазваниеТовара = СокрЛП(НазваниеТовара);
    Количество = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 4).ТекущаяОбласть.Текст;

    Если Не ЗначениеЗаполнено(АртикулТовара) Тогда
    Продолжить;
    КонецЕсли;

    НаличиеТовара = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);
    Если Не ЗначениеЗаполнено(НаличиеТовара) Тогда
    Если Строка(АртикулТовара) <> "Артикул" Тогда
    Сообщить("Товар с артикулом '" + АртикулТовара + "' в базе не найден и не был добавлен в таблицу!");
    КонецЕсли;
    Продолжить;
    КонецЕсли;

    Номенкл = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);

    ДокСтр = Докум.Товары.Добавить();
    ДокСтр.Номенклатура = Номенкл;
    ДокСтр.КоличествоУпаковок = Количество;

    КонецЦикла;

    Докум.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Докум.Записать(РежимЗаписиДокумента.Запись);

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

3)

```1c
    &НаКлиенте
    Процедура ОчиститьТЧОтвет()

    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗаполненияТЧФормы",ЭтотОбъект);

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ЗТЧ_Форма");
    Форма.СсылкаНаДокумент = Объект.Ссылка;
    Форма.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
    Форма.Открыть();

    ОбновитьФорму(Объект.Ссылка);

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

    &НаКлиенте
    Процедура ПослеЗаполненияТЧФормы(Результат,ДопПараметры) Экспорт
    Если Результат = Истина Тогда
    ЗаполнитьПоля();
    КонецЕсли;
    КонецПроцедуры
```
---
Действительно, не все исправил. Попробуйте так:

```1c
    &НаКлиенте
    Процедура ОчиститьТЧОтвет()

    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗаполненияТЧФормы",ЭтотОбъект);

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ЗТЧ_Форма");
    Форма.СсылкаНаДокумент = Объект.Ссылка;
    Форма.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
    Форма.Открыть();

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

    &НаКлиенте
    Процедура ПослеЗаполненияТЧФормы(Результат,ДопПараметры) Экспорт
    Если Результат = Истина Тогда
    ОбновитьФорму(Объект.Ссылка);
    ЗаполнитьПоля();
    КонецЕсли;
    КонецПроцедуры
```
---
Тогда так:

```1c
    &НаСервере
    Функция ОбновитьФорму(СсылкаНаДок)

    ЭтаФорма.Прочитать();

    КонецФункции
```
---
1 - Возможно. Судя по описанию, по кнопке Заполнить ТЧ вы записываете данные в документ.
"Перечитать" данные в форме документа можно программно.
2 - Помещать таблицу значений во временное хранилище и возвращать адрес. В форме документа из адреса получается таблица значений, заполняется ТЧ на форме.
---
Вот, подскажи, пожалуйста, рабочий метод для перечитывания документ. Это и нужно!
---
В форме документа, после того как будет закрыта форма заполнения тч надо вызвать процедуру на сервере с кодом:

```1c
    ТекОбъект = РеквизитФормыВЗначение("Объект");
    ТекОбъект.Прочитать();
    ЗначениеВРеквизитФормы(ТекОбъект,"Объект");
```

Но лучше вариант 2.
---
Не перечитался документ(
---
Покажите весь код.
---
Ниже скинул, почему-то не в "Ответить" отправилось
---
Код модуля формы "Заполнение ТЧ":

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

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

    &НаКлиенте
    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
    НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
    КонецПроцедуры

    &НаКлиенте
    Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
    Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ОписаниеОп = новый ОписаниеОповещения("КаталогВыбран", ЭтотОбъект);
    Диалог.Фильтр = "Документ Excel (*.xls, *.xlsx)|*.xls; *.xlsx";

    Диалог.Показать(ОписаниеОп);
    КонецПроцедуры

    &НаКлиенте
    Процедура КаталогВыбран(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
    Если ВыбранныеФайлы<>Неопределено и ВыбранныеФайлы.Количество()>0 Тогда
    ПутьКФайлу = ВыбранныеФайлы[0];
    КонецЕсли;
    КонецПроцедуры

    &НаКлиентеНаСервереБезКонтекста
    Процедура СообщитьПользователю(Текст, ПутьКДанным = ")

    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = Текст;
    Сообщение.ПутьКДанным = ПутьКДанным;
    Сообщение.Сообщить();

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

    &НаКлиенте
    Процедура ОткрытьВПриложении(Элемент, ПутьКДанным, СтандартнаяОбработка)

    Файл = Новый Файл(Элемент.ТекстРедактирования);

    Если Файл.Существует() Тогда

    ЗапуститьПриложение(Элемент.ТекстРедактирования);

    Иначе

    СообщитьПользователю(Нстр("ru = 'Файл не найден'"), ПутьКДанным);

    КонецЕсли;

    СтандартнаяОбработка = Ложь;

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

    &НаКлиенте
    Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)

    ОбработатьНачалоВыбораФайла(СтандартнаяОбработка);

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

    &НаКлиенте
    Процедура ЗаполнитьТЧ(Команда)

    ПодключитьРасширениеРаботыСФайлами();

    НачатьСозданиеДвоичныхДанныхИзФайла(Новый ОписаниеОповещения("ДвоичныеДанныеЗагрузка", ЭтотОбъект), ПутьКФайлу);

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

    &НаКлиенте
    Процедура ДвоичныеДанныеЗагрузка(ДвоичныеДанные, ДополнительныеПараметры) Экспорт

    АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);

    Закрыть();

    ЗаполнитьТЧ_НаСервере(АдресХранилища);

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

    &НаСервере
    Процедура ЗаполнитьТЧ_НаСервере(АдресДанных)

    Докум = СсылкаНаДокумент.ПолучитьОбъект();
    Докум.Товары.Очистить();

    ТабДок = Новый ТабличныйДокумент;

    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xlsx");

    Данные.Записать(ПутьКФайлуНаСервере);

    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xls");
    Данные.Записать(ПутьКФайлуНаСервере);
    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не удалось прочитать указанный файл по причине: " + ОписаниеОшибки();
    Сообщение.Сообщить();
    Возврат;
    КонецПопытки;
    КонецПопытки;

    КоличествоСтрок = ТабДок.ВысотаТаблицы;

    Для НомерСтроки = 1 по КоличествоСтрок Цикл

    АртикулТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
    АртикулТовара = СтрЗаменить(АртикулТовара, Символы.НПП, ");
    НазваниеТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
    НазваниеТовараСПробелами = НазваниеТовара;
    НазваниеТовара = СокрЛП(НазваниеТовара);
    Количество = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 4).ТекущаяОбласть.Текст;

    Если Не ЗначениеЗаполнено(АртикулТовара) Тогда
    Продолжить;
    КонецЕсли;

    НаличиеТовара = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);
    Если Не ЗначениеЗаполнено(НаличиеТовара) Тогда
    Если Строка(АртикулТовара) <> "Артикул" Тогда
    Сообщить("Товар с артикулом '" + АртикулТовара + "' в базе не найден и не был добавлен в таблицу!");
    КонецЕсли;
    Продолжить;
    КонецЕсли;

    Номенкл = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);

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

    КонецЦикла;

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

Код модуля формы документа:

```1c
    &НаКлиенте
    Процедура ЗТЧ_ЗаполнитьТЧПосле(Команда)

    ОчиститьТЧ();

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

    &НаКлиенте
    Процедура ОчиститьТЧ() Экспорт

    НовыйИлиНет = ПроверкаДока();
    Если НовыйИлиНет = Истина Тогда
    ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
    ОчиститьТЧОтвет();
    Иначе
    ОчиститьТЧОтвет();
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ОчиститьТЧОтвет()

    Объект.Товары.Очистить();

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ЗТЧ_Форма");
    Форма.СсылкаНаДокумент = Объект.Ссылка;
    Форма.Открыть();

    ОбновитьФорму(Объект.Ссылка);

    ЗаполнитьПоля();

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

    &НаСервере
    Функция ОбновитьФорму(СсылкаНаДок)

    ТекОбъект = РеквизитФормыВЗначение("Объект");
    ТекОбъект.Прочитать();
    ЗначениеВРеквизитФормы(ТекОбъект, "Объект");

    КонецФункции

    &НаКлиенте
    Процедура ЗаполнитьПоля()

    Для Каждого ТекСтрока Из Объект.Товары Цикл
    Элементы.Товары.ТекущаяСтрока = ТекСтрока.ПолучитьИдентификатор();
    ЗТЧ_ТоварыНоменклатураПриИзменении(Элементы.Товары.ТекущиеДанные);
    КонецЦикла;

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

    &НаСервере
    Функция ПроверкаДока()
    Возврат РеквизитФормыВЗначение("Объект").ЭтоНовый();

    КонецФункции

    &НаКлиенте
    Процедура ЗТЧ_ТоварыНоменклатураПриИзменении(Элемент) Экспорт

    ТекущаяСтрока = Элемент;

    СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);

    ПрименитьОплатуБонуснымиБаллами(, Истина);

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

    СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
    ЭтаФорма.ИмяФормы, "Товары"));
    СтруктураДействий.Вставить("ЗаполнитьПодразделениеВСтрокеТЧ", Новый Структура("Подразделение", Объект.Подразделение));

    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);

    Если ОбеспечениеВДокументахКлиент.ТребуетсяОбновитьКолонкуДоступно(СтруктураДействий) Тогда
    ОбновитьКолонкуДоступноСервер();
    КонецЕсли;

    ОбеспечениеВДокументахКлиентСервер.ЗаполнитьСлужебныеРеквизиты(Объект.Товары, ДатаОтгрузкиОбязательна, СкладОбязателен);

    РассчитатьИтоговыеПоказателиЗаказа(ЭтаФорма);

    СкидкиНаценкиЗаполнениеКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

    КонецПроцедуры
```
---
Исправить надо хотя бы так:
1)
&НаКлиенте
Процедура ДвоичныеДанныеЗагрузка(ДвоичныеДанные, ДополнительныеПараметры) Экспорт

    АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);

    ЗаполнитьТЧ_НаСервере(АдресХранилища);

    Закрыть(Истина);

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

2)

```1c
    &НаСервере
    Процедура ЗаполнитьТЧ_НаСервере(АдресДанных)

    Докум = СсылкаНаДокумент.ПолучитьОбъект();
    Докум.Товары.Очистить();

    ТабДок = Новый ТабличныйДокумент;

    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xlsx");

    Данные.Записать(ПутьКФайлуНаСервере);

    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Данные = ПолучитьИзВременногоХранилища(АдресДанных);
    ПутьКФайлуНаСервере = ПолучитьИмяВременногоФайла("xls");
    Данные.Записать(ПутьКФайлуНаСервере);
    Попытка
    ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    Исключение
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не удалось прочитать указанный файл по причине: " + ОписаниеОшибки();
    Сообщение.Сообщить();
    Возврат;
    КонецПопытки;
    КонецПопытки;

    КоличествоСтрок = ТабДок.ВысотаТаблицы;

    Для НомерСтроки = 1 по КоличествоСтрок Цикл

    АртикулТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
    АртикулТовара = СтрЗаменить(АртикулТовара, Символы.НПП, ");
    НазваниеТовара = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
    НазваниеТовараСПробелами = НазваниеТовара;
    НазваниеТовара = СокрЛП(НазваниеТовара);
    Количество = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C" + 4).ТекущаяОбласть.Текст;

    Если Не ЗначениеЗаполнено(АртикулТовара) Тогда
    Продолжить;
    КонецЕсли;

    НаличиеТовара = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);
    Если Не ЗначениеЗаполнено(НаличиеТовара) Тогда
    Если Строка(АртикулТовара) <> "Артикул" Тогда
    Сообщить("Товар с артикулом '" + АртикулТовара + "' в базе не найден и не был добавлен в таблицу!");
    КонецЕсли;
    Продолжить;
    КонецЕсли;

    Номенкл = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", АртикулТовара);

    ДокСтр = Докум.Товары.Добавить();
    ДокСтр.Номенклатура = Номенкл;
    ДокСтр.КоличествоУпаковок = Количество;

    КонецЦикла;

    Докум.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Докум.Записать(РежимЗаписиДокумента.Запись);

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

3)

```1c
    &НаКлиенте
    Процедура ОчиститьТЧОтвет()

    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗаполненияТЧФормы",ЭтотОбъект);

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ЗТЧ_Форма");
    Форма.СсылкаНаДокумент = Объект.Ссылка;
    Форма.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
    Форма.Открыть();

    ОбновитьФорму(Объект.Ссылка);

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

    &НаКлиенте
    Процедура ПослеЗаполненияТЧФормы(Результат,ДопПараметры) Экспорт
    Если Результат = Истина Тогда
    ЗаполнитьПоля();
    КонецЕсли;
    КонецПроцедуры
```
---
Не перечиталось(
Мне кажется я уже все способы перепробовал
---
Значит исправили не все, что я показал.
Вызов процедуры ЗаполнитьПоля должен выполниться после того как будет выполнено закрытие формы.
---
Все верно, так и сделал
---
Действительно, не все исправил. Попробуйте так:

```1c
    &НаКлиенте
    Процедура ОчиститьТЧОтвет()

    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗаполненияТЧФормы",ЭтотОбъект);

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ЗТЧ_Форма");
    Форма.СсылкаНаДокумент = Объект.Ссылка;
    Форма.ОписаниеОповещенияОЗакрытии = ОписаниеОповещения;
    Форма.Открыть();

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

    &НаКлиенте
    Процедура ПослеЗаполненияТЧФормы(Результат,ДопПараметры) Экспорт
    Если Результат = Истина Тогда
    ОбновитьФорму(Объект.Ссылка);
    ЗаполнитьПоля();
    КонецЕсли;
    КонецПроцедуры
```
---
Теперь такая ошибка
---
Тогда так:

```1c
    &НаСервере
    Функция ОбновитьФорму(СсылкаНаДок)

    ЭтаФорма.Прочитать();

    КонецФункции
```
---
Отлично! Получилось!
Огромное спасибо)
---
Пожалуйста
---
Слушай, а как можно сделать, чтобы сообщение еще выводились? Потому что они из-за прочтения перестали
---
Какие сообщения?
---
Сообщение было скрыто модератором.