Выполняет диалоговое окно, загруженное функцией «СоздатьДиалог».
Синтаксис
ВыполнитьДиалог( Диалог )
Параметры
Диалог
(объект) – объект, созданный функцией «СоздатьДиалог». Если функции передать любой другой объект, будет выдано сообщение об ошибке. В поля ввода выполняемого диалога буду помещены значения одноимённых полей записи, содержащейся в этом объекте.
Возвращает
1 – пользователь нажал в диалоге кнопку «Сохранить» или клавишу <Enter>.
0 – пользователь нажал в диалоге кнопку «Отменить» или клавишу <Esc>.
В любом случае, введённые пользователем значения помещаются в соответствующие поля записи объекта «Диалог».
Комментарии
В общем случае схема выполнения диалога будет следующая:
# создаём диалог
объект оДиалог = СоздатьДиалог( ”ИмяДиалога” );
# присваиваем значения нужным полям
оДиалог.Поле1 = Значение1;
оДиалог.Поле2 = Значение2;
…
# даём пользователю поработать с диалогом
Если( ВыполнитьДиалог( оДиалог ) )
{
# извлекаем значения
Сумма1 = оДиалог.Поле1;
Сумма2 = оДиалог.Поле2;
…
}
Как и везде при обращении к полям записи, регистр букв при написании имени поля важен, то есть «поле1» и «Поле1» – два различных имени.
Примеры
Чтобы запросить параметры так же, как это делается при построении внешних отчётов в задаче «Баланс и анализ», нужно написать так:
оДиалог = СоздатьДиалог( ”Внешний отчет” );
оДиалог.ДатНач = ДатНач;
оДиалог.ДатКнц = ДатКнц;
Если( ВыполнитьДиалог( оДиалог ) )
{
ДатНач = оДиалог.ДатНач;
ДатКнц = оДиалог.ДатКнц;
}
Здесь использовалось готовое диалоговое окно, но можно создать новое при помощи программы jinnee.exe. Для этого в окне с файлом ресурсов нужно нажать <Ins> и выбрать пункт «Окно диалога». Учтите только, что нельзя вставлять в такой диалог абстрактное поле ввода.
В следующем примере предполагается, что был создан диалог с именем «Запрос имени», в который было вставлено поле «ИмяПользователя».
оДиалог = СоздатьДиалог( ”Запрос имени” );
пПродолжать = 1;
Пока( пПродолжать )
Если( ВыполнитьДиалог( оДиалог ) и
оДиалог.ИмяПользователя )
{
пПользователь = оДиалог.ИмяПользователя;
пПродолжать = 0;
}
иначе
Сообщить( ”Имя всё же придётся ввести!” );
Обратите внимание, что здесь организован цикл, пока пользователь не введёт своё имя. То есть можно один раз создать диалог, а потом несколько раз запускать его на выполнение.
Если в диалоговом окне есть поле связи, то для его установки можно воспользоваться функцией «Связать», а после выполнения диалога можно получить связанный объект. Например, установим и считаем поле «Наша организация» в окне «Конфигурации системы»:
оДиалог = СоздатьДиалог( ”Конфигурация системы” );
Связать( оДиалог.Лицо1, Лицо( ”7601000463” ) );
Если( ВыполнитьДиалог( оДиалог ) )
{
объект оНашаОрг = оДиалог.Лицо1;
Сообщить( оНашаОрг.Название );
}







