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