ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (http://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Проблема: OLE(COM) для .NET (http://forum.tk-chel.ru/showthread.php?t=4612)

Тимошенко Александр 23.03.2015 04:33

OLE(COM) для .NET
 
Работали с Автограф 4.0.6, написали на 1С конфигурацию для работы с данными из Автографа по OLE. Все работало нормально.
Перешли на AG.NET. Попробовали получить данные из 1С - ошибка : "AG=СоздатьОбъект("AutoGRAPH.AutoGRAP HAutomation");... Неудачная попытка создания объекта (AutoGRAPH.AutoGRAPHAutomation)",
снова запустили Автограф 4.0.6 - опять все заработало.
OLE работает в AG.NET? Другие названия объектов? Можно тогда новое описание? Или другие могут быть проблемы?
А то получается, что смотрим данные в .NET, а данные вытягиваем из 4.0.6, причем они далеко не всегда совпадают!

Дмитрий Пиминов 24.03.2015 01:37

Цитата:

Сообщение от Тимошенко Александр (Сообщение 102698)
OLE работает в AG.NET? Другие названия объектов? Можно тогда новое описание? Или другие могут быть проблемы?

Здравствуйте!
А вы пробовали запустить примеры из файла эксель. Попробуйте. У меня этот файл получает данные из Автограф.нет, а вот 1С тоже ругается. Я думаю, что com нужно для него зарегистрировать правильно.

Тимошенко Александр 24.03.2015 04:27

Цитата:

Сообщение от Дмитрий Пиминов (Сообщение 102795)
Здравствуйте!
А вы пробовали запустить примеры из файла эксель. Попробуйте. У меня этот файл получает данные из Автограф.нет, а вот 1С тоже ругается. Я думаю, что com нужно для него зарегистрировать правильно.

Здравствуйте!
А кто кроме разработчиков может правильно зарегистрировать COM объект?
Почему со старым Автографом работает? Подозреваю, что дело в каких-нибудь ньюансах реализации самого .NET, возможно, из-за реализации новой версии COM с плохой (никакой) совместимостью с предыдущими версиями.

Дмитрий Пиминов 24.03.2015 04:55

Я запускаю экселевский файл из вышеприведенного архива и при запущенном Автограф .net файл получает данные именно из него. Так что com там похоже есть и работает. Попробуйте сами.
1С уменя так делать не хочет.

Тимошенко Александр 26.03.2015 02:08

А никто из разработчиков не проверял совместимость OLE(COM) нового Автограф.NET хотя бы с самыми распространенным ПО? Например теми, что обсуждались часто на форуме (1С 7.7, 1С 8.х, MS Excel, Delphi, другие средства разработки и т.п.). Насчет Excel уже понятно, что совместим (еще бы у одного разработчика были бы проблемы с совместимостью :-) )
Может уже кто-то сталкивался с подобными проблемами, как их решали (если решили).
Был бы такой список, тогда можно было б четко определится, что при переходе на .NET придется еще и переписать дополнительное ПО в совместимой среде: будет хоть известно в каких можно.

SK 26.03.2015 04:58

Тимошенко Александр, совместимость OLE (COM) - она либо есть, либо её нет.
Это технология Microsoft, неважно, где она встроена и используется - в продукт Microsoft или в 1С, например.
Функции и т.п. в разных версиях ПО - могут отличаться, но сам принцип работы с OLE - жестко определён Microsoft много лет назад и с тех пор не менялся.

Александр, посмотрите код в Excel - он должен работать и в 1С.
Нюанс: к некоторым проблемам может приводить несовпадение битности ПО.

denisio 26.03.2015 05:12

Цитата:

Сообщение от Тимошенко Александр (Сообщение 102979)
А никто из разработчиков не проверял совместимость OLE(COM) нового Автограф.NET хотя бы с самыми распространенным ПО? Например теми, что обсуждались часто на форуме (1С 7.7, 1С 8.х, MS Excel, Delphi, другие средства разработки и т.п.). Насчет Excel уже понятно, что совместим (еще бы у одного разработчика были бы проблемы с совместимостью :-) )
Может уже кто-то сталкивался с подобными проблемами, как их решали (если решили).
Был бы такой список, тогда можно было б четко определится, что при переходе на .NET придется еще и переписать дополнительное ПО в совместимой среде: будет хоть известно в каких можно.

OLE AG.NET проверяли с MSOffice, насколько я помню.
Хотя вот альтернативный вариант с получением данных по HTTP в формате WCF/JSON.

Тимошенко Александр 26.03.2015 06:49

Цитата:

Сообщение от denisio (Сообщение 102988)

А с какой версией MSOffice? 2010, 2007, 2003, 97? Вопрос не праздный, а для понимания совместимости. Т.е. если с 2007 работает, а уже с 2003 нет, то наверняка все ПО разработанное до 2007г. работать с АГ.NET через OLE какое-то будет, а какое-то нет. А то, что разработано до 2003 вообще без шансов.
Насчет http это конечно вариант, но для его реализации также потребуется знакомиться с этой методой и заново писать дополнительное ПО а в этом случае можно и по OLE...

SK 26.03.2015 08:45

В этом-то и суть технологии Microsoft OLE - что ей все равно, какой там версии MS Office и какого года он выпуска - лишь бы поддерживал те типы данных, которые реализованы через OLE.

Тимошенко Александр 27.03.2015 01:36

Цитата:

Сообщение от SK (Сообщение 102985)
Тимошенко Александр, совместимость OLE (COM) - она либо есть, либо её нет.
Это технология Microsoft, неважно, где она встроена и используется - в продукт Microsoft или в 1С, например.
Функции и т.п. в разных версиях ПО - могут отличаться, но сам принцип работы с OLE - жестко определён Microsoft много лет назад и с тех пор не менялся.

Александр, посмотрите код в Excel - он должен работать и в 1С.
Нюанс: к некоторым проблемам может приводить несовпадение битности ПО.

Если 1С нормально РАБОТАЕТ с 4.0.6, значит дело не может быть в неправильном обращении к объектам или в ошибках имен функций и объектов.
А вот насчет битности вполне может быть. Обойти как-нибудь можно? например, настройками совместимости при запуске или какими-нибудь другими настройками?


Текущее время: 10:37. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot