Как из кода отобразить форму?

  • Автор темы roddik
  • Дата начала
R

roddik

Гость
#1
Привет! Хочу из кода, при выполнении некоторых условий, вызывать отображение формы, на ней нужно прописать нужный текст, считать, какая кнопка была нажата и закрыть форму. Форму в обработках создал, как ее показывать, менять на ней текст и считывать ответ? Спасибо!
 
H

Hryv

Гость
#2
Если нужен просто текст и ответ в виде нажатой кнопки, то есть функция Вопрос()
 
R

roddik

Гость
#3
Нет, к сожалению, вариантов ответа больше: в формочке наверху написано, что не найдено контрагента с таким-то названием, есть варианты - выбрать существующего, для этого есть поле, кнопка для создания нового - нужно еще потом как-то узнавать, кого создали, и кнопка "пропустить"..
 
G

GRblSHA

Гость
#4
Для того, чтобы открыть существующую в конфигурации форму (документ к примеру) надо прописать:

ОткрытьФорму("Документ.ФормаДиалога"); //где ФормаДиалога имя документа!

А в том документе можешь делать любые кнопки))))

Можно использовать обработку:

ОткрытьФорму("Отчет",,"путь к внешней обработке");

Тоже самое во внешней обработке можно любые кнопочки сделать!
 
R

roddik

Гость
#5
Спасибо! Еще нашел у них на сайте
Как из формы открыть другую форму и получить из нее выбранное значение?

Допустим, из первой формы нужно открыть вторую форму. Для этого следует открыть вторую форму как подчиненную первой форме (или нужному элементу управления первой формы) и затем выполнить интерактивный выбор во второй форме, или вызвать метод второй формы ОповеститьОВыборе(). Результат будет доступен в обработчике события ОбработкаВыбора() первой формы (или ее элемента управления, если вторая форма открывалась как подчиненная этому элементу управления).

В модуле первой формы:

Процедура КнопкаСформироватьНажатие(Элемент)
Форма = Отчеты.Отчет1.ПолучитьФорму("Форма2",ЭтаФорма);
Форма.Открыть();
КонецПроцедуры

Процедура ОбработкаВыбора(РезультатВыбора, ИсточникВыбора)
Сообщить(РезультатВыбора);
КонецПроцедуры

В модуле второй формы:

Процедура КнопкаСформироватьНажатие(Элемент)
ОповеститьОВыборе(ПолеВвода1);
КонецПроцедуры

Хотя, там оно, вроде как, касалось 8.1, в 7.7 заработает, надеюсь? Еще, я когда пробовал по аналогии с Отчеты.Отчет1.ПолучитьФорму, использовать Обработки.ВыбратьИлиНовый..., но получил ошибку - не существует переменной "Обработки", почему так?
 
H

Hryv

Гость
#6
Для 7.7 изучи подробно ОткрытьФорму() и ОткрытьФормуМодально()
Они с разными параметрами работают для любых форм (Док, Справочник, Отчет, Журнал ...)

На их основе сделаешь то что тебе надо
 
R

roddik

Гость
#7
Да, учу потихоньку..) Только вот самый главный вопрос, как проверять, что написал? Надеюсь, что сохранять конфиг, открывать предприятие и вызывать то, что написал - правильный способ
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#8
roddik
Способ правельный. Но перед сохранением конфига можешь еще и синтаксис проверять чтобы избежать лишних ошибок