Переключение на Главную Страницу Страницы: 1 2 [3] 4 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) ВК для асинхронной обработки событий COM-объектов. (число прочтений - 62935 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #30 - 26. Июля 2006 :: 10:13
Печать  
мульон причин, думаю...
  
Наверх
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #31 - 26. Июля 2006 :: 10:23
Печать  
Да я просто запускаю обработку "EventProxy.ert" - и сразу это получаю.
И еще: какой ProgID указать для 1С? Да и вообще: как применить эту ВК к 1С - к текущей БД, к другим?
  

Константин
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #32 - 26. Июля 2006 :: 11:20
Печать  
Цитата:
И еще: какой ProgID указать для 1С?

Это должно быть обозначено в документации (сам пока не читал...).
  
Наверх
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #33 - 26. Июля 2006 :: 11:47
Печать  
Цитата:
Это должно быть обозначено в документации

А она есть?
  

Константин
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #34 - 26. Июля 2006 :: 15:04
Печать  
Поищи в нете Com Explorer
Он тебе даст список ActiveX, DLL, и EXE объектов зарегистрированнных в системе. Там же увидишь ProgID
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #35 - 26. Июля 2006 :: 15:28
Печать  
Цитата:
Да и вообще: как применить эту ВК к 1С - к текущей БД, к другим?

Никак. 1С не генерирует событий при работе в качестве Automation-сервера.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #36 - 26. Июля 2006 :: 16:32
Печать  
Цитата:
Никак. 1С не генерирует событий при работе в качестве Automation-сервера

А если использовать 1С как OLE-объект?
  

Константин
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ВК для асинхронной обработки событий COM-объектов
Ответ #37 - 26. Июля 2006 :: 17:34
Печать  
Дык один хрен.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #38 - 26. Июля 2006 :: 17:41
Печать  
Получается, что в 1С я не могу видеть, что делается в 1С ? И даже в MLG...
  

Константин
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #39 - 29. Июля 2006 :: 09:53
Печать  
Цитата:
Никак. 1С не генерирует событий при работе в качестве Automation-сервера.

Кстати , Steban, в параллельной ветке на мой вопрос "выполнить процедуру/функцию у всех" ты мне ответил: "ВК для асинхронной обработки событий". Так что, круг замкнулся?
  

Константин
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ВК для асинхронной обработки событий COM-объектов.
Ответ #40 - 31. Июля 2006 :: 06:10
Печать  
Там тебе рекомендовали использовать ТП. ИМХО для задачи, которую ты обрисовал - это самый правильный путь.

Если все-таки очень нужно обмениваться сообщениями между различными экземплярами 1С на клиентах, то Цитата:
Останется написать простейший COM+ сервис и придумать формат сообщений.

Варианты использования:
  • уведомление клиентов об изменении остатков
  • чат или просто отсылка сообщений от админа
  • принудительный сброс кэша скомпилированных модулей классов на клиентах
  • сервер приложений для 7.7: на сервере работают несколько экземпляров 1С - роботов, которые получают через этот сервис запросы на обслуживание (формирование отчетов, проведение документов и т.п.) и через него же возвращают клиентам результаты.  Смех
  • еще какая нибудь безумная затея с асинхронным обменом сообщениями.


ЗЫ: Система поддержки событий COM+
« Последняя редакция: 31. Июля 2006 :: 08:19 - steban »  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #41 - 02. Августа 2006 :: 07:26
Печать  
Цитата:
Если все-таки очень нужно обмениваться сообщениями

Не в сообшениях дело.
В глобальном модуле есть процедура ОбновитьТаблицу()
Нужно, чтобы при записи документа у любого пользователя (если в проыедуре ПриЗаписи есть команда), эта процедура запустилась у ВСЕХ активных пользователей. Вот и всё.
Казалось бы проще не бывает...
  

Константин
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #42 - 18. Сентября 2006 :: 09:21
Печать  
Добавлено свойство ГлобальныйКонтекст.
Изменен способ передачи параметров в обработчик: теперь параметры передаются через сериализованный список значений.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #43 - 18. Сентября 2006 :: 10:14
Печать  
steban писал(а) 18. Сентября 2006 :: 09:21:
Добавлено свойство ГлобальныйКонтекст.
Изменен способ передачи параметров в обработчик: теперь параметры передаются через сериализованный список значений.



Чуть поподробней можно?
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #44 - 18. Сентября 2006 :: 10:24
Печать  
Проще объяснить кодом
Код
Выбрать все
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
	Если (Источник="ОчередьСообщений") и (Событие="Arrived") Тогда
		//Event Arrived(Queue As Object, Cursor As Long)
		Параметры=ЗначениеИзСтрокиВнутр(Данные);
		Оч=EventProxy.ПолучитьОбъект(Параметры.ПолучитьЗначение(1));
		Сообщение=Оч.ReceiveCurrent();
		//Тут обрабатываем сообщение
		Сообщить(Сообщение.Body);
		Очередь.EnableNotification(ОбработчикСобытийОчереди);
	КонецЕсли;
КонецПроцедуры	// ОбработкаВнешнегоСобытия 

  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 
ОтправитьПечать