powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / 1Cv8 и J2EE
9 сообщений из 9, страница 1 из 1
1Cv8 и J2EE
    #34721640
mini_root_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!
Ситуация следующая: в конторе где я работаю исторически использовалось 1C (и будет использоваться еще долго...), но параллельно с этим возник еще один тренд — перевод на linux всего что только можно (где не используется 1C) + использование Явы (ибо кросплатформенность+куча всего готового). При этом неизбежно встает вопрос интеграции 1C и самопального софта (кассы, система автоматического форирования доставок и т.д.). С 1Cv7.7 особых проблем не возникало (по крайней мере в плане вытаскивания данных): написал парсер DDS + макропроцессор и вперед — клепать к MSSQL запросы вида:

select $SC_НОМЕНКЛАТУРА.ТОВАР from $SC_НОМЕНКЛАТУРА

Неприятно, но терпимо. Была даже мысля сделать свой фальшивый JDBC драйвер: запрос->JDBC API->DDS->Реальный JDBC.
Но прогресс не стоит на месте и вот на горизонте замаячила восьмерка. DDS днем с огнем не сыщишь. Информация о метаданных храниться в блобе, пожатая непонятно чем (ни стандартный архиваторы, ни ZipInputStream, ни низкоуровневый Inflater не справились, хотя в самой 1C вроде бы используется zlib). Гугление тоже не помагает: на одном форуме упаминается этот самый блоб, а на других в основном советуют смотреть каким-то там трассировщиком реальные SQL запросы — но это можно использовать максимум чтобы посмтреть соответствие вручную (раз, два, три — но ведь НЕ ПОСТОЯННО!!) — никакой автоматизацией процесса здесь и не пахнет.
Связываться через COM особого желания нет:
1. В свое время поигрался с IBM'овским Java2COMBridge (работает но как-то через ж...)
2. Кроме того не факт что 1C и софтина, которой потребуются данные из БД 1C будут работать на одной машине и под одной ОС.
От безысходности появилась бредовая идя (на сколько реализуемая не знаю...):
1. Для сервера восьмерки пишется модуль расширения который висит на сокете, принимает запрос на внутреннем языке запросов 1C (если не получиться модуль расширения — можно вернуться Java2COMBridge).
2. Результат (если он есть) оформляется в виде:
<row>
<column name="col2">AAAA</column>
<column name="col2">BBBB</column>
</row>
и отдается по сокету.
3. На клиентской стороне работает самопальный JDBC драйвер, который посылает запросы, получает ответ и запихивает его в ResultSet (только вместо SQL — запросы на внутреннем языке 1C)

Кто-нибудь занимался подобной интеграцией?
Что можете посоветовать?
Не изобретаю ли велосипед на почве интеграции?
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34721814
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вы понимаете под интеграцией? Если просто обмен данными, то чем вас не устроил XML? Если вам нужно из собственной программы получить какие-то данные из 1С (например отчеты сформировать), то можете подключиться по COM и работать уже с помощью методов 1С.

Получать данные из 1С с помощью встроенного языка по COM, мне кажется, намного проще, чем обращаться напрямую к таблицам данных.

Тем более, считается, что запросы на выборку в восьмерке не намного тормознутее запросов напрямую.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34721832
mini_root_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Егорище85А что вы понимаете под интеграцией? Если просто обмен данными, то чем вас не устроил XML? Если вам нужно из собственной программы получить какие-то данные из 1С (например отчеты сформировать), то можете подключиться по COM и работать уже с помощью методов 1С.

Получать данные из 1С с помощью встроенного языка по COM, мне кажется, намного проще, чем обращаться напрямую к таблицам данных.

Тем более, считается, что запросы на выборку в восьмерке не намного тормознутее запросов напрямую.

1. Не надо путать COM и DCOM, работать с COM удаленно не получится, не говоря уж том что часть софта будет работать под linux'ом. Единственный вариант поднять сервер на сокете (см. исходный пост) а уж из него дергать 1C через COM (с помощью запросов на внутреннем языке), но это звиздец...
2. Под интеграцией я понимаю возможность рассматривать 1C как еще один источник данных (СО СТАНДАРНТЫМ ИНТЕРФЕЙСОМ!), который можно без проблем встроить в существующую инфраструктуру и многкратно использовать не заморачивась на мелкие технические детали. В 7.7. с этим не было особых проблем (благодаря наличию DDS файла была возможность клепать запросы к MSSQL), а вот с восьмеркой попа... Щас думаю что делать...
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34721941
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для решения ваших проблем достаточно лишь перейти на 8.1.
Там есть метод, возвращающий структуру БД.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34724929
angro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и на 8.0 стуктура не каждый день меняется, определил один раз и пользуйся.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34747563
Tapac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mini_root_22. Под интеграцией я понимаю возможность рассматривать 1C как еще один источник данных (СО СТАНДАРНТЫМ ИНТЕРФЕЙСОМ!), который можно без проблем встроить в существующую инфраструктуру и многкратно использовать не заморачивась на мелкие технические детали. В 7.7. с этим не было особых проблем (благодаря наличию DDS файла была возможность клепать запросы к MSSQL), а вот с восьмеркой попа... Щас думаю что делать...

Web Services.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34763500
Алексей Е.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1С 8.1
Может работать как клиент веб сервисов (SOAP). Пробывал, работает. Требует программирования в конфигурации.
Может работать как сервер веб сервисов (SOAP). Сейчас пытаюсь поднять. Требует программирования в конфигурации.
Кроме того у 1С8.1 есть сервер приложения который устанавливается на линух и может работать с Postgree или DB2. Виндовый остается только клиент и может быть менеджер ключей (не уверен).
Для восьмерки сделали Enterprise Integrator http://infostart.ru/projects/782/ это, видимо, будет вам заменой DDS файла.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34764644
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы использовал вебсервисы. Это и правильно и красиво и перспективно.
...
Рейтинг: 0 / 0
1Cv8 и J2EE
    #34764950
Ферзь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mini_root_2
2. Под интеграцией я понимаю возможность рассматривать 1C как еще один источник данных (СО СТАНДАРНТЫМ ИНТЕРФЕЙСОМ!), который можно без проблем встроить в существующую инфраструктуру и многкратно использовать не заморачивась на мелкие технические детали. В 7.7. с этим не было особых проблем (благодаря наличию DDS файла была возможность клепать запросы к MSSQL), а вот с восьмеркой попа... Щас думаю что делать...

Специально для этих целей и делался Enterprise Integrator
Там можно создать View аналогичные 1С. Поддерживаются в том числе и ссылочные типы.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1Cv8 и J2EE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]