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

Тема в разделе "1C и всё что с ней связано", создана пользователем roddik, 6 авг 2008.

  1. roddik

    roddik Гость

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

    Hryv Гость

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

    roddik Гость

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

    GRblSHA Гость

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

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

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

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

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

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

    roddik Гость

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

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

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

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

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

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

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

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

    Hryv Гость

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

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

    roddik Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

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

Поделиться этой страницей