Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Проблема с перехватчиком (число прочтений - 4535 )
Sergey
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Проблема с перехватчиком
19. Июля 2008 :: 10:23
Печать  
Версия 2.0.5 от 18.07.08

Первая проблема: есть 3 перехвата

Функция СобытиеГМ_ПриОткрытии(КонтФормы) Экспорт
Возврат 1;
КонецФункции// После вызывается процедура локального контекста

Функция СобытиеГМ_ВводНаОсновании(КонтФормы,ДокументОснование) Экспорт
Возврат 1;
КонецФункции// ВНИМАНИЕ!!! После не вызывается процедура локального контекста

Функция СобытиеГМ_ВводНового(КонтФормы,флагКопирования) Экспорт
Возврат 1;
КонецФункции// После вызывается процедура локального контекста

Надо бы к одному виду привести.


Вторая проблема СТАТУСВОЗВРАТА

Функция СобытиеГМ_ПриОткрытии(КонтФормы) Экспорт
Перехватчик=СоздатьОбъект("Перехватчик");
Рез=Перехватчик.ВыполнитьСобытиеГК("",КонтФормы,"ПриОткрытии");
Возврат рез;
КонецФункции// После вызывается процедура локального контекста

Функция СобытиеГМ_ВводНаОсновании(КонтФормы,ДокументОснование) Экспорт
Перехватчик=СоздатьОбъект("Перехватчик");
ние);
Возврат рез;
КонецФункции// ВНИМАНИЕ!!! После не вызывается процедура локального контекста

Функция СобытиеГМ_ВводНового(КонтФормы,флагКопирования) Экспорт
Перехватчик=СоздатьОбъект("Перехватчик");
Рез=Перехватчик.ВыполнитьСобытиеГК("",КонтФормы,"ВводНового");
Возврат рез;
КонецФункции// После вызывается процедура локального контекста


Я мотрел на ВводНаОсновании Если при вводе внутри выполнения локальной процедуры статусвозврата установить в 0 то возвращается 0 это правильно и соответственно рез=0

НО ПРИ СЛЕДУЮЩЕМ ВводНаОсновании ПРИ ВХОДЕ В ЛОКАЛЬНУЮ ПРОЦЕДУРУ СтатусВозврата по умолчанию не 1 а 0 и соответственно при выходе рез=0 и вводна основании очередной не выполняется!!! И Ввод нового не выполняется и при открытии.
Смотрел на документах. Отчеты почему то открываются и соответственно рез=1 становится и после этого начинают опять документы открываться))
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #1 - 19. Июля 2008 :: 10:25
Печать  
Покажи код как перехватываешь


P.S. И оформляй пожалуйста код специальным тэгом, а то тяжело читать.
  
Наверх
 
IP записан
 
Sergey
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #2 - 19. Июля 2008 :: 10:48
Печать  
Код
Выбрать все
Процедура ПриНачалеРаботыСистемы()

Если ЗагрузитьВнешнююКомпоненту("C:\Program Files\1Cv77\BIN\Config\Новая папка\1CPP.dll") = 1 Тогда
УпрНастройками=СоздатьОбъект("УправлениеНастройками");
УпрНастройками.Установить("ПерехватитьСобытияГК",1);
УпрНастройками.Установить("EnableTurboBL",1);
УпрНастройками.Установить("ТаблицаИсходнаяТаблица",1);
Перехватчик=СоздатьОбъект("Перехватчик");
ПерехватчикСобытийГлобальногоМодуля=СоздатьОбъект("ПерехватчикСистемы");
уля);
ЗагрузитьВнешнююКомпоненту("C:\Program Files\1Cv77\BIN\Config\Новая папка\FormEx.dll");
КонецЕсли;
 




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

А что там интересно от способа подключения зависит?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #3 - 19. Июля 2008 :: 11:09
Печать  
Исходя из кода ты перехватываешь только ГМ, а не формы. Соответственно ВыполнитьСобытиеГК тут не к месту.
Тебе по всей вероятности нужно использовать ВыполнитьОригинальноеСобытиеГлобальногоМодуля, если необходимо вызвать событие ГМ.
По остальным моментам рисуй тест. Сходу сказать не могу.
  
Наверх
 
IP записан
 
Sergey
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #4 - 19. Июля 2008 :: 14:41
Печать  
Так мне нужно ВводНаОсновании выполнить а оно не выполняется пока его не вызовешь. Пункт 1. Зачем же мне еще локкальную форму перехватывать а потом уж там выполнять. Но дело не в этом а в том какие пункты я в первом посте написал. Разве так все должно работать - по разному
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #5 - 19. Июля 2008 :: 16:47
Печать  
Цитата:
Так мне нужно ВводНаОсновании выполнить а оно не выполняется пока его не вызовешь.

Так выполняй в локальном контексте, зачем ты используешь ВыполнитьСобытиеГК?

P.S. Повторюсь - делай тест, сразу все будет понятно.

Цитата:
Разве так все должно работать - по разному

Оно и работает по разному, перехват ГМ и локального контекста форм.


Если честно, мне без наглядного теста вообще не понятно как у тебя реализован код. Вышеприведенный код ясности не дал.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #6 - 21. Июля 2008 :: 03:24
Печать  
Arta писал(а) 19. Июля 2008 :: 16:47:
P.S. Повторюсь - делай тест, сразу все будет понятно.

Если честно, мне без наглядного теста вообще не понятно как у тебя реализован код. Вышеприведенный код ясности не дал.

+1 по всем пунктам !
  

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


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #7 - 21. Июля 2008 :: 15:07
Печать  
Первая проблема: есть 3 перехвата

Функция СобытиеГМ_ПриОткрытии(КонтФормы) Экспорт
Возврат 1;
КонецФункции// После вызывается процедура локального контекста

Функция СобытиеГМ_ВводНаОсновании(КонтФормы,ДокументОснование) Экспорт
Возврат 1;
КонецФункции// ВНИМАНИЕ!!! После не вызывается процедура локального контекста. И Событие_ВводНаОсновании если перехватить кстати тоже

Функция СобытиеГМ_ВводНового(КонтФормы,флагКопирования) Экспорт
Возврат 1;
КонецФункции// После вызывается процедура локального контекста

Надо бы к одному виду привести.



Что вот тут непонятно
  
Наверх
 
IP записан
 
Sergey
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 135
Зарегистрирован: 18. Октября 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #8 - 21. Июля 2008 :: 15:10
Печать  
На более ранних версиях мартовских-апрельских  нормально. Все 3  работают одинаково
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #9 - 21. Июля 2008 :: 15:26
Печать  
Arta писал(а) 19. Июля 2008 :: 16:47:
делай тест, сразу все будет понятно.

  
Наверх
 
IP записан
 
AndreyM
Full Member
***
Отсутствует



Сообщений: 166
Местоположение: Харьков
Зарегистрирован: 13. Февраля 2008
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #10 - 03. Августа 2008 :: 18:16
Печать  
Sergey,
насколько видно из описания Перехватчика:
11. В добавление ко всем стандартным событиям 1С и ВК FormEx добавлено событие "СобытиеГМ_ПриОткрытии" для перехвата глобального модуля.
12. В добавление ко всем стандартным событиям 1С и ВК FormEx добавлено событие "СобытиеГМ_ВводНового(КонтФормы, флагКопирования)" для перехвата глобального модуля.

Про ввод на основании ничего нет. И в стандартных событиях 1С и FormEx - тоже.
Если, конечно, в ранних выпусках можно было перехватывать ВводНаОсновании, то тогда вопрос к разработчикам - куда это делось?
  

Правильно поставленный вопрос, уже содержит половину ответа.
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #11 - 03. Августа 2008 :: 18:28
Печать  
AndreyM писал(а) 03. Августа 2008 :: 18:16:
Про ввод на основании ничего нет. И в стандартных событиях

Есть. и в ГМ и локально.

и в Перехватчике ГМ и контекста формы все работает.
  
Наверх
 
IP записан
 
AndreyM
Full Member
***
Отсутствует



Сообщений: 166
Местоположение: Харьков
Зарегистрирован: 13. Февраля 2008
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #12 - 03. Августа 2008 :: 19:16
Печать  
Тогда, пожалуйста, ткните пальцем, где описаны ВСЕ события. В документации ничего не нашел.
  

Правильно поставленный вопрос, уже содержит половину ответа.
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #13 - 03. Августа 2008 :: 20:27
Печать  
AndreyM писал(а) 03. Августа 2008 :: 19:16:
Тогда, пожалуйста, ткните пальцем, где описаны ВСЕ события. В документации ничего не нашел.

Ну наверное в ЖКК. Но к моему стыду я ее не читал.
  
Наверх
 
IP записан
 
AndreyM
Full Member
***
Отсутствует



Сообщений: 166
Местоположение: Харьков
Зарегистрирован: 13. Февраля 2008
Пол: Мужской
Re: Проблема с перехватчиком
Ответ #14 - 04. Августа 2008 :: 11:09
Печать  
Sergey,
у меня тоже получилось, что ВводНаОсновании локального контекста не вызывается - ее (процедуры) просто нет в модуле!
Могу выложить тестовую конфу в которой наглядно видно.
  

Правильно поставленный вопрос, уже содержит половину ответа.
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать