• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

roddik

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

Hryv

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

roddik

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

GRblSHA

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

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

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

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

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

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

roddik

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

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

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

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

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

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

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

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

Hryv

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

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

roddik

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

KiR

roddik
Способ правельный. Но перед сохранением конфига можешь еще и синтаксис проверять чтобы избежать лишних ошибок
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!