Узнать метаданные.Справочники.Мой.Формы.Формв собственно из формы - невозможно!? #371060


#0 by SZA
Привет. Вот, например, находясь в форме списка справочника я никак не могу выйти на Метаданные.Справочники.ДанныйСправочник.Формы.ДаннаяФорма не прописывая это руками ? Как бы это объяснить..  ..преположим уже существует вызов из любой формы конфигурации определенной глобальной процедуры ГлОтФорм(ЭтаФорма), но хочется, чтобы было понятно из какой именно части метаданных произошел вызов. Конкретнее - какая форма? Объект ЭтаФорма многое о себе рассказывает, но нет ссылки на собственные метаданные и нет собственного названия, чтобы хотя бы предпринять поиск по метаданным. Я правильно понимаю, что если в окружении нет ЭтотОбъект, выйти на текущие метаданные уже невозможно!?
#1 by H A D G E H O G s
ЭтаФорма.Метаданные
#3 by Кадош
а вам зачем? (с)
#4 by Кадош
может быть Владелец?
#5 by MishaSan
метаданные.найтиПоТипу(ТипЗнч(Список))
#6 by ottto
Коряво можно так:
#7 by TormozIT
В сериализованном виде в форме можно найти ее идентификатор. Потом получить каждую форму из менеджера и сравнивать их идентификаторы. Будет долго но надежно.
#8 by SZA
УПП - сотни форм. Из любой из них может быть вызов нужной мне процедуры (ее вызов добавляется интерактивно при открытии формы). Но мне нужно знать откуда. Конкретно - метаданные..ТекущаяФорма. Прменений может быть масса. Мне свое тяжело так в об объяснить. Владелец=неопределено да ну нету у ЭтаФорма ни "Список" ни "Ссылка". Расскажите пожалуйста - мне уже все равно как. Альтернатива только ходить вставлять полное описание Метаданные..Форма во всех формах в вызов своей гл.процедуры.
#9 by SZA
(6+) Вашу идею про сред(сокрлп(ЭтаФорма.СправочникСписок),18) понял. Жаль только у справочника может быть несколько форм с таким элементом - например форма выбора и форма списка. В общем это все гадание на кофейной гуще.
#10 by ЫЫЫЫ
Метаданные.НайтиПоТипу(ЭтаФорма.Отбор.Ссылка.ТипЗначения.Типы[0])
#11 by ЫЫЫЫ
+10 Продолжение:
#12 by H A D G E H O G s
Плохо
#13 by SZA
да! черт возьми.. для форм списков и выбора справочников и документов это идеально. .."отбор!? кто бы мог подумать". Спасибо большое! Если принять два подхода с попытками, (второй подход через ЭтотОбъект), то остаются неохваченными только общие формы конфигурации - таких немного - там можно и руками проставить. Хорошо что меня не интересуют в этой задаче "вторичные" (неосновные) формы собственно объектов справочников, доков, обработок, отчетов, регистров. Как получить их метаданные так и остается загадкой. Возможно - без ответа.
#14 by H A D G E H O G s
Для Каждого МетаданноеСправочник ИЗ Метаданные.Справочники Цикл        Для Каждого МетаданноеТекущейФормы Из МетаданноеСправочник.Формы Цикл
#15 by H A D G E H O G s
Дольше, зато однозначно
#16 by H A D G E H O G s
Аналогично обходим Документы (если надо), и.т.д., а также Метаданные.ОбщиеФормы
#17 by ЫЫЫЫ
Во-первых, не учитываются ВладелецФормы и КлючУникальности. Во-вторых, на монстрообразных конфигурациях тормоза получатся нехилые.
#18 by SZA
пока писал ответ - увидел продолжение, понял как получить "вторичные". выходит следует только выяснить справочник это или окумент/отчет/обработка.. ..а далее все можно найти. спеку завтра код общий для всех случаев - может тут положу
#19 by ЫЫЫЫ
А в чём неоднозначность ?
#20 by H A D G E H O G s
У ФормаЭлемента, дополнительных форм есть Отбор? ВладелецФормы может и надо учитывать, не проверял, но зачем КлючУникальности???
#21 by SZA
да конфигурация монструозная.. перебор применять жалко. Пойду по пути предварительных попыток считать реквизиты и понять область конфигурации прежде чем произвести поиск по метаданным Я вчера думал тут найдутся решения по поводу всяких недокументированных индексов объектов конфигурации - которые можно считать и использовать в поиске по метаданным :) Вообще форма настолько неуниверсальный объект - почти каждый ее вариант (списки/объекты/свободные) нужно описывать отдельной попыткой получить ее реквизиты.. ..чего то тут 1С недосмотрела.
#22 by H A D G E H O G s
<<Во-вторых, на монстрообразных конфигурациях тормоза получатся нехилые.>> Полностью согласен. Если результат нужен несколько раз - кэшируем :-)
#23 by ЫЫЫЫ
>>У ФормаЭлемента, дополнительных форм есть Отбор? А, ну если брать совсем абстрактную форму тогда конечно, именно под форму списка справочника заточено. >>но зачем КлючУникальности?
#24 by H A D G E H O G s
Не проверяя: Ложь
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С