Обратиться к процедуре в модуле одного объекта из другого (обычн. формы) #742962


#0 by vitaliklibra
Приветствую! Скажите кто-нить, есть ли возможность в 1С (обычные формы) обратиться (вызвать) функцию или процедуру из модуля формы одного объекта из другого. Если можно, то как? Или как обычно, ткните пальцем, где можно про это почитать. Спасибо!
#1 by DirecTwiX
Если процедура не экспортная, то нет.
#2 by vitaliklibra
- ок, слово "Экспорт" я дописал к процедуре (если об этом шла речь). А как теперь к ней обратиться, подскажи! О_о
#3 by DirecTwiX
Получаешь форму, обращаешься.
#4 by vitaliklibra
- пишу в модуле: НовыйДоговор.ПолучитьФорму("ФормаЭлемента", НовыйДоговор.Ссылка) И насколько я понимаю, среди следующего выпадающего списка через точку должна быть команда, типа, "МодульФормы" или моя же экспортная процедура? Если так, то ничего подобного там нет( Что-то, чувствую, не то...
#5 by DirecTwiX
У 1С нет такого крутого интеллектуального ввода.
#6 by vitaliklibra
- снова все проверил - в списке моей функции нет. Может дело в том, что я программно создаю сначала этот документ, записываю, а потом пытаюсь его же вызвать и к нему же обратиться? Но я и пробовал просто: Справочники.Договоры.ПолучитьФорму("ФормаЭлемента") Так тоже ничего не выходит...( Подчеркну: приложение ОБЫЧНОЕ!
#7 by GROOVY
Так ее и не будет, придется руками набирать.
#8 by vitaliklibra
Ты имеешь в виду, эту же процедуру переносить туда же, где и нужно её использовать?
#9 by GROOVY
"в списке моей функции нет" - не и не будет, если ее нет в списке, это не значит что ее нельзя вызвать.
#10 by vitaliklibra
Я рад это слышать!))) Но, думаю, как бы это странно не звучало, я тебя всё же спрошу: подскажи, КАК правильно задать обращение к процедуре, находящейся в модуле формы произвольного объекта (в моем случае справочника) конфигурации?
#11 by Garykom
ЗЫ примерно так
#12 by Одинесю
Почитай про контексты, это даст очень многое для понимания взаимодействия модулей. Без сарказма.
#13 by vitaliklibra
Ок, а где почитать или как гуглить-то? Я уже смотрел и искал - куча инфы по управляемых формах, а по обычных - голое дно( Находил только то, что такие процедуры можно вызвать, если они находятся в общем модуле. Если это и есть решение, то вопрос закрыт, но в GROOVY написал, что как-то это сделать можно... Думаю, он не это имел в виду.
#14 by GROOVY
Мда... ФормаЛюбая.МояПроцедура;
#15 by GROOVY
Форму вроде ты получаешь.
#16 by Lama12
В Прям пример написан. Что ж еще то надо :) Ну нет в 1С супер-интеллектуального помощника. Эх... чувствуется молодежь... :) Не работала в старых редакторах.
#17 by vitaliklibra
и - ребят, ну я всё понимаю!) Ну если её в ТОМ списке нет, я бы стал создавать 100500-ю тему на форуме и морочить мозги Вам? Реально не могу понять, че её там нету!.. Т_Т
#18 by GROOVY
это нормально.
#19 by vitaliklibra
- не обязательно кричать. Я и так слышу! Просто если бы объяснил , а именно "если ее нет в списке, это не значит что ее нельзя вызвать.", я бы и не продолжал разговор. Плюс в человек говорит, что даже пример написан. Но ведь он не работает! (у меня).
#20 by vitaliklibra
GROOVY! Прошу твоей помощи! Что нужно для того, чтоб обратиться к процедуре в модуле формы другого объекта. Эта процедура экспортная. Но тот описанный метод не даёт к ней доступ из модуля другого объекта. Подскажи, как правильно, или ткни пальцем, где можно об этом толково почитать?
#21 by Одинесю
вот почитай
#22 by tznimble
Обращение к экспортным процедурам имеет вид: В Модуле формы Если у Вас не работает - напишите конкретно выдаваемую ошибку.
#23 by tznimble
На предмет "что почитать". Например, встроенную справку
#24 by Serg_1960
(шутка) в форме "А" (в нужном месте): Оповестить("ЭйТыЗаразаЗапустиСвоюПроцедуру"); в форме "Б", в процедуре ОбработкаОповещения(ИмяСобытия, Параметр, Источник):
#25 by vitaliklibra
Делаю по примеру . Также почитал . Результат написан в . Еще раз подчеркну. В модуле формы "А" пишу: Процедура ЁМоё Экспорт     ... КонецПроцедуры В модуле формы "Б" пишу     Справочники.Договоры.ПолучитьФорму("А"). А что дальше? Если через точку должна появиться процедура "ЁМоё", то её там нет. Вот в этом и ест вопрос: что не так?
#26 by Рэйв
#27 by vitaliklibra
#28 by GROOVY
"Ё" - не стоит использовать в коде по суеверным причинам.
#29 by GROOVY
Да напиши ты ее руками!!!! ААААА!!!!
#30 by Рэйв
Что ты такой трудный то?  Тебе уже 10 раз сказали что в списке автоподбора твоих нетленок не будет!
#31 by 2083
+ когда ты напишешь Ф. в выпадающем списке не будет твоей процедуры. После того как нажмешь на клавиатуре . наберешь на клавиатуре руками ЁМоё; Руками, Карл! Ее не будет в списке! Никогда, Карл! Руками набери!
#32 by Рэйв
Ну если уж и сейчас не въедет- я начну сомневаться в человечестве!:-))
#33 by Serg_1960
Не впадай в пессимизм, начни с малого - начни сомневаться в принадлежности к человечеству :)
#34 by vitaliklibra
GROOVY, ну чё опять кричишь, а ? Надо ж как-то объяснять, что под словами "напиши ты ее руками" стОит понимать то, что после ТОЧКИ её нужно написать, не смотря на то, что её в списке нет. ВСЕМ СПАСИБО ЗА ПОМОЩЬ! GROOVY - за терпение отдельное лайк!) - можешь не сомневаться - всё получилось (человечество спасено!) :D
#35 by samozvanec
тебе стоит задуматься над случившимся, как педагогу)
#36 by Сергиус
А почему никто не задался вопросом - зачем так вообще делать - Вызывать из одной формы процедуру другой?.. Тут, ИМХО, на лицо ошибка проектирования.
#37 by Serg_1960
Не знаю насчет ошибок проектирования, но утечку памяти автор точно "запроектирует". Даже после закрытия форм, формы останутся в памяти. Перекрёстные ссылки надо очищать принудительно. PS: а ведь я подсказывал тс "безопасный" метод общения открытых форм. С передачей параметров. Так можно работать даже с не экспортными процедурами и функциями форм, ибо вызов идёт из контекста самой формы.
#38 by GROOVY
Я не педагог, а преподаватель.
#39 by 2083
во-первых, задаться вопросом <> задать вопрос ТСу об этом, во-вторых, это все есть в книжках, ИМХО, пусть ТС и читает, наступает на грабли и снова читает и так до тех пор пока...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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