Подскажите, коллеги.
Имеем.
Платформа: 1С:Предприятие 8.3.10.2650
Конфигурация: УТП для Украины 1.2.45.2, обычные формы (от конфигурации по идее не зависит).

В модуле формы документа "Реализация товаров и услуг" в обработчике "ПослеЗаписи()" добавляю код:

```1c
    #Если Клиент Тогда
    Если Вопрос("Создать автоматически "Заявку на доставку"?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Да) = КодВозвратаДиалога.Да Тогда
    КонецЕсли;
    #КонецЕсли
```

Ни какой обработки, нет, просто вопрос.

Свойство формы "Модифицированность" = Ложь.

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

```1c
    Процедура СоздатьЗаявкуНаДоставку(Результат, Параметры) Экспорт

    Если Результат <> КодВозвратаДиалога.Да Тогда
    Возврат;
    КонецЕсли;

    НоваяЗаявка = Документы.ЗаявкаНаДоставку.СоздатьДокумент();
    НоваяЗаявка.Заполнить(Ссылка);
    НоваяЗаявка.ПолучитьФорму().Открыть();

    КонецПроцедуры
```
---
возможно дело в коде возврата диалога. Сделай вопрос перед записью, а процедуру повесь на переменную.

И точно речь идет об "В модуле формы"

Для чего тогда #Если Клиент Тогда
Модуль формы всегда на клиенте в ОФ!
---
#Если Клиент добавил, если завтра :) захочу с сервера создавать программно форму документа и инициировать запись. Чтобы в этом случае не вызывалось.

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

И кто вам это обещал? У фирмы 1с не только не поддерживается всё то что пока еще работает, но даже не всегда работает то что поддерживается.

 если функция совсем устаревшая и не поддерживается, она просто не будет работать, да и лексическая проверка ругнется
Законов таких нет. Тут каждый производитель софта сам определяет по каким правилам он будет работать. Если в отношении языков для которых есть стандарты вы еще можете высказывать какие-то претензии, хотя например Microsoft чхала на стандарты и её С++ немного не такой каким он должен быть по стандартам. А в отношении языка 1с никаких стандартов вообще нет что будет работать, а что нет определяется исключительно объемом совести Нуралиева...

Тут вариантов никаких больше нет.
Чаще всего идеалы, рушась, дают идеалисту по зубам.
---
Спасибо. Через "ПоказатьВопрос" сработало корректно.

Не думал, что для для обычных форм придется асинхронные вызовы городить :)
---
в том же событии?
---
Удивлены? :))
---
я уже лет 15 в 1С ничему не удивляюсь )
А на вопрос не ответили ))
И код привели так, что непонятно - как связан Вопрос и прц "СоздатьЗаявкуНаДоставку".
Если ДополнительныеСвойства.СоздаватьЗаявкуНаДоставку - это ОМ, а не объект с проверкой реквизита, то ничего удивительного, что данные изменены, о чем и сигнализирует платформа - ведь в прц "СоздаватьЗаявкуНаДоставку" вы начинаете их создавать ))
И, кстати, такая "неопределенность", что же это - модуль, объект, или сам-догадайся-что-выполняется-в текущий-момент, - еще один изначальный косяк разработки (не вашей) ))
---
От Вас я не услышал ни единого вразумительного ответа, зачем вы зашли в тему? Можно вас попросить её покинуть, тем более решение уже давно приведено более адекватными участниками.
---
асинхронные вызовыне знаю, насколько вы знаете этот термин, но в 1С он вообще не применим, разве что "теоретически", для описания работы своего алгоритма, но не работы кода.
А по-поводу блокировки - в УФ именно из-за этого ввели запрет на модальность окон.
Потому как работа форм стала непредсказуемой, что лишний раз говорит о неправильно выбранной концепции проектирования форм )
---
Я применяю термин "Асинхронные вызовы" как его трактует 1С. Я задал вопрос на профильном форуме 1С.
---
ну, если вы будете во всем следовать за линией партии, и слепо будете доверять всему, что скажут, то забудьте о своем росте как программиста ))
В 1С очень широко трактуют термины из мира ООП, причем обычно - в "свою" пользу. А то и просто, как придется ))
---
Если еще не читали, может пригодится:

http://its.1c.ru/docs/v8nonmodal/
---
Я использую асинхронные вызовы в УФ, просто не думал что придется на обычных формах применять. И реально поведение 1С в обработчике ПослеЗаписи() не нормальное.
---
Вы же проведение делаете, почему удивляетесь, что какие-то данные уже изменены?
Делайте "Отмена".
А по вашему недоумению по поводу инструкции - у вас не "Вопрос" данные меняет, а, скорей всего, использование события "ПослеЗаписи()".
Почему пишу "скорей всего" - потому что в плане языка не испытывал "на прочность" 1С (сразу понял, что это бессмысленно), и если написано, что "ПослеЗаписи()" используется для проверки результатов, а не для дальнейших манипуляций с данными - то пытаться там делать что-то иное ни к чему хорошему, как правило, не приводит )
Попробуйте не использовать это событие вовсе.
Да и потом, у документа, как объекта, существует несколько скрытых реквизитов, которые тоже могут меняться при вызове событий Записи - например, Версия.
---
1. "ПоказатьВопрос" спокойно отработал, как мне нужно.
2. В событии "ПослеЗаписи" я НЕ МЕНЯЮ НИЧЕГО, просто задаю вопрос. Перечитайте мой пост.
3. Если в документе нажать не "ОК", а "Записать", такой глюк не появляется.
4. "Модифицированность" формы = Ложь.
---
```1c
    Если ДополнительныеСвойства.СоздаватьЗаявкуНаДоставку Тогда
    Оповещение = Новый ОписаниеОповещения("СоздатьЗаявкуНаДоставку", ЭтаФорма);
    ПоказатьВопрос(Оповещение, "Создать автоматически "Заявку на доставку"?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Да);
    КонецЕсли;
```

```1c
    Процедура СоздатьЗаявкуНаДоставку(Результат, Параметры) Экспорт

    Если Результат <> КодВозвратаДиалога.Да Тогда
    Возврат;
    КонецЕсли;

    НоваяЗаявка = Документы.ЗаявкаНаДоставку.СоздатьДокумент();
    НоваяЗаявка.Заполнить(Ссылка);
    НоваяЗаявка.ПолучитьФорму().Открыть();

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