Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) передача события в 1с из Java (число прочтений - 7959 )
geschaft
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 15. Ноября 2006
передача события в 1с из Java
19. Апреля 2011 :: 11:22
Печать  
Возможно задача обтертая или не в тему, однако, прошу не материться и не отсылать "курить маны".
Есть задача срастить java-приложение с толстым клиентом на том же компе по след.сценарию:
Java-приложение должно передавать в 1с строковое сообщение (распознанную голосовую фразу), и это событие хочется отловить в 1с-ном коде для дальнейшей обработки.
Хотелось бы передавать данные синхронно. Поэтому схемы с опросом семафорчиков предлагаю отложить на самый беспросветный случай. Спасибо за внимание и ответы.
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: передача события в 1с из Java
Ответ #1 - 19. Апреля 2011 :: 11:29
Печать  
в таком случае у тебя на стороне 1С должен быть поднят WebService

  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
geschaft
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 15. Ноября 2006
Re: передача события в 1с из Java
Ответ #2 - 19. Апреля 2011 :: 11:54
Печать  
... с этого места пожалста поподробней, веб сервисы для меня девственная территория... возможно есть ссылки на доступное курево?
  
Наверх
 
IP записан
 
fishca
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 16
Местоположение: Воронеж
Зарегистрирован: 03. Сентября 2010
Пол: Мужской
Re: передача события в 1с из Java
Ответ #3 - 19. Апреля 2011 :: 12:32
Печать  
А не проще использовать модуль внешнего соединения в котором эту строку записывать из кода Java приложения?
  
Наверх
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: передача события в 1с из Java
Ответ #4 - 19. Апреля 2011 :: 12:33
Печать  
geschaft писал(а) 19. Апреля 2011 :: 11:54:
... с этого места пожалста поподробней, веб сервисы для меня девственная территория... возможно есть ссылки на доступное курево?


вот тут я вынужден указать только одну ссылку для начала
http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/2.0/tu...

как поднять WS в 1С 8.* штука почти тривиальная
при наличии Apache , 1C и конфигуратора это можно сделать методом тыка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: передача события в 1с из Java
Ответ #5 - 19. Апреля 2011 :: 12:36
Печать  
fishca писал(а) 19. Апреля 2011 :: 12:32:
А не проще использовать модуль внешнего соединения в котором эту строку записывать из кода Java приложения?


если использовать внешнее соединение придется использовать com4j библиотеки
что в мире Java считается, слегка неверным подходом.
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fishca
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 16
Местоположение: Воронеж
Зарегистрирован: 03. Сентября 2010
Пол: Мужской
Re: передача события в 1с из Java
Ответ #6 - 19. Апреля 2011 :: 13:39
Печать  
lustin писал(а) 19. Апреля 2011 :: 12:36:
fishca писал(а) 19. Апреля 2011 :: 12:32:
А не проще использовать модуль внешнего соединения в котором эту строку записывать из кода Java приложения?


если использовать внешнее соединение придется использовать com4j библиотеки
что в мире Java считается, слегка неверным подходом.


зато работает очень даже быстро. нам же "ехать", а не "шашечки", да?
  
Наверх
IP записан
 
geschaft
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 15. Ноября 2006
Re: передача события в 1с из Java
Ответ #7 - 19. Апреля 2011 :: 19:02
Печать  
да почитал про ws, буду пробовать. по поводу реплики fishka'и, я так понимаю он имел ввиду коннект к 1с как к ком-серверу? этот вариант не устроит, нужен коннект именно с живым приложением. Или вы, уважаемый чтото другое имели ввиду?
А вот както ведь винда шлет сообщения окошкам? Для меня правда это тема темная, но каковы перспективы в этом направлении?
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: передача события в 1с из Java
Ответ #8 - 20. Апреля 2011 :: 02:10
Печать  
geschaft писал(а) 19. Апреля 2011 :: 19:02:
да почитал про ws, буду пробовать. по поводу реплики fishka'и, я так понимаю он имел ввиду коннект к 1с как к ком-серверу? этот вариант не устроит, нужен коннект именно с живым приложением. Или вы, уважаемый чтото другое имели ввиду?
А вот както ведь винда шлет сообщения окошкам? Для меня правда это тема темная, но каковы перспективы в этом направлении?

Винда только на сообщениях и работает - это ее основной механизм (есть и другие), однако жаба-приложения, насколько мне известно, строятся без привязки к ОСи, а значит, - они в принципе не должны уметь отправлять сообщения окнам ...
Зато и те и те умеют сокеты. Может стоит покопать в этом направлении?
  
Наверх
 
IP записан
 
fishca
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 16
Местоположение: Воронеж
Зарегистрирован: 03. Сентября 2010
Пол: Мужской
Re: передача события в 1с из Java
Ответ #9 - 20. Апреля 2011 :: 06:16
Печать  
geschaft писал(а) 19. Апреля 2011 :: 19:02:
да почитал про ws, буду пробовать. по поводу реплики fishka'и, я так понимаю он имел ввиду коннект к 1с как к ком-серверу? этот вариант не устроит, нужен коннект именно с живым приложением. Или вы, уважаемый чтото другое имели ввиду?

А что не устраивает в СОМ - соединении работает быстро, тем более если оба приложения на одном компе? Кидаете по СОМ-соединению в регистр сведений, скажем, свою строку, подключаете обработчик ожидания и в нем читаете свою строку. Ява приложение один раз подключится и может работать с базой очень даже быстро. Знаю пример общения внешнего устройства с базой SQL и базой 1С, так вот весь процесс обмена с внешнего устройства занимал при обращении по GSM каналу к SQL и к 1С через Java приложение 2.5 секунды.
  
Наверх
IP записан
 
geschaft
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 15. Ноября 2006
Re: передача события в 1с из Java
Ответ #10 - 20. Апреля 2011 :: 06:32
Печать  
нужен конкретно рил-тайм коннект
  
Наверх
 
IP записан
 
fishca
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 16
Местоположение: Воронеж
Зарегистрирован: 03. Сентября 2010
Пол: Мужской
Re: передача события в 1с из Java
Ответ #11 - 20. Апреля 2011 :: 07:36
Печать  
geschaft писал(а) 20. Апреля 2011 :: 06:32:
нужен конкретно рил-тайм коннект

В пределах одного компьютера это и будет рил-тайм коннект.
  
Наверх
IP записан
 
geschaft
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 15. Ноября 2006
Re: передача события в 1с из Java
Ответ #12 - 20. Апреля 2011 :: 09:42
Печать  
fishca писал(а) 20. Апреля 2011 :: 07:36:
В пределах одного компьютера это и будет рил-тайм коннект.


перефразирую для ясности: появление данных надо зафиксировать как некое событие, опрос файлов/шин/регистров и пр. с использованием ОбработкиОжидания по определению не устраивает.

примерные пути решения напрашиваются такие:
1. вк, слушающая к примеру винсок-порт и генерирующая внешнее событие.
2. прямое воздействие на окошко 1с, прямо или опосредовано вызывающее некое событие внутри 1с
...
  
Наверх
 
IP записан
 
shmalevoz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 23. Апреля 2009
Re: передача события в 1с из Java
Ответ #13 - 22. Апреля 2011 :: 05:08
Печать  
Для связи возможно использовать компоненту rik_inet. http://www.rikcenter.ru/downloads.php
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: передача события в 1с из Java
Ответ #14 - 22. Апреля 2011 :: 06:49
Печать  
geschaft писал(а) 20. Апреля 2011 :: 09:42:
fishca писал(а) 20. Апреля 2011 :: 07:36:
В пределах одного компьютера это и будет рил-тайм коннект.


перефразирую для ясности: появление данных надо зафиксировать как некое событие, опрос файлов/шин/регистров и пр. с использованием ОбработкиОжидания по определению не устраивает.

примерные пути решения напрашиваются такие:
1. вк, слушающая к примеру винсок-порт и генерирующая внешнее событие.
2. прямое воздействие на окошко 1с, прямо или опосредовано вызывающее некое событие внутри 1с
...


еще раз перечитал ветку...
то есть если я правильно понял ожидаемая схема должна выглядеть так

1. внешнее приложение Java что-то там у себя выполнило и хочет оповестить об этом толстый 1С
2. толстый клиент 1С в этот момент должен начать выполнять "реакцию на оповещение Java приложения"

на мой взгляд при такой постановке единственный способ это использовать ВнешнееСобытие

то есть задача должна звучать так: "Как из внешнего приложения Java вызвать ВнешнееСобытие 1С"

я вижу как минимум 2 решения:

1. "гуглить" способ реализации ExternalEvent для 1С например на Дельфи и пытаться его реализовать на чистой Java
2. прокси dll - клиентская библиотека для 1С: поднимает сокет для прослушивания события от Java, вызывает при получении сообщения ExternalEvent для 1С

по первому пункту ничего сказать не могу кроме как гуглить
второй пункт напоминает костыль

реальным кажется другое решение

пусть 1С в обработке ожидания сама опрашивает WebService Java с помошью объекта WSПрокси
если при вызове метода проверки выполняется условие isMessageExist().ToString().Length() = 4
тогда 1С может со спокойной душой вызвать метод public string GetLastMessage()
и работать

P.S. меня не покидает чувство что что то не так с задачей - я впервые сталкиваюсь с ситуацией когда надо оповестить клиентскую часть 1C из Java
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать