Открытие формы модально - форма появляется на экране и блокирует другие окна, пока не будет закрыта.
МодФорма = ПолучитьФорму("ОсновнаяФорма",ВладелецФормы); Результат = МодФорма.ОткрытьМодально();Возникает проблема возврата результата, если форма не "для выбора" Новости наших партнеров : Купить Зелбораф В описании функции ОткрытьМодально() написано:
Форма.ОткрытьМодально (Form.DoModal) ОткрытьМодально(<Таймаут>) Параметры: <Таймаут> (необязательный) Тип: Число. Время показа формы в секундах, по истечении которого форма будет закрыта с параметром закрытия Неопределено. Если значение параметра не задано, время показа не ограничено. Значение по умолчанию: 0 Возвращаемое значение: Тип: Произвольный. Команда закрытия формы. Если форма открывалась для выбора, возвращает выбранное значение (или массив значений, в случае разрешенного множественного выделения в открываемой форме). Если значение не выбрано, возвращается Неопределено. Описание: Открывает форму в модальном режиме.Я специально выделил фразу цветом. Получается: если форма определена "для выбора" - то она возвращает выбранные значения В любых других случаях будет возвращаться - Неопределено. Что же делать, когда у нас "обычная" форма (т. е. форма не определена как "для выбора") и мы хотим вернуть результат из формы после закрытия ? В этом случае есть несколько решений: 1. Получив доступ к форме, мы можем вызывать различные функции и получать переменные. Естественно нужно, чтобы эти функции имели статус Экспорт
Например: МодФорма = ПолучитьФорму("ОсновнаяФорма",ВладелецФормы);Результат = МодФорма.ОткрытьМодально();
РезультатФункции = МодФорма.НашаФункция("Параметры функции");Внимание! Форма после закрытия продолжает существовать, и доступ к функциям с пометкой Экспорт можно получить.
......// Функция вставляется в Форму
Функция НашаФункция(ПараметрыФункции) Экспорт// Действия в функции
Возврат Результат КонецФункции
2. Можно использовать команду ОповеститьОВыборе(ВозвращаемыйПараметр)
Эта команда позволяет вернуть из формы указанный параметр "ВозвращаемыйПараметр"
На этом пока всё, может будут у кого замечания и дополнения ... пишите :)