1C Java Com соединение

Опубликовал Rustam Samandarov (rustamsmax) в раздел Программирование - Практика программирования

Подключение к 1С через COM из Java Application

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComFailException;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

Пример подключение к 1С

 

v8App = new ActiveXComponent(prop.getProperty("v8.Application"));

String conString = "File=Path;Usr=Admin;Pwd=Admin";

Variant connected = Dispatch.call(v8, "Connect", conString);

 

Использование встроенный запрос 1С

Dispatch query = Dispatch.call(v8App , "NewObject", "Query").getDispatch();

Dispatch.put(query, "Text", "SELECT Items.Ref, Items.Description FROM Справочник.Номенклатура AS Items)

Dispatch result = Dispatch.call(query, "Execute").toDispatch();
Dispatch select = Dispatch.call(result, "Choose").toDispatch();
while (Dispatch.call(select, "Next").getBoolean())

{

     Dispatch.get(select, "Ref").getDispatch();

}

Скачать файлы

Наименование Файл Версия Размер
новая версия
.zip 447,72Kb
01.06.12
48
.zip 447,72Kb 48 Скачать
jacob dll
.dll 100,00Kb
23.05.12
19
.dll 100,00Kb 19 Скачать
Пример java class
.java 47,76Kb
11.12.12
19
.java 47,76Kb 19 Скачать

См. также

Комментарии
1. Трактор Трактор (Трактор) 1110 24.05.12 09:43 Сейчас в теме
Если "От Hello world - к защите конфигураций" заслужила 95 плюсов, то связь с явой тоже заслуживает плюса.
2. Василий Антонов (khaoos) 237 25.05.12 06:15 Сейчас в теме
Тоже плюс поставлю. В жизни может пригодиться, будет куда подсмотреть. Но сложно, однако, в смысле писать много букаф :). Через VB проще, кажется
3. Александр МАН (1977) 2 30.05.12 11:34 Сейчас в теме
Как это можно прикруть к обмену с сайта?
4. Rustam Samandarov (rustamsmax) 76 30.05.12 19:30 Сейчас в теме
(3) 1977, Если сайт и 1С стоит в одном сервер к 1С можно подключиться если нет то только через web service
5. EfiopReal (Созинов) 01.06.12 14:57 Сейчас в теме
Ради баловства попробую, хотя eclipse запускаю очень редко :-(
6. Василий Казьмин (awk) 668 05.09.12 16:13 Сейчас в теме
Ради баловства попробую, хотя 1С запускаю очень редко :-)
7. Andrey Tey (Bitnikov) 277 10.12.12 17:42 Сейчас в теме
А кто-нибудь попробовал?
Лично я не понимаю ни начала, ни конца...
Кто-нибудь (или сам автор), ребятки, помогите понять как и куда прикрутить код.
Хоть какой-то пример
8. sbv2005 (sbv2005) 318 11.12.12 11:40 Сейчас в теме
Код представлен не рабочий:
Создаю проект в Eclipse, подключаю к нему приложенную библиотеку jacob.jar, запускаю в отладчике.
Сразу получаю ошибку в первой строке:
v8App = new ActiveXComponent(prop.getProperty("v8.Application"));

Ошибка в переменной prop (необъявленная переменная). Откуда она берется?
Вообще хотелось бы попросить автора выложить полностью рабочий код.
Очень интересная тема и она имеет продолжение.
9. Andrey Tey (Bitnikov) 277 11.12.12 17:59 Сейчас в теме
Спасибо.

Не сочтите за халявщиков, не мой метод. Но яву только учим...

Так вот пример Ваш выдернут из кода. Разбираем его в эклипсе, комбинаторикой стараемся подобрать что-куда поместить. и НЕ ЛЕЗЕТ((

Ебссно, вина в нашей необразованности ява методами.

Наша задача: написать jar, который будет запускаться регламентным заданием 1С, ява же будет заходить в ЭТУ же базу по COM, брать из нее настройки MQ, подключаться к удаленной очереди и выкладывать туда файликб читая его из базы же. Кольцо, чтобы избежать выкладывания на сервер файлов.
Написали все до подключения.

Готов поделиться $m за помощь в COM подключении.
10. Andrey Tey (Bitnikov) 277 11.12.12 18:45 Сейчас в теме
О)))
заработало))

Но $m как подключюсь полностью все равно за мной)))
11. Сергѣй Батанов (baton_pk) 203 18.02.13 20:32 Сейчас в теме
ну что, кто-нибудь пробовал эту штуку в боях?
столкнулся с тем, что не понимает русские имена :( там, где есть английский эквивалент, - всё замечательно, но вот получить "ПланыОбмена.Полный" просто ни в какую. на трэкере продукта висит открытый тикет ещё с апреля 12 года - явно одинэсник тикет открывал :):).

вывернулся, конечно, - пробегаю по ExchangePlans, как по коллекции, получаю EmtyRef(), беру у него Metadata() и у него определяю Name. стрёмно, но работает. однако на нашу радость всё под GPL - можно исходник подковырять.
12. Олег Николаев (o.nikolaev) 166 23.12.14 00:35 Сейчас в теме
Честно говоря, это свинство, выкладывать для скачки библиотеки проекта Jacob, которые и так бесплатно доступны для загрузки, например тут.
Пример класса, в пункте "Пример Java class", это не пример, а шмат кода, типа, нате, разбейтесь. Халтура это, а не пост. И за этот отстой еще и списывать деньги. Совок и позор.
kovalevas; +1 Ответить