К 1С через драйвер jdbc

Тема в разделе "1C и всё что с ней связано", создана пользователем HITMAN-NN, 5 май 2009.

  1. HITMAN-NN

    HITMAN-NN Гость

    Народ срочно нужна ваша помощь.... Сам я программирую в лотусе и сейчас передомной стоит задача интеграции с 1С. И тут у мя появился вопрос, а через jdbc-драйвер можно подсоединиться и работать с 1С. В инете искал че-то вообще глухо...
    Посоветуйте что-нито, скиньте какую-нито инфу....
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    1С хранит данные либо в ДБФ, либо в SQL - понятно куда копать?
     
  3. HITMAN-NN

    HITMAN-NN Гость

    ээээээ, а инфа есть какя-нито, ну или примерчик какой-нито...
     
  4. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    инфаааааааа. есть! море инфы в интернете, как используя ODBC-провайдеры подключаться к базам данных и работать с ними. Структуру базы 1С можно узнать из файла 1cv7.dd (для ДБФ версии) или 1cv7.dds (для сиквельной версии).
    НО! Если вам необходимо не только читать из базы, но и писать в нее, лучше связываться с 1С по OLE и использовать внутренние процедуры 1С для создания и модификации объектов. Хотя, в принципе, это касается только создания объектов.
     
  5. HITMAN-NN

    HITMAN-NN Гость

    Понятно.... Да мне нужно дергать данные из 1С, писать в 1С и синхронизировать данные 1С с данными из Lotus
    Я тут проанализировал техническую платформу для интеграции(http://www.v8.1c.ru/overview/integration.htm) и насколько я понимаю самы лучший способ интегрироваться с 1С:предприятие через Com-соединение. Ваши мнения как опытных 1С?

    И еще, а как в 1С можно отселиживать изменения в документах?
     
  6. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Если настроить распределенную базу, 1С будет сама отслеживать и записывать изменения в любых объектах. Вам надо будет только прочитать эти данные...
     
  7. HITMAN-NN

    HITMAN-NN Гость

    А не подскажите где эти настройки провести, что бы 1С сама отслеживала изменения....
     
  8. Mirage

    Mirage Гость

    Если 8.1 то сдается мне что лучше всего через веб сервисы, можно и по оле, из лотуса это достаточно просто,
    но всетаки, если в вашей 1с один раз определить нормально хмл интерфейсы, и через них работаь, то это даже
    смахивает на хай теч и универсальность решения :blink:
     
  9. HITMAN-NN

    HITMAN-NN Гость

    Я так и сделал, интеграцию провожу спомощью веб-сервисов.... и теперь остался один вопрос на повестке: синхронизировать данные, тобишь, отслеживать в каких документах 1С происходят изменеия за день и потом обновить эту инфу в доках лотус
     
  10. Mirage

    Mirage Гость

    Тогда создавай план обмена, он и будет заниматься тем что будет следить за твоей базой, и через интерфейсы вебсервисов будешь получать данные что изменилось, а потом и то что само изменилось получишь
     
  11. HITMAN-NN

    HITMAN-NN Гость

    эээээ, а можно поподробнее о плане обмена, а то с 1С я тока начинаю работать....
     
  12. Mirage

    Mirage Гость

    Тут поподробнее сложно, надо брать книгу и смотреть, или лезть в документацию что сложно, если нужна дока, могу поделиться, пиши на мыло что нибуть подберем
    adeptsystem[at]gmail.com
     
  13. nkultashev

    nkultashev Гость

    Есть такой драйвер.

    Наша команда написала драйвер JDBC для 1С v8. Сейчас поддерживается спецификация JDBC v1.5. Драйвер работает через 1С API и сам в данные не лезет. Соединение с 1С производится через DCOM. Модификаций в конфигурации 1С не требуется.

    Драйвер работает только на чтение, но под драйвером лежит наше Java API, которое практически повторяет 1С API и позволяет производить модификацию данных из внешних программ Java.

    Драйвер и API мы писали в первую очередь для себя. Сейчас есть описание двух примеров использования JDBC:

    Статья «Использование JDBC драйвера для доступа к информации 1С»: http://www.interprocom.ru/files/File/integ...JDBC&1C.pdf

    Статья «Использование 1С JDBC в Java Compute node при написании потоков обработки сообщений IBM WebSphere Message Broker»: http://www.interprocom.ru/files/File/integ...mp;MQBroker.pdf

    Screenshot с подключенным к eclipse драйвером: http://picasaweb.google.com/lh/photo/tE8im...feat=directlink

    Мы можем дать бесплатно текущую версию драйвера, чтобы кто-то попробовал с ним работать и рассказал нам о результатах и проблемах.

    Если интересно - пишите.
     
  14. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Если найдутся страждущие и тема получит продолжение, выделю в отдельный топик JDBC для 1С. Возможно даже закрепим. Мне всегда были интересны темы интеграции. У самого, к сожалению, не хватает времени провести оценку проделанной вами работы. Тем не менее, являясь давним поклонником Java и работ в сфере интеграции и расширения возможностей программного обеспечения, с большим уважением отношусь к вашей работе.
    Вот только ссылки на первые 2 статьи нерабочие.
     
  15. nkultashev

    nkultashev Гость

    Извините. Я плохо скопиовал ссылки. Я поправил их в моём сообщении и сейчас должно быть нормально.
     
  16. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    nkultashev, появилось немного времени. Могу потерзать ваш драйвер. Высылайте
     
  17. nkultashev

    nkultashev Гость

    Извините, что не сразу ответил. Из-за процедурных вопросов мы пока не можем пакет в открытый доступ. Мы пришлём вам драйвер/ссылку.
     
  18. oshmianski

    oshmianski Достойный программист
    Lotus team

    Регистрация:
    25 апр 2012
    Сообщения:
    521
    Симпатии:
    13
    Есть еще j1с.

    Это java библиотека, которая позволяет соединяться с базами 1С и выполнять запросы.
    http://j1c.ru/ - сейчас сайт почему-то недоступен, попробуйте поискать.

    У меня это было приблизительно <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">так</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>package pkg1c;

    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import ru.j1c.V7;
    import ru.j1c.ManagerV7;
    import ru.j1c.Metadatas.Catalog;
    import ru.j1c.RecordSet;

    public class Main {
    private static V7 v7;

    public static void main(String[] args) throws SQLException {
    v7 = ManagerV7.getConnection(\"//ip_машины/папка_бд\");

    Catalog catalog = (Catalog) v7.getMetaData().selectTypes(\"Справочник.Города\").get(0);

    RecordSet r = v7.getRecordSet();
    ResultSet rs = r.executeQuery(\"select * from $Справочник.\" + catalog.getName() + \" where Code=1\");
    ResultSetMetaData rsmd = rs.getMetaData();
    while (rs.next()) {
    for (int c = 0; c < rsmd.getColumnCount(); c++) {
    System.out.println (rsmd.getColumnLabel(c+1) + \": \" + rs.getObject(c + 1));
    }
    }
    }

    }[/CODE]
     
Загрузка...

Поделиться этой страницей