gifts2017

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
46
.zip 447,72Kb 46 Скачать
jacob dll
.dll 100,00Kb
23.05.12
18
.dll 100,00Kb 18 Скачать
Пример java class
.java 47,76Kb
11.12.12
18
.java 47,76Kb 18 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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

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

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

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

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

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

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