Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Не создается объект класс в одной из периферийных баз (число прочтений - 6568 )
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Не создается объект класс в одной из периферийных баз
21. Октября 2011 :: 06:07
Печать  
Есть распределенная база 1с 7.7 центральная и 3 периферийные. Объект класса создается в глобальном модуле ПриНачалеРаботыСистемы. И только в одной периферийной базе выдает ошибку
ПерехватГМ = СоздатьОбъект("ПерехватчикСобытийГМ");
{Глобальный модуль(747)}: Неудачная попытка создания объекта (ПерехватчикСобытийГМ)

В остальных все отрабатывается без проблем.

В чем может быть проблема?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #1 - 21. Октября 2011 :: 06:19
Печать  
скорее всего там древняя версия 1с++.
Лучше всего сразу после загрузки 1с++ проверять какая версия
внутри самой 1с.
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #2 - 21. Октября 2011 :: 06:23
Печать  
Везде вроде одинаковая 3,2,3,12
Но за совет спасибо. Сейчас проверю
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #3 - 21. Октября 2011 :: 06:31
Печать  
а как проверить то версию?
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #4 - 21. Октября 2011 :: 06:42
Печать  
На закладке 1с++ в меню "о программе" пишет 3,2,3,12
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #5 - 21. Октября 2011 :: 06:49
Печать  
Rom писал(а) 21. Октября 2011 :: 06:42:
На закладке 1с++ в меню "о программе" пишет 3,2,3,12

ну тогда все коментарь сразу послк загрузки 1с++ до
конца ПриначалеработыПрограммы()
и постепенно раскоментаривай пока не найдешь из-за чего ошибка.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Не создается объект класс в одной из периферийных баз
Ответ #6 - 21. Октября 2011 :: 06:58
Печать  
Сам класс где хоть ? В мд ? Во внешнем файле ? В описании классов что написано?
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #7 - 21. Октября 2011 :: 07:14
Печать  
Если ЗагрузитьКомпоненту("1CPP.dll", 1) = 0 Тогда
           СтатусВозврата(0); Возврат;
     ИначеЕсли ЗагрузитьКомпоненту("v7plus.dll") = 0 Тогда
           СтатусВозврата(0); Возврат;
     //ИначеЕсли ЗагрузитьКомпоненту("rainbow.dll") = 0 Тогда
     //      СтатусВозврата(0); Возврат;
     КонецЕсли;

     Если ЗагрузитьКомпоненту("formex.dll") = 0 Тогда
           СтатусВозврата(0); Возврат;
     ИначеЕсли ЗагрузитьКомпоненту("vk_Hook1C.dll") = 0 Тогда
           СтатусВозврата(0); Возврат;
     КонецЕсли;

     RainbowMetaData = СоздатьОбъект("MetaDataWork");
     RecordSet    = СоздатьОбъект("ODBCRecordSet");
     RecordSet.УстБД1С();
     
     МетаКлассИнфо = СоздатьОбъект("MetaInfoClasses");
     
     Если МетаКлассИнфо.КлассСуществует("ПерехватчикСобытийГМ")=1 Тогда
           ПерехватГМ = СоздатьОбъект("ПерехватчикСобытийГМ");
           ПерехватГМ.ВключитьПерехват();
     Иначе
           Сообщить("ПерехватчикСобытийГМ не существует");
     КонецЕсли;

Это код в глобальнике. В одной периферийной класса нет. УРБД работает - обмен проходит штатно. MD везде одинаковые.
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #8 - 21. Октября 2011 :: 07:15
Печать  
класс ПерехватчикСобытийГМ=ПерехватчикСобытийГМ@MD
{
     void Конструктор();
     void Деструктор();
     void ВключитьПерехват();
     
};

описание класса

сам класс
Перем Перехватчик;

//+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
Функция GetThis(Конт)
     Возврат Конт
КонецФункции

//+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
Процедура Конструктор()
     Перехватчик = СоздатьОбъект("Перехватчик");
КонецПроцедуры

//+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
Процедура Деструктор()
КонецПроцедуры

//+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
Процедура ВключитьПерехват() Экспорт
     Настройки = СоздатьОбъект("УправлениеНастройками");
     Настройки.Включить("ПерехватитьСобытияГК");      
     
     Перехватчик.ПерехватитьСобытияГлобальногоМодуля(GetThis(Контекст));
           
КонецПроцедуры

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

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


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #9 - 21. Октября 2011 :: 07:37
Печать  
Вообще вопрос не правильности кода или объявлении класса. Дело в том что из четырех баз в одной класс не компилится.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Не создается объект класс в одной из периферийных баз
Ответ #10 - 21. Октября 2011 :: 08:00
Печать  
Описалово классов в мд или снаружи ?
Нафига объявлять void для конструктора, деструктора ?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Не создается объект класс в одной из периферийных баз
Ответ #11 - 21. Октября 2011 :: 08:02
Печать  
+ права какие на эти обработки ?
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #12 - 21. Октября 2011 :: 08:08
Печать  
классы в обработка внутри конфы
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #13 - 21. Октября 2011 :: 08:09
Печать  
и описание тоже внутри
  
Наверх
 
IP записан
 
Rom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Местоположение: Москва
Зарегистрирован: 21. Ноября 2008
Пол: Мужской
Re: Не создается объект класс в одной из периферийных баз
Ответ #14 - 21. Октября 2011 :: 09:20
Печать  
Вот и я думаю, мистика!!!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать