Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Вызов процедуры контекста из глобального модуля (число прочтений - 2595 )
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Вызов процедуры контекста из глобального модуля
05. Сентября 2007 :: 09:59
Печать  
Имеем процедуру глобального модуля

Код
Выбрать все
Процедура ОбработкаЯчейкиТаблицы(Расшифровка,ФСО,Таблица) Экспорт

Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
		ФСО= 1;
		Возврат;
Иначе
     Если ТипЗначения(Расшифровка.Получить("КонтекстПередачи"))=100 Тогда
		КонтекстПередачи= Расшифровка.Получить("КонтекстПередачи");
		КонтекстПередачи.ПроцедураСЭкспортомВКонтестеПередачи();

	КонецЕсли;

КонецЕсли

КонецПроцедуры
 



Даже то что ПроцедураСЭкспортомВКонтестеПередачи() объявлена в КонтекстПередачи со словом Экспорт - выдаст ошибку
"Поле агрегатного объекта не обнаружено (ПроцедураСЭкспортомВКонтестеПередачи)"

Здесь видимо важно то что вызов глобальной процедуры произошел в момент нажатия на ЯчейкуТаблицы.

Вопрос:
1. TurboMD разве не позволяет обращаться к процедурам Контекста?

P.S. Или я опять чего-то не учел
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вызов процедуры контекста из глобального модул
Ответ #1 - 05. Сентября 2007 :: 11:56
Печать  
1. ТурбоМД здесь ни при чем, к контексту обращаемся через ТурбоБЛ Улыбка
2. Чему равен ТипЗначенияСтр(Расшифровка.Получить("КонтекстПередачи")) ?

Выложи тестовый пример
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Вызов процедуры контекста из глобального модул
Ответ #2 - 05. Сентября 2007 :: 12:20
Печать  
Тьфу ты -  с TurboMD я ошибся, конечно же TurboBL Круглые глаза

ТипЗначения(Расшифровка.Получить("КонтекстПередачи") = 100

а

ТипЗначенияСтр(Расшифровка.Получить("КонтекстПередачи")) = НеизвестныйОбъект  Ужас

Не понятно....
Передаю Контекст, этот Контекст (к примеру ФормаСписка Справочника) еще существует = читай открыт.
1. Неизвестный объект - почему?
2. Если в тупую делать ОткрытьФорму(ТипВидКонтекстаПередачи+ТекущаяФормаСписка)
в процедуру ПроцедураСЭкспортомВКонтестеПередачи() - входит 2 раза.

Короче буду рисовать тест - так или иначе пойму где глюк.
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Вызов процедуры контекста из глобального модул
Ответ #3 - 06. Сентября 2007 :: 05:58
Печать  
Вообщем Контекст через список значений передать не удаётся, да и это понятно - так как для расшифровки используется ЗначениеВСтрокуВнутр.

Остается вопрос про двойной вызов глобальной процедуры

Вообщем если кому интересно - тестовая конфа во вложении, в принципе проблема наблюдается и у TableDoc Круглые глаза
  

TestClick.zip ( 9 KB | Загрузки )

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вызов процедуры контекста из глобального модул
Ответ #4 - 06. Сентября 2007 :: 11:41
Печать  
Пример немного неудачный - после запуска все ок, локальная процедура вызывается один раз.

И НУЖНО СУМЕТЬ догадаться отключить в форме списка справочника метод ОбработкаЯчейкиТаблицы Печаль

И даже после этого баг НЕ становится виден Печаль

Т.о. не подтверждаю баг!

ЗЫ или что-то не так понял Улыбка

Кстати, а случайно сборка ФормЕкс не 62,63,64 ?
в них есть ошибка как раз для ОбработкаЯчейкиТаблицы Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Вызов процедуры контекста из глобального модул
Ответ #5 - 06. Сентября 2007 :: 15:46
Печать  
artbear писал(а) 06. Сентября 2007 :: 11:41:
Кстати, а случайно сборка ФормЕкс не 62,63,64 ?
в них есть ошибка как раз для ОбработкаЯчейкиТаблицы Улыбка


Совершенно случайно... они самые  Смущённый
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать