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

Подключение к 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();

}

12 Comments

  1. Трактор

    Если «От Hello world — к защите конфигураций» заслужила 95 плюсов, то связь с явой тоже заслуживает плюса.

    Reply
  2. khaoos

    Тоже плюс поставлю. В жизни может пригодиться, будет куда подсмотреть. Но сложно, однако, в смысле писать много букаф :). Через VB проще, кажется

    Reply
  3. 1977

    Как это можно прикруть к обмену с сайта?

    Reply
  4. rustamsmax

    (3) 1977, Если сайт и 1С стоит в одном сервер к 1С можно подключиться если нет то только через web service

    Reply
  5. Созинов

    Ради баловства попробую, хотя eclipse запускаю очень редко 🙁

    Reply
  6. awk

    Ради баловства попробую, хотя 1С запускаю очень редко 🙂

    Reply
  7. Bitnikov

    А кто-нибудь попробовал?

    Лично я не понимаю ни начала, ни конца…

    Кто-нибудь (или сам автор), ребятки, помогите понять как и куда прикрутить код.

    Хоть какой-то пример

    Reply
  8. sbv2005

    Код представлен не рабочий:

    Создаю проект в Eclipse, подключаю к нему приложенную библиотеку jacob.jar, запускаю в отладчике.

    Сразу получаю ошибку в первой строке:

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

    Ошибка в переменной prop (необъявленная переменная). Откуда она берется?

    Вообще хотелось бы попросить автора выложить полностью рабочий код.

    Очень интересная тема и она имеет продолжение.

    Reply
  9. Bitnikov

    Спасибо.

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

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

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

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

    Написали все до подключения.

    Готов поделиться $m за помощь в COM подключении.

    Reply
  10. Bitnikov

    О)))

    заработало))

    Но $m как подключюсь полностью все равно за мной)))

    Reply
  11. baton_pk

    ну что, кто-нибудь пробовал эту штуку в боях?

    столкнулся с тем, что не понимает русские имена 🙁 там, где есть английский эквивалент, — всё замечательно, но вот получить «ПланыОбмена.Полный» просто ни в какую. на трэкере продукта висит открытый тикет ещё с апреля 12 года — явно одинэсник тикет открывал :):).

    вывернулся, конечно, — пробегаю по ExchangePlans, как по коллекции, получаю EmtyRef(), беру у него Metadata() и у него определяю Name. стрёмно, но работает. однако на нашу радость всё под GPL — можно исходник подковырять.

    Reply
  12. o.nikolaev

    Честно говоря, это свинство, выкладывать для скачки библиотеки проекта Jacob, которые и так бесплатно доступны для загрузки, например тут.

    Пример класса, в пункте «Пример Java class», это не пример, а шмат кода, типа, нате, разбейтесь. Халтура это, а не пост. И за этот отстой еще и списывать деньги. Совок и позор.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *