При проведении документа должна открываться форма, в котором нужно заполнить причину изменения. И чтобы эта причина попадала в РС.
Вопрос:Можно сделать так, чтобы при начале записи,запись прерывалась и после закрытия формы документ записывалась, чтобы в РС попадала причина изменения?Если можно,приведите пожалуйста пример.
Сейчас во время открытия формы осуществляется запись в РС.

```1c
    //1
    ТекущиеДанные = ЭлементыФормы.Товары.ТекущиеДанные;
    Форма = ПолучитьФорму("РегистрСведений.ЛогРедактированияДокументов.Форма.Возврат", , ЭлементыФормы.Товары);
    Форма.КлючУникальности = ТекущиеДанные.ИдентификаторСтроки;

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

    НаборЗаписей = РегистрыСведений.ЛогРедактированияДокументов.СоздатьНаборЗаписей();
    Для Каждого Строка Из Форма.ТабТовары Цикл
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.Документ =Ссылка;
    НоваяЗапись.Было =Строка.Количество;
    НоваяЗапись.Стало =Строка.Количество;
    НоваяЗапись.Остаток =Выборка.Остаток;
    НоваяЗапись.Резерв =Выборка.Резерв;
    НоваяЗапись.ПричинаИзменения =Строка.ПричинаИзменения;
    НоваяЗапись.Товар =Строка.Номенклатура;
    НоваяЗапись.Пользователь =ПараметрыСеанса.ТекущийПользователь;
    НоваяЗапись.Период =ТекущаяДата();
    НаборЗаписей.Записать(Ложь);
    КонецЦикла;

    КонецПроцедуры
```
---
решил этот вопрос.Вместо Форма.Открыть(), сделал Форма.ОткрытьМодально()
---
а что мешает разместить реквизит на форме самого документа и там указывать причину изменения. Если причина не указана - отказ проведения с выдачей сообщения.
---
нужно чтобы на форме выбиралась
---
А почему бы причину изменения не писать перед проведением?
---
не совсем понял вас.Где писать?
---
так на форме и писать, как сказал (3). Или вы программно изменяете документ?
---
ну или так
В модуле формы на клиенте ПередЗаписью

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

    &НаКлиенте
    Процедура ЗавершитьПолучениеПричины(Результат, ДополнительныеПараметры)
    // тут закидываете полученное значение в реквизит формы. ну и далее в обработчике проведения используете заполненный реквизит
    КонецПроцедуры
```

в форме где предполагается указывать причину сделаете какую-то свою кнопку и на нее повесите Закрыть(ПараметрыЗакрытия)
вот эти параметры закрытия вам и прилетят в процедуру ЗавершитьПолучениеПричины как параметр Результат

Хотя не уверен, что пока форма будет открыта, обработчик ПередЗаписью будет ждать её закрытия
---
решил этот вопрос.Вместо Форма.Открыть(), сделал Форма.ОткрытьМодально()
---
не лучшее решение

Вместо ОткрытьМодально() пробуйте ОткрытьФорму() используя последний параметр РежимОткрытияФормы.БлокироватьОкноВладельца
---
выдает ошибку
{Документ.ВозвратТоваровОтПокупателя.Форма.ФормаДокумента.Форма(1441,80)}: Переменная не определена (РежимОткрытияФормы)
ОткрытьФорму("РегистрСведений.ЛогРедактированияДокументов.Форма.Возврат",,,,,,,<<?>>РежимОткрытияФормы.БлокироватьОкноВладельца (Проверка: Толстый клиент (обычное приложение))
---
РежимОткрытияОкнаФормы (см. синтакс-помощник)
---
а зачем форма регистра сведений открывается?
---
формы создал в РС , в котором записываются данные, чтобы лишний раз не создавать общие формы
---
так а зачем вообще нужна эта дополнительная форма?
---
для того, чтобы записывать причину изменения в документе.В саму форму документа нельзя добавлять эту причину
---
почему нельзя добавить в форму документа? какая конкретно причина, в чем состоит запрет?