8.х Как по ссылке на элемент управления получить его форму?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем hibico, 30 июн 2010.

  1. TopicStarter Overlay
    hibico
    Offline

    hibico

    Регистрация:
    18 фев 2010
    Сообщения:
    27
    Симпатии:
    2
    Баллы:
    1
    Допустим имеем ссылку на элемент управления формы из которой была вызвана форма выбора:
    Код:
    ЭлементФормыВладельца = ЭтаФорма.ВладелецФормы; // Это поле ввода 
    
    Как получить доступ к реквизитам вызвавшей формы по ссылке на элемент управления этой формы?
    Ничего не нашел. Неужели это не возможно?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Кхм....Через ЭлементыФормы

    ЭлементУправления = ЭлементФормыВладельца.ЭлементыФормы.<НужныйЭлемент>

    или не?
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Заведите реквизит в вызванной форме, ФормаВладелец.
    При вызове формы пишем

    Код:
    ВызываемаяФорма.ФормаВладелец = ЭтаФорма; // Получили ссылку
    
    Обращаемся к элементам формы

    Код:
    ФормаВладелец.ЭлементыФормы.Контрагент.Значение = НовыйКонтрагент; // Пишем реквизиты
    
  4. TopicStarter Overlay
    hibico
    Offline

    hibico

    Регистрация:
    18 фев 2010
    Сообщения:
    27
    Симпатии:
    2
    Баллы:
    1
    Не, не прокатит.
    У элемента управления нету элементов формы.
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    значит владелец формы - не форма, а элемент на форме
  6. TopicStarter Overlay
    hibico
    Offline

    hibico

    Регистрация:
    18 фев 2010
    Сообщения:
    27
    Симпатии:
    2
    Баллы:
    1
    Примерно так и сделал. Просто, стараюсь вводить как можно меньше изменений в типовую, чтобы потом меньше проблемм с обновлениями. А тут вместо того, чтобы изменить только справочник, пришлось вводить изменения еще в три документа.
    Хотя логически очень просится команда типа:
    Код:
    ИскомаяФорма = НашЭлементФормы.Форма()
    
  7. TopicStarter Overlay
    hibico
    Offline

    hibico

    Регистрация:
    18 фев 2010
    Сообщения:
    27
    Симпатии:
    2
    Баллы:
    1
    Совсем замылился. Есть же элементарные способы через глобальные переменные, например в УТ есть глОбщиеЗначения. Типа так:
    Код:
    // в вызываемой форме
    глОбщиеЗначения.Вставить("ФормаВладелец",ЭтаФорма);
    //В вызываемой
    перем ФормаВладелецЭтойФормы
    глОбщиеЗначения.Свойство("ФормаВладелец",ФормаВладелецЭтойФормы);
    
    Всё просто и не надо зацикливаться.

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