Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ОткытьФорму("Документ.форма2") выполнить процедуру (число прочтений - 3707 )
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
ОткытьФорму("Документ.форма2") выполнить процедуру
15. Августа 2007 :: 06:25
Печать  
к примеру у меня есть 2а документа, вот один из них  Ужас
//---------Документ.форма2----------------------------------
Процедура Сообщ()
 Сообщить("Тестирование прошло успешно!!!");
КонецПроцедуры

//-------------------------------------------------------------------

Как прописать в Документ.форма1 процедуру, чтоб ана открыла форму и выполнила Сообщ()?  Нерешительный
  
Наверх
ICQ  
IP записан
 
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #1 - 15. Августа 2007 :: 06:35
Печать  
вот решение проблемы стандартными средствами [url="http://www.forum.mista.ru/topic.php?id=146549#48"]Волшебный форум[/url]

Код
Выбрать все
Перем Конт;

Процедура Вырубить()
    Конт.Форма.ОбработкаОжидания("");
    Конт.Форма.Закрыть();
КонецПроцедуры

Процедура Сформировать()
    Форма.ОбработкаОжидания("Вырубить",2);
    Открытьформу(КакойТоТамДокумент,Конт);
    Конт.Форма.ОбработкаОжидания("НуНапримерПечать",1);
КонецПроцедуры
 



это для тех каму по ссылке заходить лень.
« Последняя редакция: 15. Августа 2007 :: 07:52 - Massive »  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #2 - 15. Августа 2007 :: 07:00
Печать  
Если FormEx, то Сервис.ВыполнитьПроцедуру(КонтекстДокумента2, "Сообщ", СписокПараметров);
Если 1С++, то еще проще - КонтекстДокумента2.Сообщ();
  
Наверх
ICQ  
IP записан
 
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #3 - 05. Сентября 2007 :: 08:31
Печать  
На FormEx нет реакции, а на 1С++ выдает ошибку "Поле агрегатного объекта не обнаружено (Сообщ)"  Плачущий
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #4 - 05. Сентября 2007 :: 08:59
Печать  
Код
Выбрать все
Процедура Сообщ() Экспорт
 


спасет отца народной демократии
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #5 - 05. Сентября 2007 :: 10:50
Печать  
Дописал и таж самая ошибка  Печаль

//-------Документ.Тест------------------

Процедура Сообщ()  Экспорт
     Предупреждение("Тестированиек прошло успешно!!!",10);
КонецПроцедуры

//---------------Документ.Новый-------

Процедура ПроизвестиТестирование()
     Док=СоздатьОбъект("Документ.Тест");
     Док.Сообщ();
КонецПроцедуры

Если прописать под FormEx

Сервис.ВыполнитьПроцедуру("Документ.Тест","Сообщ"); вместо Док.Сообщ(); , то отсутствует какая либо реакция на собращение

Помогите понять в где тут ошибка
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #6 - 05. Сентября 2007 :: 10:55
Печать  
Ну ты брат неленивый, так все в цвете рисовать Улыбка

Не получится так, как у тебя написано.
У объекта вида "Документ.Тест" нет метода Сообщ().
Этот метод есть только у контекста формы этого объекта. Разницу чуешь?

Т.е. в данном ключе нужно открыть форму, получив ее контекст, а уж дальше вызывай Сообщ() сколько хочешь.
Там, кстати, тоже возможны разные заморочки, но смысл такой.

т.е.
Код
Выбрать все
Открытьформу(КакойТоТамДокумент,Конт);
Конт.Сообщ();
 



Успехов!

P.S.
О смысле подобного использования не говорю, я так понимаю, что это упрощенный пример, речь о самой схеме вызова.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #7 - 05. Сентября 2007 :: 11:39
Печать  
Спасиб ограменное теперь все отлично работает  Очень довольный
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #8 - 05. Сентября 2007 :: 11:58
Печать  
Massive писал(а) 05. Сентября 2007 :: 11:39:
Спасиб ограменное теперь все отлично работает  Очень довольный

Если бы ты внимательно прочитал
Цитата:
Если FormEx, то Сервис.ВыполнитьПроцедуру(КонтекстДокумента2, "Сообщ", СписокПараметров);
Если 1С++, то еще проще - КонтекстДокумента2.Сообщ();

то спасибо заработал бы я Очень довольный
  
Наверх
ICQ  
IP записан
 
Massive
YaBB Newbies
*
Отсутствует



Сообщений: 13
Местоположение: Архангельск
Зарегистрирован: 23. Июля 2007
Пол: Мужской
Re: ОткытьФорму("Документ.форма2") выполнить проце
Ответ #9 - 05. Сентября 2007 :: 12:56
Печать  
vip писал(а) 05. Сентября 2007 :: 11:58:
то спасибо заработал бы я Очень довольный

Впринцыпи да только я тупил с контекстом  Со сжатыми губами
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать