Как определить, откуда открыта форма списка #29131


#0 by Yexel
Добрый день!Есть справочник "Номенклатура", у которого есть форма списка. Есть документы, в которых номенклатура является реквизитом табличной части и есть отчеты, в которых есть поле ввода с типом "Справочник.Номенклатура"При выборе в документе или в отчете этого поля открывается форма списка справочника.Можно ли в модуле формы списка справочника определить, откуда она открыта - из документа или из отчета?
#1 by Муму после всплытия
если передать контекст этого документа или отчета, то можно...........
#2 by LAV
ЭтаФорма.ВладелецФормы
#3 by DBegunkov
ВладелецФормы - это что, недокументированный метод ? Чего то я такого не встречал в документации...Если я пишу в форме списка, например при открытии:Сообщить(Форма.ВладелецФормы);, то 1с ругается:"Сообщить(Форма.ВладелецФормы);{Справочник.FP_ПланСчетов.ФормаСписка.ФормаСписка.Модуль}: Поле агрегатного объекта не обнаружено (ВладелецФормы)"
#4 by Yexel
Чего-то я не могу въехать - как этот контекст-то передать?Напомню, что на форме или в табличной части есть реквизит "Номенклатура" с типом "Справочник.Номенклатура". Куда там передавать этот контекст? Шутить изволите? :-)
#5 by Муму после всплытия
там должна быть процедура ПриНачалеВыбораЗначения.................. в которой собственно все и происходит
#6 by Yexel
А-а-а-а... Вон оно чего. Тогда ясно.Т.е. для того, чтобы анализировать, откуда открыта форма списка, надо во все места, откуда она вызывается, добавлять процедуру "ПриНачалеВыбораЗначения", в которой все это и прописывать... Как-то это грустно и долго :-(А других способов нету?
#7 by Муму после всплытия
ВК............ вроде в ФормЭксе это есть..............
#8 by Yexel
Сидел, читал синтакс-помощник по FormEx. Долго думал :-)Понял, что с помощью ФормЭкса можно открыть форму и делать с этой формой чего угодно и как угодно.А вот найти там метод/атрибут, который указывал бы _откуда_ открыта текущая форма чего-то не получилось :-(Плохо искал?
#9 by LAV
Почему "недокументированный метод"? Очень даже документированный...
#10 by VZ
Про што речь ведем? вроде бы о 7.7 Нет такого метода в 7.7. Единственно, что можно - организовать самому в ГБ что-то вроде стэка открытых форм и при открытии проверять последнюю... Что, естественно, потребует усилий. Особенно, учитывая что формы могут быть активизированы повторно после открытия.
#11 by LAV
Версия 1С не указана.
#12 by VZ
Но если посмотреть пост , то вроде как можно догадатся?
#13 by LAV
Пост ни о чём не говорит
#14 by Палыч
YexelСдается мне, тебе, просто, нужна еще одна форма списка справочника "Номенклатура".
#15 by Yexel
Да об этом я тоже уже подумал.Но фигня-то вся в том, что у этой формы списка достаточно сложное поведение и плодить еще одну форму с практически тем же функционалом (отличающимся немного при вызове этого списка из документа) - совершенно нецелесообразно.Скорее всего поступлю проще - в тех документах, где реально необходим этот недостающий функционал, вставлю процедуру ПриНачалеВыбораЗначения, где чего-нибудь буду передавать в этот список и проблема решится.Но вообще платформа 7.7 меня в очередной раз неприятно поразила. Но это просто мысль вслух :-)Спасибо всем за советы
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям