Всем привет, использую такой код в процедуре ПередЗаписью:

```1c
    &НаКлиенте
    Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

    ЕстьЗапись = ПроверитьРаботуСверхурочные();

    Если ЕстьЗапись.Количество() > 0 Тогда

    ШаблонТекста = НСтр("ru = 'На эти даты уже введен документ'");
    ДопПараметры = Новый Структура;
    ДопПараметры.Вставить("Отказ", Отказ);
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("МассивДокументов", ЕстьЗапись);
    ПараметрыФормы.Вставить("ЗаголовокФормы", ШаблонТекста);
    Оповещение = Новый ОписаниеОповещения("ВыполнитьПослеОкончания", ЭтотОбъект, ДопПараметры);
    ОткрытьФорму("ОбщаяФорма.КС_ФормаВывестиПредупреждениеПриПроведении", ПараметрыФормы, ЭтотОбъект,,,, Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

    КонецЕсли;
    КонецПроцедуры

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

Открывается формочка, на которой 2 кнопки - Провести или Отмена (ну т.е. продолжить проведение документа или отменить проведение). Оповещение о зарытии не срабатывает, сразу после открытия формы код продолжается, а мне необходимо, чтобы сработало оповещение, т.е. чтобы пользователь вначале нажал кнопки на формочке, а потом сработало - или отменить или провести. Что не так?
---
как то у вас все витеевато, но вот такой же совет (сам не пробовал)

```1c
    &НаКлиенте
    Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
    Отказ = Истина;//сразу в отказ, так как обработка будет после подтверждения
    ...//дальше как у вас и было

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

    //что возвращает Результат? Истина - это провести?
    Если Результат = Истина Тогда
    ЗаписатьДокуменНаСервере(); //в ней Объект в документ и записать с проведением
    ЭтаФорма.Закрыть();
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
```
---
Что не так?
Все =)

Подход иной должен быть, если вы перед записью задаете вопрос.
Если задаете вопрос, то надо сразу ставить Отказ = Истина.
Условно:

Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)

Если НадоСпрашивать = Истина Тогда

Отказ = Истина;
<Тут открываем форму>
Возврат;
КонецЕсли;

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

В обработчике закрытия формы вызываете явно запись еще раз, при этом переменной НадоСпрашивать ставится Ложь.
---
Что не так?
Все =)

Подход иной должен быть, если вы перед записью задаете вопрос.
Если задаете вопрос, то надо сразу ставить Отказ = Истина.
Условно:

Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)

Если НадоСпрашивать = Истина Тогда

Отказ = Истина;
<Тут открываем форму>
Возврат;
КонецЕсли;

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

В обработчике закрытия формы вызываете явно запись еще раз, при этом переменной НадоСпрашивать ставится Ложь.
---
как то у вас все витеевато, но вот такой же совет (сам не пробовал)

```1c
    &НаКлиенте
    Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
    Отказ = Истина;//сразу в отказ, так как обработка будет после подтверждения
    ...//дальше как у вас и было

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

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