БСП 3.0 .Управляемые формы
Есть документ на основании которого делается другой.

Необходимо после нажатия - ввести на основании задать вопрос - какого типа должна быть операция - и в зависимости от ответа сделать автозаполенние обработкой реквизитов создаваемого приложения.
Ввести на основании -> показать вопрос -> обработка заполнения в зависимости от ответа
Не могу понять как правильно реализовать такую комбинацию.
Может подскажите?
---
Возможно Вам подойдет следующее:
1. Добавить общую форму, реализующую диалог выбора операции.
2. Добавить обработчик получения формы в документ. В обработчике проанализировать наличие основания в параметрах. Если оно есть и является ссылкой на документ-основание, отключить стандартную обработку получения формы, указать в качестве открываемой форму, добавленную в п.1.
3. При выборе операции пользователем вновь выполнить открытие создаваемого подчиненного документа, но уже в качестве основания передавать не ссылку на документ-основание, а структуру с этой ссылкой и выбранной операцией.
4. Реализовать алгоритм события "ОбработкаЗаполнения" подчиненного документа с учетом того, что данные заполнения - это структура с двумя ключами.
---
Если вы использовали стандартный "Создать на основании".
То В модуле объекта того документа, который создается. Будет Процедура ОбработкаЗаполнения.
прямо в ней и задавайте свой вопрос, и если ответ допустим "Да" то создавайте документ, если нет то не создавайте))
---
Будет Процедура ОбработкаЗаполнения. прямо в ней и задавайте свой вопрос
ОбработкаЗаполнения вызывается из модуля объекта то есть со стороны сервера а задавать вопрос можно только со стороны клиента.
---
Уточните, пожалуйста, у Вас самописная конфигурация на базе БСП? Для команд создания на основании используются подключаемые команды?
---
Конфигурация самописная и вызов команд создания на основании используется стандартный.
---
Возможно Вам подойдет следующее:
1. Добавить общую форму, реализующую диалог выбора операции.
2. Добавить обработчик получения формы в документ. В обработчике проанализировать наличие основания в параметрах. Если оно есть и является ссылкой на документ-основание, отключить стандартную обработку получения формы, указать в качестве открываемой форму, добавленную в п.1.
3. При выборе операции пользователем вновь выполнить открытие создаваемого подчиненного документа, но уже в качестве основания передавать не ссылку на документ-основание, а структуру с этой ссылкой и выбранной операцией.
4. Реализовать алгоритм события "ОбработкаЗаполнения" подчиненного документа с учетом того, что данные заполнения - это структура с двумя ключами.
---
попробую
---
Примерно так

```1c
    ТекстВопроса = "Будет автозаполнение..
    |Продолжить?";
    ПоказатьВопрос(Новый ОписаниеОповещения("ВопросПользователю", ЭтаФорма, Новый Структура("ИдентификаторКоманды, ПараметрыКоманды", ИдентификаторКоманды, ПараметрыКоманды)), ТекстВопроса,РежимДиалогаВопрос.ДаНет,10);

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

    ИдентификаторКоманды = ДополнительныеПараметры.ИдентификаторКоманды;
    ПараметрыКоманды = ДополнительныеПараметры.ПараметрыКоманды;

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

    ВыполнитьАвтозаполнение(ИдентификаторКоманды, ПараметрыКоманды);

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