Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ПРоблема с Перехватчиком. (число прочтений - 3902 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
ПРоблема с Перехватчиком.
26. Февраля 2010 :: 07:45
Печать  
Компонента грузиться о вот Перехватчик хоть ты его тресни не хочет работать.
Смысл в следующем
База лежит на серваке 2003.
Standart.
На серваках такого же типа только Enterpr R2 все нормально + компонента грузиться нормально да и все классы тоже.
Че делать ума не приложу.
Разница в серваках только в том что они не R2 и все.
Может где-то еще.
Помощить справиться.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: ПРоблема с Перехватчиком.
Ответ #1 - 26. Февраля 2010 :: 08:02
Печать  
Может все таки в порядке загрузки dll, а также в принудительном включении настройки Turbobl?
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПРоблема с Перехватчиком.
Ответ #2 - 26. Февраля 2010 :: 08:06
Печать  
А настройка для Перехватчика случайно не выключена?
или она принудительно включается в начале работы 1С++ ?
каков порядок загрузки ВК ?
когда включается перехват?
и т.д.
пиши подробнее, пока ничего не понятно.
  

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #3 - 26. Февраля 2010 :: 08:20
Печать  
дык все ж работало.
и работает.
на других то регионах все в норме.
единственное что приходит на ум это то что админ переставил сервант и после этого перехватчик перестал стартовать.
причем на рабочих станция таже история.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #4 - 26. Февраля 2010 :: 12:08
Печать  
вот модуль загрузки
Функция глЗагрузитьВнешниеМодули()
     СпКомпонент=СоздатьОбъект("СписокЗначений");
     // Список с внешними модулями, Значение=Имякомпоненты, Строковое представлание 1-обязательная загрузка 0- не обязательно
     СпКомпонент.ДобавитьЗначение("TabCtrl.dll",0);
     СпКомпонент.ДобавитьЗначение("1cpp.dll",1);
     СпКомпонент.ДобавитьЗначение("formex.dll",1);
     СпКомпонент.ДобавитьЗначение("turbomd.dll",1);
     СпКомпонент.ДобавитьЗначение("RWidjets.dll",0);
     СпКомпонент.ДобавитьЗначение("DialMail.dll",1);
     СпКомпонент.ДобавитьЗначение("AddIn.FileWatcher",0);
     //СпКомпонент.ДобавитьЗначение("migrate3.dll",0);vk_ChangeNotification.dll
     СпОшибок=СоздатьОбъект("СписокЗначений");
     Для н=1 По СпКомпонент.РазмерСписка() Цикл
           стр="";
           ИмяКомпоненты=СпКомпонент.ПолучитьЗначение(н,стр);
           Критично=Число(стр);
           стат=глЗагрузитьВнешнююКомпоненту(ИмяКомпоненты);
           Если Критично=1 Тогда
                 Если стат=0 Тогда
                       СпОшибок.ДобавитьЗначение(ИмяКомпоненты);
                 КонецЕсли;
           КонецЕсли;
     КонецЦикла;
     Если СпОшибок.РазмерСписка()=0 Тогда
           // все ок , т.е. все требуемые модули подгружены.
           Инфо=СоздатьОбъект("MetaInfoClasses");
           ЭтоSQL=Инфо.ЭтоSQL_Версия();
           глМетаДата=СоздатьОбъект("MetaDataWork");
           глСервис=СоздатьОбъект("Сервис");
           глСервис.ИспользоватьПланРаскраски(1);
           // добавил обработку ожидания для Менеджеров
           //глСервис.ОбработкаОжидания("глОбработкаОжидания",10*60*1000);
           глСервис.ВключитьРаскраскуТаблиц();
           //глСервис.ОбработкаОжидания("глОбработкаОжидания",2*1000);
           глФормаРасш=СоздатьОбъект("РасширениеФормы");
           мнМеню=СоздатьОбъект("Меню");
           мнМеню.УдалитьВсе();
           мнФайл=мнМеню.ПолучитьСистемное("Файл");
           мнФайл.ДобавитьКоманду("Excel", "Сохранить в Excel", "ОткрытьФорму (""Отчет"",,КаталогИБ () + ""ExtForms\Быстрое сохранение mxl в xls.ert"")");
           мнМеню.Обновить();
           
           Сист=СоздатьОбъект("AddIn.SystComm");
           Если Метаданные.Константа("IDD").Выбран()=1 Тогда
                 СпрКоды=СоздатьОбъект("Справочник.КодыБаз");
                 СпрКоды.НайтиПоКоду(Константа.IDD);
                 глТекущаяБаза=СпрКоды.ТекущийЭлемент();
                 Если глТекущаяБаза.Склад.Выбран()=0 Тогда
                       глЦентр=Да;
                 КонецЕсли;
                 //ЗаголовокСистемы(глТекущаяБаза);
           КонецЕсли;
           СтрЗаголовок=Метаданные.Комментарий;
           СтрЗаголовок=СтрЗаголовок+" <"+СокрЛП(глТекущаяБаза)+">";
           Сист.ЗаголовокСистемы(СтрЗаголовок);
           //глСервис.ИконкаПредупреждения(1,1,1);
           //глСоединениеМОД=глСоединение();
           //глСервис.ОбработкаОжидания("глПроверкаЗавершенияРаботы",15000);
           УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
           Если УправлениеНастройками.Получить("EnableDebugging")=0 Тогда
                 УправлениеНастройками.Включить("ПерехватитьСобытияГК");
                 Перехватчик = СоздатьОбъект("Перехватчик");
                 Перехватчик.ПодключитьСобытие_НеобработаннаяОшибка();
                 Перехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации();
                 ;
                 ПерехватчикСобытий=СоздатьОбъект("ПерехватГМ");
                 ПерехватчикСобытий.ВключитьПерехватСобытий();
           КонецЕсли;
           Если ПустоеЗначение(глКонстанта("РегистрацияSQL"))=0 Тогда
                 ТекстЗапр="
                 |if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[log]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
                 |CREATE TABLE [dbo].[log] (
                 |[Row_Id] [int] IDENTITY (1, 1) NOT NULL ,
                 |[DateTimePos] [datetime] NULL ,
                 |[UserName] [varchar] (24) COLLATE Cyrillic_General_CI_AS NULL ,
                 |[EventCategory] [varchar] (20) COLLATE Cyrillic_General_CI_AS NULL ,
                 |[Event] [varchar] (20) COLLATE Cyrillic_General_CI_AS NULL ,
                 |[EvType] [varchar] (50) COLLATE Cyrillic_General_CI_AS NULL ,
                 |[comment] [text] COLLATE Cyrillic_General_CI_AS NULL ,
                 |[object] [char] (23) COLLATE Cyrillic_General_CI_AS NULL ,
                 |[ObjDescr] [text] COLLATE Cyrillic_General_CI_AS NULL
                 |) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
                 |";
                 Запрос=глСоединение();
                 Запрос.ВыполнитьСкалярный(ТекстЗапр);
                 глЖурналРегистрации=глСоединение();
           КонецЕсли;
           Попытка
                 //ИмяВК="AddIn.FileWatcher";
                 //глСканер=СоздатьОбъект(ИмяВК);
                 //глСканер.ОтслеживатьПодкаталоги=0;
                 //глСканер.НачатьКонтрольИзменений("c:\");
                 
           Исключение
           КонецПопытки;
           
     КонецЕсли;
     Если СпОшибок.РазмерСписка()>0 Тогда
           Возврат СпОшибок;
     Иначе
           Возврат 1;
     КонецЕсли;
КонецФункции      // глЗагрузитьВнешниеМодули
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПРоблема с Перехватчиком.
Ответ #5 - 26. Февраля 2010 :: 12:56
Печать  
ИМХО для гарантированной работы перехвата нужно его включать СРАЗУ после загрузки 1С++ и до загрузки остальных ВК.
Из опыта - 1С++ ВСЕГДА должен грузиться первым, пока меня это правило не подводило.
Версия 1С++ и ФормЕкс, надеюсь, последняя?
  

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #6 - 27. Февраля 2010 :: 08:30
Печать  
Версии последние.
И щераз кажу что все везде работает.
Причем на одном даже на версии 1С++ 3.1.7
и все пучком
на других (в том числе и неработающей) стоит 3.1.22
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #7 - 02. Марта 2010 :: 03:10
Печать  
artbear писал(а) 26. Февраля 2010 :: 12:56:
ИМХО для гарантированной работы перехвата нужно его включать СРАЗУ после загрузки 1С++ и до загрузки остальных ВК.
Из опыта - 1С++ ВСЕГДА должен грузиться первым, пока меня это правило не подводило.
Версия 1С++ и ФормЕкс, надеюсь, последняя?

Поменял порядок загрузки и старта Перехватчика.
нефига не помогло.
Вот переписал функцию загрузки внешних компонент.
Функция глЗагрузитьВнешнююКомпоненту(Имя,Путь="") Экспорт
     стат=0;
     Если стат=0 Тогда
           СпСид=СоздатьОбъект("СписокЗначений");
           СпСид.ДобавитьЗначение("1cpp.dll","AddIn.1c++");
           СпСид.ДобавитьЗначение("usersdef.dll","AddIn.UsersDef");
           //СпСид.ДобавитьЗначение("addin.filewatcher","AddIn.FileWatcher");
           ИмяКомпоненты=Нрег(Имя);
           поз=СпСид.НайтиЗначение(ИмяКомпоненты);
           Если поз>0 Тогда
                 стр="";
                 СпСид.ПолучитьЗначение(поз,стр);
                 Попытка
                       стат=ПодключитьВнешнююКомпоненту(стр);
                 Исключение
                 КонецПопытки;
           КонецЕсли;
           Если поз=1 Тогда
                 УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
                 Если УправлениеНастройками.Получить("EnableDebugging")=0 Тогда
                       УправлениеНастройками.Включить("ПерехватитьСобытияГК");
                       Перехватчик = СоздатьОбъект("Перехватчик");
                       Перехватчик.ПодключитьСобытие_НеобработаннаяОшибка();
                       Перехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации();
                       ;
                       ПерехватчикСобытий=СоздатьОбъект("ПерехватГМ");
                       ПерехватчикСобытий.ВключитьПерехватСобытий();
                 КонецЕсли;
           конецЕсли;
           
     КонецЕсли;
     Если стат=0 Тогда
           лСпПутей=СоздатьОбъект("СписокЗначений");
           Если ПустоеЗначение(Путь)=1 Тогда
                 лСпПутей.ДобавитьЗначение(КаталогИБ()+Имя);
                 лСпПутей.ДобавитьЗначение(КаталогИБ()+"..\"+Имя);
                 лСпПутей.ДобавитьЗначение(КаталогИБ()+"..\lib\"+Имя);
                 лСпПутей.ДобавитьЗначение(КаталогПрограммы()+Имя);
                 Для н=1 По лСпПутей.РазмерСписка() Цикл
                       лПуть=лСпПутей.ПолучитьЗначение(н);
                       Если ФС.СуществуетФайл(лПуть)=1 Тогда
                             Попытка
                                   стат=ЗагрузитьВнешнююКомпоненту(лПуть);
                                   Прервать;
                             Исключение
                             КонецПопытки;
                       КонецЕсли;
                 КонецЦикла;
           Иначе
                 лПуть=Путь+Имя;
                 Попытка
                       стат=ЗагрузитьВнешнююКомпоненту(лПуть);
                 Исключение
                 КонецПопытки;
           КонецЕсли;
     КонецЕсли;
     Возврат стат;
КонецФункции    // глЗагрузитьВнешнююКомпоненту
:

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #8 - 02. Марта 2010 :: 03:13
Печать  
Результат тот же.
Перехватчик не стартует.
И это причем не токо на сервере но и на рабочих станциях.
Будут какие-то соображения.
На рабочих станциях ни кто в настройки не лазил.
Да и вообще-то они и не в курсах че тама моно сделать.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПРоблема с Перехватчиком.
Ответ #9 - 02. Марта 2010 :: 04:17
Печать  
Так значит.
Перехватчик стартует.
Но!
События типа:
Событие_ПриОткрытии() Экспорт
вообще не работает.
т.е.
Сообщить("Типа") ничео недает
причем нетоко в это но и в
Событие_ПриЗакрытии()
и т.п.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПРоблема с Перехватчиком.
Ответ #10 - 02. Марта 2010 :: 05:13
Печать  
Ну попробуй загрузку части ВК убрать и проверь работу Перехватчика.
  

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ПРоблема с Перехватчиком.
Ответ #11 - 02. Марта 2010 :: 07:24
Печать  
Какая версия turbomd.dll ????
Всё дело именно в ней.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПРоблема с Перехватчиком.
Ответ #12 - 02. Марта 2010 :: 12:36
Печать  
Eprst писал(а) 02. Марта 2010 :: 07:24:
Какая версия turbomd.dll ????
Всё дело именно в ней.

Да, вполне может быть.
Мое предложение выше "убрать часть ВК" наверняка привело бы к данному результату.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать