Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9  ОтправитьПечать
Очень популярная тема (более 25 ответов) СтатусВозврата в классе "Перехватчик" (число прочтений - 43271 )
Sergey
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #90 - 08. Мая 2007 :: 10:32
Печать  
Круто. А как насчет ВводНаОсновании ведь когда вводишь на основании ВводНового не выполняется вроде?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #91 - 08. Мая 2007 :: 10:39
Печать  
Про ВводНаОсновании просто забыл.
Добавлю.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #92 - 08. Мая 2007 :: 15:45
Печать  
Артур, проверь плиз у себя, что-то у меня лыжи не едут...
В классе перехватчика логакльного контекста делаю метод Поиск(), который вешаю на кнопку на форме документа.
В методе делаю:
Код
Выбрать все
Перем Парам;
ОткрытьФормуМодально("Отчет", Параметр, КаталогИБ() + "Служебное\Справочник.Номенклатура.Поиск.ert");
 


В обработке  Справочник.Номенклатура.Поиск.ert пытаюсь менять Форма.Параметр, а никак...
Код
Выбрать все
Форма.Параметр = "Йо, мегакласс перехватчик";
Сообщить(Форма.Параметр);
 


Выдает пусто.
Но! как только вместо Перем Парам; сделаю Парам = "", то все работает.
Где косяк порылся? Полдня потерял  Смех
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #93 - 10. Мая 2007 :: 13:52
Печать  
Все равно не понял, как и что ты делаешь?
при чем здесь перехватчик Улыбка
Выложи, пожалуйста, тестовый пример.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #94 - 10. Мая 2007 :: 14:47
Печать  
Arta писал(а) 08. Мая 2007 :: 15:45:
В методе делаю:
Код
Выбрать все
Перем Парам;
ОткрытьФормуМодально("Отчет", Параметр, КаталогИБ() + "Служебное\Справочник.Номенклатура.Поиск.ert");
 


Но! как только вместо Перем Парам; сделаю Парам = "", то все работает.
Где косяк порылся? Полдня потерял  Смех

Проанализировал и выяснил, что это баг не 1С++, а баг 1С !

Попробуй на чистой базе без 1С++ сделать подобный вызов, выйдет тоже самое Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #95 - 11. Мая 2007 :: 05:55
Печать  
В ГМ:
Код
Выбрать все
Процедура ПослеСозданияФормы(Конт)
	Попытка
		Док=Конт.ТекущийДокумент();
		Если СокрЛП(Док)<>"""" Тогда //т.е. это не новый документ
			Перехват=СоздатьОбъект("МойПерехватчик");
			Перехват.Инит(Конт);
		КонецЕсли;
	Исключение
	КонецПопытки;
КонецПроцедуры
 



В КОП:
Код
Выбрать все
Процедура Конструктор()
	УН=СоздатьОбъект("УправлениеНастройками");
	УН.Установить("ПерехватитьСобытияГК",1);
	//*
	Инфо=СоздатьОбъект("Информатор");
	Сервис=СоздатьОбъект("Сервис");
	Перехват=СоздатьОбъект("Перехватчик");
КонецПроцедуры

Процедура Инит(Конт) Экспорт
	Перехват.ПерехватитьСобытияГК(Конт,Сам());
КонецПроцедуры                              

Процедура Событие_ПриОткрытии() Экспорт
	Сообщить(1);
КонецПроцедуры

Процедура Событие_ПослеОткрытия() Экспорт
	Сообщить(2);
КонецПроцедуры

Процедура Событие_ПриЗаписи() Экспорт
	Сообщить(3);
КонецПроцедуры

Процедура ПриИзмененииПорядкаСтрок(Действие) Экспорт
	Сообщить("4");
КонецПроцедуры
 



процедуры 1, 2 не отрабатывают, с остальными всё нормально ((((

Конфа с описываемой конфигой прилагается

1спп: Nightly build 2007-05-11
  

6.rar ( 15 KB | Загрузки )
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

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

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


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: СтатусВозврата в классе "Перехватчик"
Ответ #97 - 11. Мая 2007 :: 06:18
Печать  
DionX писал(а) 11. Мая 2007 :: 05:55:
В ГМ:
Код
Выбрать все
Процедура ПослеСозданияФормы(Конт)
	Попытка
		Док=Конт.ТекущийДокумент();
		Если СокрЛП(Док)<>"""" Тогда //т.е. это не новый документ
			Перехват=СоздатьОбъект("МойПерехватчик");
			Перехват.Инит(Конт);
		КонецЕсли;
	Исключение
	КонецПопытки;
КонецПроцедуры
 



В КОП:
Код
Выбрать все
Процедура Конструктор()
	УН=СоздатьОбъект("УправлениеНастройками");
	УН.Установить("ПерехватитьСобытияГК",1);
	//*
	Инфо=СоздатьОбъект("Информатор");
	Сервис=СоздатьОбъект("Сервис");
	Перехват=СоздатьОбъект("Перехватчик");
КонецПроцедуры

Процедура Инит(Конт) Экспорт
	Перехват.ПерехватитьСобытияГК(Конт,Сам());
КонецПроцедуры                              

Процедура Событие_ПриОткрытии() Экспорт
	Сообщить(1);
КонецПроцедуры

Процедура Событие_ПослеОткрытия() Экспорт
	Сообщить(2);
КонецПроцедуры

Процедура Событие_ПриЗаписи() Экспорт
	Сообщить(3);
КонецПроцедуры

Процедура ПриИзмененииПорядкаСтрок(Действие) Экспорт
	Сообщить("4");
КонецПроцедуры
 



процедуры 1, 2 не отрабатывают, с остальными всё нормально ((((

Конфа с описываемой конфигой прилагается

1спп: Nightly build 2007-05-11


Процедура 2 работает нормально
Процедура 1 и не должна работать, т.к. сначала срабатывает "ПриОткрытии" а уж потом "ПослеСозданияФормы"

если я ничего не путаю конечно...
  
Наверх
wwwICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #98 - 11. Мая 2007 :: 06:26
Печать  
я не виноват Смущённый
это всё пятница!

сам вижу, что на тестовой конфиге всё нормально работает! Смех
и что самое страшное, дык это то, что я и на своей рабочей не могу теперь сделать так, чтоб НЕ работало! ))))

спасибо артуру за оказанное содействие в изгнании беса... тьфу-ты... негативного воздействия пятницы.
Хотя, думаю, что изначально всё-таки дело было в более старой длл, а не только в пятнице.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

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

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



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #100 - 16. Мая 2007 :: 08:46
Печать  
И всё-таки ещё раз про СтатусВозврата().
Есть КОП в который посредством Перехватчика перенаправляются события документа.
Есть предопределённая процедура ПриИзмененииПорядкаСтрок(Действие).
Нужно при определённых условиях запретить пользователю изменение порядка строк. Можно, наверное, установив СтатусВозврата(0), но что-то не могу допетрить как...
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #101 - 16. Мая 2007 :: 08:57
Печать  
Сделай его функцией и возвращай 0
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #102 - 16. Мая 2007 :: 10:27
Печать  
И еще хорошо бы все-таки доку почитать, там все довольно просто и ИМХО понятно написано Печаль
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #103 - 16. Мая 2007 :: 14:49
Печать  
artbear писал(а) 16. Мая 2007 :: 10:27:
И еще хорошо бы все-таки доку почитать, там все довольно просто и ИМХО понятно написано Печаль



Артур, я сам методом научного тыка разобрался.
Ну всегда у нас так, если ничего не помогает, то прочти в конце концов инструкцию Улыбка
Неисправимы мы Улыбка
  
Наверх
 
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: СтатусВозврата в классе "Перехватчик"
Ответ #104 - 17. Мая 2007 :: 00:28
Печать  
Arta писал(а) 16. Мая 2007 :: 08:57:
Сделай его функцией и возвращай 0


artbear писал(а) 16. Мая 2007 :: 08:57:
И еще хорошо бы все-таки доку почитать, там все довольно просто и ИМХО понятно написано

Это всё, конечно, замечательно, но разве кто-то отменял правило исконно русского  человека: сделал, подрихтовал молоточком, прочитал инструкцию как нужно было сделать  Смех

спасибо, все замечательно работает Класс
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 
ОтправитьПечать