Обращение к 1С из JAVA по COM

29.12.12

Интеграция - Внешние источники данных

Обращение к 1С из JAVA по COM, используя библиотеку JAWIN.

Скачать исходный код

Наименование Файл Версия Размер
Jawin
.zip 3,37Mb
28
.zip 3,37Mb 28 Скачать
Проект на JAVA
.zip 3,59Kb
12
.zip 3,59Kb 12 Скачать
Теперь можно создавать решения на JAVA, интегрируя ее с 1С по COM. Файл InfoStart.zip содержит запакованный проект на JAVA, который можно использовать в качестве примера. Файл jawin-2.0-alpha1.zip содержит необходимые библиотеки. Я использую бесплатный редактор JAVA Eclipse (http://www.eclipse.org/downloads/). Просто перенесите этот проект в папку проектов вашего Eclipse

Порядок работы
  1. При установке 1С платформы должен быть выбран COM
  2. jawind.dll скопировать в System32
  3. jawin.jar и jawin-stubs.jar из архива скопировать в "C:\Program Files\Java\jre7\lib" (в папку своей java машины)
  4. Зарегистрировать dll: в командной строке введите: "Regsvr32 jawind.dll"

Пример java кода (к проекту должны быть подключены файлы библиотек jawin.jar и jawin-stubs.jar из архива )

import org.jawin.COMException;
import org.jawin.DispatchPtr;
import org.jawin.Variant;
import org.jawin.win32.Ole32;

public class Test {

    public static void main(String[] arg) throws COMException {

        String str1CServer = "";
       
String str1CDB = "";

        try
{

            Ole32.CoInitialize();
           
DispatchPtr app = new DispatchPtr("V82.COMConnector");

           
str1CServer = "1CServer";
           
str1CDB = "1CDB ";
           
DispatchPtr ref = (DispatchPtr) app.invoke("Connect", "Srvr=\"" + str1CServer + "\";Ref=\"" + str1CDB + "\"");

           
// Чтение справочников
           
DispatchPtr listOfGlossary = (DispatchPtr) ref.get("Справочники");
           
DispatchPtr glossary = (DispatchPtr) listOfGlossary.get("Контрагенты");
           
DispatchPtr chooser = (DispatchPtr) glossary.invoke("Выбрать");

            while ((
Boolean) chooser.invoke("Следующий")) {
                String NameKontr = (String) chooser.get("Наименование");
               
System.out.println(ref.invoke("String", NameKontr));
           
}

            // Обращение к функции общего модуля с параметрами ПервыйПараметр, ВторойПараметр и т.д, (в моем случае возвращается значение типа Строка)
           
DispatchPtr obModul = (DispatchPtr) ref.get("ИмяОбщегоМодуля");
           
String Otvet = (String) obModul.invoke("ИмяФункции", "ПервыйПараметр", "ВторойПараметр");

           
Ole32.CoUninitialize();

       
} catch (COMException comex) { // Перехват исключений
           
System.out.println(comex); // Ошибка в работе COM соединения 1С
       
}

    } // End main
} // End class

См. также

Перенос данных из Парус 8 в ЗГУ 3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    22658    19    1    

22

Экстрактор данных 1С в BI - выгрузка данных из 1С в BI-аналитику

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

15.11.2022    13881    12    SQV0    47    

29

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9325    9    8    

11

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    48907    97    163    

86

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

24000 руб.

16.11.2018    30098    20    31    

21

Загрузка в БГУ из УРМ "Криста"

Внешние источники данных Банковские операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Россия Бухгалтерский учет Платные (руб)

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    38563    136    90    

30
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Elisy 948 04.01.13 09:29 Сейчас в теме
Как альтернатива - к опубликованной через веб 1С из Java можно подключаться без COM. А то COM и Java не особо сочетаются как-то.
http://infostart.ru/public/153679/

Код доступа примерно такой:
import net.elisy.businessconnector.*;
import net.elisy.businessconnector.types.*;
import net.elisy.businessconnector.vm.*;

  	Connection connection = new Connection(connectionString);
    	connection.open();
    	connection.login();
    	connection.getLicenseManager().activate(serialNumber, companyName, activationKey);
    	GlobalContext globalContext = new GlobalContext(connection);

        StructureType s = new StructureType(globalContext);
        s.put("null", new NullType());
        s.put("undefined", new UndefinedType());
        
        StringType st = new StringType();
        st.setValue("String1");
        s.put("string", st);
        NumberType nt = new NumberType();
        nt.setValue(12345.678);
        s.put("number", nt);
        DateType dt = new DateType();
        dt.setValue(new Date());
        s.put("date", dt);
        BooleanType bt = new BooleanType();
        bt.setValue(true);
        s.put("boolean", bt);

        StringBuilder script = new StringBuilder();
        script.append("result = new Structure();\n");
        script.append("result.insert(\"null\", parameters.null);\n");
        script.append("result.insert(\"undefined\", parameters.undefined);\n");
        script.append("result.insert(\"string\", parameters.string);\n");
        script.append("result.insert(\"number\", parameters.number);\n");
        script.append("result.insert(\"date\", parameters.date);\n");
        script.append("result.insert(\"boolean\", parameters.boolean);\n");
        StructureType result = (StructureType)globalContext.getServerModule("ElisyBusinessConnector").invoke("Invoke", new Object[] { script.toString(), s });
Показать
2. user827846 18.09.17 05:24 Сейчас в теме
Подскажите, эта библиотека работает с 1С 8.3?
3. sbv2005 348 02.10.17 12:34 Сейчас в теме
Оставьте свое сообщение