Новая версия 1С:Предприятие 8.2 конфликтует с C# и .Net framework

15.12.10

Разработка - Разработка внешних компонент

Суть конфликта 1С 8.2 с C# и .Net framework в следующем. В версии 8.2 1С анонсировала новый способ написания внешних компонент 1С с использованием так называемого Native API. Самое интересное, что на C# предложенный подход реализовать невозможно, а реализация Native API на VC++/CLI теоретически возможна, но при попытке подключения DLL, скомпилированных с опцией /CLR, происходит зависание 1С (версия 8.2.13.202). Еще один конфликт – в новой версии 1С нет поддержки технологии ActiveX, на основе которой многие разработчики вставляли в формы 1С свои WinForms-приложения.

Многие слышали о выходе новой версии 1С:Предприятие 8.2 и знают о планах отказаться от поддержки 8.1 в первом квартале 2011 года. Мое мнение – 1С 8.2 – это сырой недоработанный продукт, который можно отнести к пре-бета/бета стадии. А с 8.1 разработчикам проще перейти на Asp.Net (например, через Elisy LinqTo1C), чем на управляемые формы 8.2. К такому выводу я пришел после 2 недельной попытки перевести наши .Net-проекты с версии 8.1 на более новую версию 1С 8.2. Заметка эта написана больше не для критики, а чтобы определить новую для определенного круга .Net-разработчиков проблему, попытаться донести ее до 1С и постараться совместно решить в текущей или новых версиях популярного продукта 1С:Предприятие 8.2.

Суть конфликта 1С 8.2 с C# и .Net framework в следующем. В версии 8.2 1С анонсировала новый способ написания внешних компонент 1С с использованием так называемого Native API. Самое интересное, что на C# предложенный подход реализовать невозможно, а реализация Native API на VC++/CLI теоретически возможна, но при попытке подключения DLL, скомпилированных с опцией /CLR, происходит зависание 1С (версия 8.2.13.202). Еще один конфликт – в новой версии 1С нет поддержки технологии ActiveX, на основе которой многие разработчики вставляли в формы 1С свои WinForms-приложения.

Простейший способ воспроизвести проблему зависания: включить опцию /CLR на проект-пример от 1С про таймер NativeAPI. Зазиповать DLL вместе с файлом MANIFEST.xml в макет кофигурации 1С 8.2 и выполнить следующий код на форме:

&НаКлиенте
Процедура TestNativeApi(Команда)
    УстановитьВнешнююКомпоненту("ОбщийМакет.ElisyNetBridge4");
    Сообщить(ПодключитьВнешнююКомпоненту("ОбщийМакет.ElisyNetBridge4", "ElisyNetBridge", ТипВнешнейКомпоненты.Native));	
    TestNativeApiServer();
КонецПроцедуры

&НаСервере
Процедура TestNativeApiServer()
    Сообщить(ПодключитьВнешнююКомпоненту("ОбщийМакет.ElisyNetBridge4", "ElisyNetBridge", ТипВнешнейКомпоненты.Native));	
КонецПроцедуры

Комментируя код, относящийся к клиенту или серверу, можно понять, что проблема характерна как для клиента, так и для сервера.

Еще одна проблема – отказ от поддержки ActiveX на управляемых формах 1С 8.2. Раньше многие .Net-разработчики писали WinForms проекты, которые можно было вставлять на формы 1С в версии 8.1. Сейчас нужно использовать какие-то обходные маневры, чтобы добиться одинакового со старой версией результата.

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

Последняя важная проблема – это отсутствие заявленной функциональности в технологии написания внешних компонент (ВК) для ВК на основе веб-браузера. Начал делать реализацию ВК для веб-клиента. Долго разобраться не мог, почему не работает, начал копать вглубь исходных кодов JScript. Оказалось функциональность в 1С просто недореализована. В 8.2.10.73 для веб-браузера в коде JScript на команды, например, writeValue, registerProfileAs, readValue стоят тупо заглушки. А addError - вместо того, чтобы выводить ошибку в окно сообщений, как в предыдущих версиях 1С - выводит модальное диалоговое окно. Такие ошибки можно находить в бета-версии, но никак не в официальном релизе.

См. также

Медиадисплей. Рекламный информационный монитор для покупателя.

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    52105    34    69    

43

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    26244    131    99    

83

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    44977    117    64    

60

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35081    104    123    

111

Мастер создания внешних компонент 1С (технология COM) для DELPHI 6/7/8/2005/2006/2007/2008/2010/XE/XE2/XE3

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Средство для сверхбыстрой разработки внешних компонент 1С:Предприятия 7.7 и 8 по технологии COM на всех версиях DELPHI, начиная с 6.

2000 руб.

28.03.2013    54000    35    14    

68

QR-код с логотипом компании (обычная и управляемая форма)

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

Как известно, стремление сделать свою рекламную продукцию запоминающейся и выделяющейся — верный путь к успеху. Сегодня, мы поговорим с вами о том, что можно сделать с обычным черно-белым QR-кодом, чтобы он стал более живым и привлекательным. Если вам не терпится попробовать сделать QR-код с логотипом компании, то эта обработка для вас!

2400 руб.

22.06.2016    30840    4    4    

8

Внешняя компонента 1С и С++. Продолжаем разговор.

Разработка внешних компонент Платформа 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    4039    starik-2005    28    

52

Внешние компоненты 1С и язык C++

Разработка внешних компонент Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    4781    starik-2005    32    

39
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cool.vlad4 2 15.12.10 14:29 Сейчас в теме
Да-м жить становится интереснее...
2. Magister 134 15.12.10 14:54 Сейчас в теме
Естественно, какой нафиг .NET может быть на Linux? Mono не предлагать. :D
3. Ish_2 1104 15.12.10 14:55 Сейчас в теме
Заметка эта написана больше не для критики, а чтобы определить новую для определенного круга .Net-разработчиков проблему, попытаться донести ее до 1С и постараться совместно решить в текущей или новых версиях популярного продукта 1С:Предприятие 8.2.


Совместно решить ? с 1С ? - Ох, вряд ли.
Думаю , выкручиваться будет каждый разработчик ВК как сможет.
Разработчик ВК для 1с работает на свой страх и риск.
На свой страх и риск и действуют покупатели , покупающие такие ВК.
Такова жизнь.
awk; Spartan; cool.vlad4; OLEG4120; +4 Ответить
4. cool.vlad4 2 15.12.10 15:15 Сейчас в теме
того глядишь на java перейдем...шучу, но для многих, конечно неприятность, есть у кого-нибудь соображения на сей счет?
5. mirco 74 15.12.10 16:46 Сейчас в теме
думаю activeX или аналога точно не будет.
а вот nativeApi поправят, но конечно не скоро...

надо бы попробовать порисовать окна внутри 1с, может получиться придумать идею для замены activeX. Пока что я знаю только как всавить через поле html.
6. Elisy 948 16.12.10 06:27 Сейчас в теме
Совместно решить ? с 1С ? - Ох, вряд ли.
Думаю , выкручиваться будет каждый разработчик ВК как сможет.
Разработчик ВК для 1с работает на свой страх и риск.
На свой страх и риск и действуют покупатели , покупающие такие ВК.
Такова жизнь.

Я думаю, достаточно постараться решить силами заинтересованных разработчиков. Проблема общая.
Как я понял в случае с C++/CLR происходит, скорее всего, Loader Lock. Как бороться пока не знаю. При отладке и остановке в отладчике выдается такой стек вызовов:
ntdll.dll!_RtlCompareMemoryUlong@12() + 0x10 bytes
ntdll.dll!@RtlpFreeHeap@16() + 0x10b bytes
ntdll.dll!_RtlFreeHeap@12() + 0xe37 bytes
ntdll.dll!_RtlDebugFreeHeap@12() + 0x1f9 bytes
ntdll.dll!@RtlpFreeHeap@16() + 0x34d58 bytes
ntdll.dll!_RtlFreeHeap@12() + 0xe37 bytes
kernel32.dll!_HeapFree@12() + 0x14 bytes
> clr.dll!EEHeapFree() + 0x22 bytes
clr.dll!EEHeapFreeInProcessHeap() + 0x1e bytes
clr.dll!operator delete[]() + 0x30 bytes
clr.dll!ExecuteDLLForAttach() + 0x114 bytes
clr.dll!ExecuteDLL() + 0xc9 bytes
clr.dll!CorDllMainForThunk() + 0x6b bytes
mscoreei.dll!CorDllMainWorkerForThunk() + 0x74 bytes
mscoreei.dll!_VTableBootstrapThunkInitHelper@4() + 0x1d bytes
mscoreei.dll!_VTableBootstrapThunkInitHelperStub@0() + 0xc bytes

или

> clr.dll!SString::CaseCompareHelper() + 0x2a bytes
clr.dll!SString::EqualsCaseInsensitive() + 0x34fa5 bytes
clr.dll!PEImage::PathEquals() + 0x16 bytes
clr.dll!DomainAssembly::FindIJWModule() - 0x10 bytes
clr.dll!AppDomain::FindIJWDomainFile() + 0x4e bytes
clr.dll!ExecuteDLLForAttach() + 0xc5 bytes
clr.dll!ExecuteDLL() + 0xc9 bytes
clr.dll!CorDllMainForThunk() + 0x6b bytes
mscoreei.dll!CorDllMainWorkerForThunk() + 0x74 bytes
mscoreei.dll!_VTableBootstrapThunkInitHelper@4() + 0x1d bytes
mscoreei.dll!_VTableBootstrapThunkInitHelperStub@0() + 0xc bytes

Может кому-то будет полезно
7. Elisy 948 16.12.10 06:30 Сейчас в теме
mirco пишет:

думаю activeX или аналога точно не будет.

а вот nativeApi поправят, но конечно не скоро...



надо бы попробовать порисовать окна внутри 1с, может получиться придумать идею для замены activeX. Пока что я знаю только как всавить через поле html.

Обходные пути можно поискать, но хотелось бы по возможности к NativeAPI подстроиться
110. Serginio 938 13.05.16 20:44 Сейчас в теме
(7) Кстати решили проблему?
Посмотрел я на http://pragmateek.com/using-c-from-native-c-with-the-help-of-ccli-v2/
То реально скрестить натив с манагед. Загорелся прикрутить .Net Core к ВК Native.
Можно сделать аналог класса Delphi TSocketConnection который представляет собой аналог DCOM только через Tcp/IP. Смысл его в том, что можно вызвать любой COM объект на удаленном сервере используя Idispatch и храня объекты на сервере, а на клиента передавать структуру типа Variant где простые типы сериализуются, а для ссылочных хранится некий ID по которому можно получить объект на сервере.
Можно сделать легковесный вариант на пайпах. В итоге по аналогии с NetObjectToIDispatch можно использовать любые классы .Net

А еще лучше использовать манагед DLL из натвной
113. Elisy 948 16.05.16 07:09 Сейчас в теме
(110) Serginio,
Elisy, Кстати решили проблему?

Я оставил эту задачу из-за ограничений Native API по сравнению с COM API.
Слишком негибкий метод получается. Думал вернуться к Native API, если появится поддержка объектов по аналогии с IDispatch
8. Gilev.Vyacheslav 1910 16.12.10 15:41 Сейчас в теме
занимаетесь какой-то ******!
cool.vlad4; Душелов; +2 Ответить
9. cool.vlad4 2 16.12.10 17:17 Сейчас в теме
10. v77 160 16.12.10 22:47 Сейчас в теме
Автору приснилось, что 1С должна работать с .NET, с которым никогда не собиралась работать.
11. cool.vlad4 2 17.12.10 00:14 Сейчас в теме
(10) Может это разработчики 1С не стремятся, ...не знаю что там тебе приснилось, ты публикации автора видел? Elisy .Net Bridge например?
16. v77 160 17.12.10 08:42 Сейчас в теме
(11) Я не фанат .NET и мне эти бриджи и обиды на 1С по барабану.
NativeAPI сделан для С++ и с учетом того, что будет использоваться на Linux.
А ваши свистелки с пирделками 1С не обязана поддерживать. Колупайтесь сами. Кстати, могу за деньги прикрутить ваш .NET к NativeAPI.
19. cool.vlad4 2 17.12.10 10:39 Сейчас в теме
(16) По моему занятие фанатства надо оставить болельщикам футбола и иже с ними, а в делах сугубо рабочих, в зависимости от задачи, от того кому что удобней, ... ну и от привычки...насчет прикручивания неплохо бы, но меня это интересует пока лишь с точки зрения любопытства, поскольку задачи на 8.2 такой не стоит. Насчет того, что 1С определяет политику своих разработок сама
А ваши свистелки с пирделками 1С не обязана поддерживать
- согласен.
20. cool.vlad4 2 17.12.10 10:44 Сейчас в теме
(19) Быть может это обходной прием?
21. v77 160 17.12.10 11:04 Сейчас в теме
(20) Ну как тут обойтись без обходных приёмов, если нужно скрестить .NET и native. Первое, что приходит в голову - это сделать прокладку в виде обычной DLL, которая будет подключать остальные ВК, и NativeAPI и обычные. Это будет workaround?
23. Elisy 948 17.12.10 12:08 Сейчас в теме
(21) Извиняюсь, не заметил комментария - это будет обходной путь. Мне бы хотелось идеала достигнуть без лижних компонентов и кода.
ActiveX через Html, NativeApi - через свою dll - это не то, что хотелось бы видеть в "любимой" 1С.
25. v77 160 17.12.10 12:26 Сейчас в теме
(23) Если варианты с прокладками не катят, то тогда два варианта.

1) Занести пару-тройку миллионов долларов в микрософт, чтобы они переделали .NET
2) Занести пару-тройку миллионов рублей в 1С, чтобы они переделали NativeAPI
27. Elisy 948 17.12.10 13:04 Сейчас в теме
(25) :) Я отправил запрос разработчикам 1С - посмотрим, что ответят ))))))
24. cool.vlad4 2 17.12.10 12:09 Сейчас в теме
(21) наверное нет, хотя как на это посмотреть - все таки реализация не напрямую (23) по моему это совсем не простая задача...
12. Elisy 948 17.12.10 06:26 Сейчас в теме
gilv пишет:
занимаетесь какой-то ******!

Действительно занимаюсь ****** вместо компании 1С. Пока не отчаялся. А вот эти люди уже отчаялось и ничего хорошего от 1С не ждут:
http://www.rsdn.ru/forum/dotnet/4081994.aspx
15. Ish_2 1104 17.12.10 08:16 Сейчас в теме
(12) "Пока не отчаялся. А вот эти люди уже отчаялось и ничего хорошего от 1С не ждут:"

Не то чтобы я был на стороне тех кто отчаялся,НО:
Занимая монопольное положение на своем рынке , почему "1с" должна заботиться о .net-разработчиках ?
С какой стати ?
Что -то мне подсказывает , что при разработке нового релиза "1с" меньше всего думает о .net-разработчиках,
много их или мало.
Сколько решений на 1с , использующих .net ? - Оптимистичный ответ 0.5% !
Видя соотношение 99.5% против 0.5%, человек принимающий решение , вздохнет :
".net-разработчиков , конечно , жаль"
cool.vlad4; +1 Ответить
13. Elisy 948 17.12.10 06:34 Сейчас в теме
v77 пишет:
Автору приснилось, что 1С должна работать с .NET, с которым никогда не собиралась работать.

Автор не понял 1С. Внешние компоненты нацелены в первую очередь на разработчиков. Сообщество .Net-разработчиков намного больше, чем сообщество 1С-разработчиков. И .Net-разработчиков больше, чем С++ - разработчиков.
Я не прошу полноценной поддержки .Net в 1С, но ПодключитьВнешнююКомпоненту(ProgId) в сервере 8.2 можно же было оставить, как оставили его в клиенте 8.2. Проблем бы стало намного меньше.
14. Elisy 948 17.12.10 08:09 Сейчас в теме
Интересный вопрос: почему новая технология Native API уступает старой технологии COM отсутствием доступа к методам глобального контекста (AppDispatch)? Ведь все новое должно быть лучше старого...
17. Elisy 948 17.12.10 10:13 Сейчас в теме
v77 пишет:
Кстати, могу за деньги прикрутить ваш .NET к NativeAPI.

Хорошая идея. Готов оплатить "прикручивание" в пределах разумного для последующей общедоступной публикации. Решение должно быть на C# или VC++/CLR, подключаться по технологии Native API (не COM) из 1С 8.2 (Сервер) (без workaround`ов) с реализацией интерфейсов IComponentBase, IInitDoneBase, ILanguageExtenderBase, LocaleBase. Для простоты можно на основе примера с таймером от 1С NativeAPI. Без зависаний при вызове ПодключитьВнешнююКомпоненту из макета.
Сколько это будет стоить и в какой срок?
Spartan; cool.vlad4; Ish_2; +3 Ответить
18. v77 160 17.12.10 10:37 Сейчас в теме
22. Elisy 948 17.12.10 12:05 Сейчас в теме
v77 пишет:
(17) А что такое workaround?

Workaround - обходной путь.
Например, обходным путем считается на сервере 8.2 обойти зависания Native API через написание отдельной DLL (без CLR), которая реализуя Native API будет возвращать ссылку void* pConnection из метода bool CAddInNative::Init. Далее ее можно передать уже в COM-объект на C# или VC++/CLR и получить полноценный ВК. По сути ВК - это самописный компонент плюс ссылка на pConnection.
Для такого варианта будет код:

&НаСервере
...
ПодключитьВнешнююКомпоненту("ОбщийМакет.NativeAPI", "NativeAPI", ТипВнешнейКомпоненты.Native);
AddIn = Новый("AddIn.NativeAPI");
intPtr = AddIn.GetConnectionIntPtr();
o = Новый COMОбъект("CSharp.COM");
o.SetConnection(intPtr);

В результате получим C#-объект на стороне сервера со ссылкой на Connection. Результат достигнут, но нужно, чтобы в одной dll (VC++/CLR) была реализация NativeAPI + .Net.
26. cool.vlad4 2 17.12.10 12:48 Сейчас в теме
Есть еще 3-й вариант пару-тройку сот рублей в пивбар, и не парится...конец недели все таки...
ЗЫ про пару тройку, миллионов, - можно просто придти в микрософт и они переделают под заказ? ...следующая версия платформы dot net Abramovich
или 1Ё от Прохорова - который работает на альтернативном источнике мыслей
29. Elisy 948 17.12.10 13:05 Сейчас в теме
(26) Действительно - пятница :) - нужно успокоиться. Поздравляю всех с выходом 1С 8.2 :). Обходные пути мы придумаем - не первый раз :). А потом и перепишем 1С, как нужно.
28. cool.vlad4 2 17.12.10 13:05 Сейчас в теме
(28) :D гораздо эффективнее будет отправить письмо с жалобой президенту Белоруссии "Как пропатчить NativeAPI"
ЗЫ Я сначала подумал был отправлен запрос из (25) - чуть со стула не упал...
30. steban 73 17.12.10 17:19 Сейчас в теме
Как задолбали эти "специалисты"
http://zalil.ru/30163183
31. cool.vlad4 2 17.12.10 17:34 Сейчас в теме
(30) неужели это то о чем я думаю ... addinnative...хм...
ЗЫ как быстро исполняются...хочу ВК самогенерирующую код... :D

ЗЫ Дай пожалуйста описание, а то кот в мешке...или это просто демонстрация ВК на 8.2, говорящая "нет"...
66. steban 73 27.12.10 09:44 Сейчас в теме
Elisy пишет:
А то, получается, 20 человек поддерживают, а у 2х человек аргументов не хватает, начинают на личности переходить.

20 плюсиков означают примерно следующее: кому-то из плюсанувших интересна тема "1с + .NET", кому-то интересна тема NativeAPI, кто-то считает что "1с--сакс". Я уверен, что никто из них не писал на C++/CLI.
А насчет аргументов... Я считаю, что достаточно (30) и (60)
69. cool.vlad4 2 27.12.10 10:39 Сейчас в теме
Действительно, конструктивного диалога не получается, хотя steban и Душелов, в общем-то правы, описанной проблемы не наблюдал, а порывшись в интернете, набрел на автора этой публикации. На C++/CLI не писал, так, что (66) близок к истине, (хотя писал на шарпе). Так, что склоняюсь к мысли, что тестить надо больше, приводить проблемный код, а то говорить получается, то не о чем. Соглашусь с Гилевым (8).
70. artbear 1448 27.12.10 12:06 Сейчас в теме
Поддержу (66) - ИМХО именно такой расклад и есть :(
32. steban 73 17.12.10 17:54 Сейчас в теме
Это выгрузка конфигурации в которой есть только общий макет с Native-API ВК (32-битная под винду).
ВК - это пример timer с ИТС, скомпилированый с ключом /clr.
Нормально грузится в тонком и толстом клиентах.
Прикрепленные файлы:
33. cool.vlad4 2 17.12.10 18:02 Сейчас в теме
(32) все это для верно для версии 8.2.13.202? у меня ее нет.
34. steban 73 17.12.10 18:12 Сейчас в теме
скачай файлик заново

Процедура TestNativeApi()
    УстановитьВнешнююКомпоненту("ОбщийМакет.addinnative");
    Сообщить(ПодключитьВнешнююКомпоненту("ОбщийМакет.addinnative", "Timer", ТипВнешнейКомпоненты.Native));	
КонецПроцедуры

Процедура ПриНачалеРаботыСистемы()
	TestNativeApi();
КонецПроцедуры
Прикрепленные файлы:
35. steban 73 17.12.10 18:49 Сейчас в теме
на 8.2.13.202 тоже не виснет
36. Elisy 948 18.12.10 06:14 Сейчас в теме
(35) Это радостное известие означает, что не все еще потеряно. Давайте теперь с ОС разберемся. Предполагаю, что у вас могло заработать на XP или 2003. Вот дословно параметры моего запроса в 1С:
1. ДАННЫЕ ТЕКУЩЕГО КОМПЬЮТЕРА И КОНФИГУРАЦИИ
Версия 1С:Предприятия 8.0: 8.2.13.202
Конфигурация: Тестовая
Версия конфигурации: -
Операционная система: Microsoft Windows 7

Могу добавить, включен UAC. Установлен .Net framework 4.
38. Elisy 948 18.12.10 10:11 Сейчас в теме
(35) Происходит зависание
Прикрепленные файлы:
37. cool.vlad4 2 18.12.10 09:56 Сейчас в теме
У меня - 8.2.12, Windows 7 x32, откл UAC, .Net Framework 4
39. Elisy 948 21.12.10 13:59 Сейчас в теме
Только что пришло сообщение от 1С:
Цитирую:
"Просто включить опцию компилятора /clr недостаточно.
Т.к. платформа взаимодействует с неуправляемым кодом, то дополнительно нужно применять директивы #pragma managed(push, off) #pragma managed(pop) #pragma unmanaged Это объясняется несовпадением C/C++ ABI с ABI управляемого кода.

Так,в файле AddInNative.cpp из примера, перед функцией long GetClassObject(const WCHAR_T* wsName, IComponentBase** pInterface) нужно добавить директиву #pragma unmanaged

в файле AddInNative.h, после #define __ADDINNATIVE_H__ нужно добавить #pragma managed(push, off), а перед #endif //__ADDINNATIVE_H__ #pragma managed(pop)
"
Постараюсь побыстрее проверить
40. Elisy 948 22.12.10 12:18 Сейчас в теме
(39) Работает. Принцип такой, что хотя весь проект и компилируется с опцией CLR, но на модуль AddInNative эта настройка не распространяется. Как развивать еще не думал, но этого достаточно, чтобы цивилизованно выдавать сообщение при попытке подключения по Native API: "Native API не поддерживается!" :)
65. steban 73 27.12.10 09:30 Сейчас в теме
Elisy пишет:
почитай ответ от 1С, которая фактически признала проблемы взаимодействия управляемого и неуправляемого кода в (39).

Ничего они не признали. Они намекнули тебе, что проблема лежит за пределами кода 1с, и намекнули где искать решение.
А потом намекнули еще раз более прозрачно (чтобы даже тебе было понятно):
Из 1С пришел ответ:
"Технические вопросы совместного использования управляемого и неуправляемого кода правильней задавать компании-производителю.
Специалисты компании 1С не имеют доступа к исходным кодам платформы .NET для детального анализа причин неработоспособности."



Я повторюсь, что это решение зависает на 1С 8.2 см (35). А если это решение у одних зависает, а у других - нет, то это нестабильное решение, которое в нормальный продукт не вставишь.

Та хамишь, и при этом еще хочешь чтобы я тебе дал "стабильное решение". А мне лень тратить свое время на решение твоих проблем.
Я хочу, чтобы до тебя дошла простая мысль: "описанное зависание - не проблема 1с и не проблема microsoft, а проблема твоего кода. И в твоих силах это исправить, если вникнуть в тему поглубже, а не орать на весь интернет что 1с с чем-то там конфликтует"
67. Elisy 948 27.12.10 10:18 Сейчас в теме
(65)

Та хамишь, и при этом еще хочешь чтобы я тебе дал "стабильное решение". А мне лень тратить свое время на решение твоих проблем.
Я хочу, чтобы до тебя дошла простая мысль: "описанное зависание - не проблема 1с и не проблема microsoft, а проблема твоего кода. И в твоих силах это исправить, если вникнуть в тему поглубже, а не орать на весь интернет что 1с с чем-то там конфликтует"

Где я написал, что хочу лично от тебя чего-либо. Я так понимаю, ты предложил решение, оно таким же образом зависает, как и мое. Спасибо, конечно, но этого я и сам достиг. В моих силах было найти в отладчике при зависании при инициализации CLR в методе Init:
ntdll.dll!_RtlEnterCriticalSection@4() + 0x17 bytes
ntdll.dll!_LdrLockLoaderLock@12() + 0x6b bytes
А это значит, что каким-то образом проблема относится к проблеме Loader Lock. Отрицательный результат - тоже результат. Виноват мой код, 1С или Microsoft, меня это уже мало интересует. Сейчас для меня становится очевидным, что нужно искать обходной путь.
41. Душелов 4013 23.12.10 12:21 Сейчас в теме
Все прекрасно работает и на последнем релизе. И визуальные ActiveX на управляемых формах в тонком клиенте, и обычные ВК.
Не вижу никаких проблем.
44. Elisy 948 23.12.10 14:18 Сейчас в теме
(41) Кому нужен толстый клиент на 8.2? Есть хороший и проверенный толстый клиент 8.1. Речь идет о тонком и веб-клиенте.
48. Душелов 4013 23.12.10 14:32 Сейчас в теме
(44) Толстый клиент нужен для типовых БП, ЗУП и УПП, которые еще не переведены полностью на управляемые формы.
53. Elisy 948 24.12.10 07:55 Сейчас в теме
(48) А когда будут переведены БП, ЗУП и УПП - это вопрос времени - что прикажете делать? А что делать сейчас касательно УТ11?
54. Душелов 4013 24.12.10 10:45 Сейчас в теме
(53) Для работы в контексте сервера, еще со времен 8.1 (в регламентных заданиях) я использую ActiveX-ы.
45. Elisy 948 23.12.10 14:23 Сейчас в теме
(41) Могу явно указать проблемы. ActiveX, наверное, штатными средствами проигрываются на управляемых формах 1С? А обычные ВК из 8.1 заработали вдруг невероятным образом на сервере 8.2?
47. Душелов 4013 23.12.10 14:31 Сейчас в теме
(45) Обычные ВК преспокойно работают на сервере 8.2
Технология управляемых форм не позволяет использовать ActiveX-ы. Потому и используются контейнеры, типа поля html-документа, как описано у меня в статье.
51. Elisy 948 24.12.10 07:52 Сейчас в теме
(47) Да, как это они работают на сервере 8.2? Можно ссылку на пример такого компонента? Насколько я знаю,
Вот что пишет Радченко:
"Вообще, в синтакс-помощнике описаны два варианта синтаксиса ПодключитьВнешнююКомпоненту():
1. ПодключитьВнешнююКомпоненту(<Местоположение>, <Имя>, <Тип>)
2. ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>)
К сожалению дальше есть особенность, которая там не описана, но мы это исправим.
Первый вариант синтаксиса можно использовать и на клиенте, и на сервере и во внешнем соединении.
Второй вариант синтаксиса можно использовать только на клиенте."
Это значит, что на сервере работают только ВК, написанные по технологии NativeAPI. Подскажите мне, пожалуйста, как на C# повторить технологию NativeAPI, подобно примеру 1С на C++.
52. Elisy 948 24.12.10 07:53 Сейчас в теме
(47) Я пишу в статье:
"Я не хочу сказать, что больше не осталось способов работать с .Net-проектами из 1С, я хочу показать, что новая версия 1С недружелюбно относится к .Net, ограничивая поддержку и переводя свои API на заведомо неподдерживаемый формат."
55. Душелов 4013 24.12.10 10:53 Сейчас в теме
(52) Новая версия - это "8.2" или "8.2.13.202" ?
58. Elisy 948 25.12.10 06:05 Сейчас в теме
(55) Новая версия - "8.2.13.202"
(56) Я заметил и разработчики 1С подтвердили: см. (39) . К сожалению - это не помогает, так как управляемый код из такой dll вызывать нельзя.
А проблема осталась - с тем же успехом 1С могло ответить - для нормальной работы примера, нужно убрать опцию /clr. Дело в том, что после предложенного решения 1С любое создание .Net-объекта сопровождается таким же зависанием. Например, вызов простого метода:

#pragma managed
void CAddInNative::InitializeManaged()
{
System::Object^ o = gcnew System::Object();
}
#pragma unmanaged

из методов CAddInNative::CallAsFunc или CAddInNative::Init
Проблема похожа на Loader Lock:
http://msdn.microsoft.com/en-us/library/ms173266(v=vs.80).aspx
42. Душелов 4013 23.12.10 12:38 Сейчас в теме
Толстый клиент обычное приложение
Прикрепленные файлы:
43. Душелов 4013 23.12.10 14:16 Сейчас в теме
Проверено на XP, Win 7 (32 и 64 бита)
46. Elisy 948 23.12.10 14:24 Сейчас в теме
Кому интересно: здесь параллельное обсуждение на mista.ru
http://www.forum.mista.ru/topic.php?id=522583
49. Душелов 4013 23.12.10 14:33 Сейчас в теме
Да и по статье - я так и не понял, где новая версия 8.2 конфликтует с C# и .NET
50. Душелов 4013 23.12.10 14:45 Сейчас в теме
Те же WPF контролы на WinForms-ах в .NET-е используются через контейнер.
Так что это не политика 1С. Это технологии...
56. Душелов 4013 24.12.10 10:53 Сейчас в теме
+55 в заголовке указано "конфликтует" - конфликтов не заметил
57. Душелов 4013 24.12.10 11:00 Сейчас в теме
Мне тоже известны пути вставки ActiveX на управляемые формы 8.2. Но согласитесь, технологию такой вставки нужно рассматривать как обходной путь (workaround). Так как работу выполняет не 1С, а IE.


Зачем пихать все ActiveX-ы на форму?

В 90% случаев достаточно использовать конструктор "Новый COMОбъект()". И все прекрасно работает и на сервере, и на клиенте, и на веб-клиенте.
59. Elisy 948 25.12.10 06:12 Сейчас в теме
(57) Повторюсь - я веду речь о тонком клиенте и сервере 8.2.
1. Новый COMОбъект() создает COM-объект, а не ActiveX. ActiveX подразумевает визуаьлный компонент. Значит использование Новый COMОбъект() ограничено.
2. Если сравнивать использование NativeAPI и Новый COMОбъект() на сервере, то NativeAPI выиграет только за счет того, что подключение его кэшируется и он каждый раз не создается.
3. Внешние компоненты (NativeAPI и сделанные по старой технологии) имеют преимущество в том, что в них передается указатель на АПИ 1С. Это значит, например, что из ВК можно выдать сообщение в окно 1С, а из Новый COMОбъект() затруднительно. Из ВК можно вызвать метод глобального контекста (только для тонкого клиента), а из Новый COMОбъект() - тоже затруднительно.
62. Душелов 4013 25.12.10 21:44 Сейчас в теме
Elisy пишет:

(57) Повторюсь - я веду речь о тонком клиенте и сервере 8.2.
1. Новый COMОбъект() создает COM-объект, а не ActiveX. ActiveX подразумевает визуаьлный компонент. Значит использование Новый COMОбъект() ограничено.
2. Если сравнивать использование NativeAPI и Новый COMОбъект() на сервере, то NativeAPI выиграет только за счет того, что подключение его кэшируется и он каждый раз не создается.
3. Внешние компоненты (NativeAPI и сделанные по старой технологии) имеют преимущество в том, что в них передается указатель на АПИ 1С. Это значит, например, что из ВК можно выдать сообщение в окно 1С, а из Новый COMОбъект() затруднительно. Из ВК можно вызвать метод глобального контекста (только для тонкого клиента), а из Новый COMОбъект() - тоже затруднительно.


1. ActiveX - не ком-объект? Ничем не ограничено. Работает, как на сервере, так и на клиенте. И не один год уже. И на всех платформах.
2. Каждый раз можно не создавать. У меня в статье описано хранение 1 объекта без создания каждый раз нового элемента.
3. У комобъекта прекрасно используются события, с помощью которых можно что угодно выводить и показывать в 1С.
60. steban 73 25.12.10 15:51 Сейчас в теме
Elisy пишет:
управляемый код из такой dll вызывать нельзя

можно
vlgogolev; +1 Ответить
63. Elisy 948 27.12.10 06:12 Сейчас в теме
(60) Если это из той же оперы, что и (30), то почитай ответ от 1С, которая фактически признала проблемы взаимодействия управляемого и неуправляемого кода в (39). Я повторюсь, что это решение зависает на 1С 8.2 см (35). А если это решение у одних зависает, а у других - нет, то это нестабильное решение, которое в нормальный продукт не вставишь.
61. steban 73 25.12.10 15:54 Сейчас в теме
1С с C# не конфликтует.
Автор конфликтует с головой.
Душелов; +1 Ответить
64. Elisy 948 27.12.10 06:15 Сейчас в теме
(61) Значит Steban объединяются с Душелов и пишут опровержение на статью "Новая версия 1С:Предприятие 8.2 конфликтует с C# и .Net framework". А то, получается, 20 человек поддерживают, а у 2х человек аргументов не хватает, начинают на личности переходить.
68. Elisy 948 27.12.10 10:20 Сейчас в теме
(68) Для меня достаточно контраргументов (38) и ответа от 1С. Засим и разойдемся.
71. steban 73 27.12.10 12:20 Сейчас в теме
(68)Блин, опять одно нытьё :(

Vista sp2 32-бит, 1c 8.2.13.202, .NET Framework 4, UAC включен - 1с при загрузке компоненты не виснет и managed-код выполняется.
Win7 64-бит, 1c 8.2.13.202, .NET Framework 4, UAC включен - 1с при загрузке компоненты не виснет и managed-код выполняется.
72. Elisy 948 27.12.10 12:44 Сейчас в теме
(71) Ты думаешь, я тебе не доверяю? Я верю тебе, что у тебя работает. Я верю cool.vlad4. Но твое решение постоянно(не временами) виснет у меня на машине также, как и мое. Ты можешь сейчас гарантировать стабильность такого решения всем разработчикам? Я нет. Допускаю, что влиять могут другие программы, вроде, антивируса на моей машине. Но как выявить, пока себе не представляю. По возможности при проверке все их отключил. При этом пример без опции CLR работает нормально - не зависает.
73. steban 73 27.12.10 12:59 Сейчас в теме
Elisy пишет:
Но как выявить, пока себе не представляю.

Ну! Давай! осталось сделать маленький шажок - попросить у меня исходники.
74. cool.vlad4 2 27.12.10 13:06 Сейчас в теме
(73) Я прошу :D хочется же узнать в чем причина этого загадочного зависания, вдруг это заразно и у меня начнет виснуть :D
75. Elisy 948 27.12.10 13:14 Сейчас в теме
(73) Steban, мне не нужны твои исходники и не были нужны. Повторяю, твое решение у меня на машине не работает.
76. steban 73 27.12.10 13:20 Сейчас в теме
(75)но ведь хочется понять почему именно не работает?
77. Elisy 948 27.12.10 13:29 Сейчас в теме
(76) Хочется, не спорю. Но хочется узнать у того, чье решение у меня стабильно выполняется. Твое решение у меня зависает. Могу дать удаленный доступ, чтобы ты сам удостоверился, чтобы закрыть эту тему.
78. Ish_2 1104 27.12.10 14:49 Сейчас в теме
(76) ОФФ.Может быть, выяснить всё спокойно , без перехода на личности ?
79. Elisy 948 28.12.10 06:21 Сейчас в теме
(78) Полностью поддерживаю. Прошу прощения, если кого-то непреднамеренно обидел своими высказываниями. Честное слово, никого обидеть не хотел и старался не переходить на личности.
80. awk 741 13.01.11 12:26 Сейчас в теме
Не привык пакостить исподтишка. Так что минус обосную:

1С решает определенный круг задач. И в описание этого круга задач поддержка .net не входит. Есть некий интерфейс позволяющий расширить круг задач, но это уже не к 1С, а к тем, кто расширяет. NativeAPI - достаточен для расширения, кроссплатформенный и хорошо документирован.
81. Elisy 948 13.01.11 13:10 Сейчас в теме
awk пишет:
1С решает определенный круг задач. И в описание этого круга задач поддержка .net не входит.

Какой бы круг задач не решала 1С, ее функционал очень ограничен и во многих задачах требует расширения другими средствами. Чисто прагматически 1С только выиграет, если будет дружно работать с .Net/Java и др. популярными платформами.
awk пишет:
Есть некий интерфейс позволяющий расширить круг задач, но это уже не к 1С, а к тем, кто расширяет. NativeAPI - достаточен для расширения, кроссплатформенный и хорошо документирован.

Наверное, мы с вами с разным NativeAPI работаем.
NativeAPI мне показался ущербным по сравнению с COM ВК, так как не поддерживает IDispatch (или схожего метода доступа) и доступ к глобальному контексту через AppDispatch. И можно ссылку на хорошую документацию по использованию в MS IE, где был бы описан загадочный интерфейс IAddInServiceEx? Похоже продуманность и кроссплатформенность NativeAPI закончилась с поддержкой IE, где доступ осуществляется все через тот же одноплатформенный COM.
82. cool.vlad4 2 13.01.11 13:13 Сейчас в теме
Насчет документации (81) поддерживаю - было бы очень хорошо awk, если бы вы выложили ссылки...я бы плюс поставил...
ЗЫ А к кому обращатся по поводу мелких недочетов на сайте? К support-у? - 1. При ошибочной ссылке на самого себя (например (81) ), после изменения оной ошибки - внизу ссылка так и остается (82) к примеру. 2. При добавлении цитат в комментарий, не отображается поле ссылок на ответы к комментарию. Это все мелочи, но просто, если уж есть такие фичи, то пускай без багов.
83. Alraune 1502 13.01.11 13:20 Сейчас в теме
84. japopov 68 24.02.12 19:19 Сейчас в теме
а вот никто не подумал, что поддержки .Net нет и быть не может, исходя из самой концепции управляемого приложения? Вот что априори знает сервер 1С о клиенте? Да неизвестно даже, на какой оси он крутится, в каком режиме работает! А любители .Net, покажите мне, как можно создать программу, которая, выполняясь на сервере, найдёт ваш .Net на клиенте (ага, на веб-клиенте, на линуксе, или, что уж там - давайте уж сразу на MeeGo).
Или вы хотите выполнять код на сервере и кидать на клиент результат? Тогда вам нужен VNC, а не 1С.
или вы хотите выполнять код на клиенте, с прямым доступом к ресурсам компьютера? Тогда вам с 1С вообще не по пути, используйте 1Сv77.
85. Elisy 948 27.02.12 07:38 Сейчас в теме
(84) japopov,
а вот никто не подумал, что поддержки .Net нет и быть не может, исходя из самой концепции управляемого приложения? Вот что априори знает сервер 1С о клиенте? Да неизвестно даже, на какой оси он крутится, в каком режиме работает! А любители .Net, покажите мне, как можно создать программу, которая, выполняясь на сервере, найдёт ваш .Net на клиенте (ага, на веб-клиенте, на линуксе, или, что уж там - давайте уж сразу на MeeGo).

Можно много рассуждать о теории и универсальности. Но сейчас на практике сервер и клиенты традиционно на Windows. И намного качественнее охватить эти 95% клиентов, чем делать непротестированные в должной мере сообществом решения на все случаи жизни и разные ОС.
Или вы хотите выполнять код на сервере и кидать на клиент результат? Тогда вам нужен VNC, а не 1С.
или вы хотите выполнять код на клиенте, с прямым доступом к ресурсам компьютера? Тогда вам с 1С вообще не по пути, используйте 1Сv77.

Ничто не помешает обмениваться клиенту .Net с .Net-сервером через простые объекты или строковые сериализации. Также, как и сейчас обменивается клиент и сервер через вызов серверных функций и процедур. Достоинство 1С в том, что оно в первую очередь десктопное приложение с прямым и тем самым более быстрым доступок к ресурсам компьютера.
86. japopov 68 27.02.12 13:29 Сейчас в теме
(85) Невозможность использовать .Net и вообще OLE, ActiveX - это следствие выбранной реализации (управляемое приложение, а точнее, его самая универсальная реализация - тонкий клиент). Увы, искать обходные решения (это не так уж сложно, я же нахожу %) ).

И таки да, для Вас будет сюрпризом - 1С уже давно постепенно отказывается от поддержки именно Microsoft в сторону большей универсальности. Вы просто не успеваете за 1С...
87. Elisy 948 27.02.12 16:37 Сейчас в теме
(86) japopov, все находят обходные решения. Статья говорит о том, что 1С некорректно работает с CLR С++ -приложениями и не более того. Все попытки связаться с разработчиками компании 1С закончились простыми отписками.
То, что делает 1С, может не идти с традиционным распространенным подходом и 1С будет вынуждена считаться с этим. Так, например, не убрала поддержку внешних компонент, написанных для 1С 8.1 или оставила работу с КОМ-объектами.
88. Magister 134 28.02.12 02:59 Сейчас в теме
(85) У нас вот сервер под Linux + PostgreSQL, например. Клиенты - да, под Windows.

(87) А смысл убирать то, что работает? Только вот, если таки будет в 8.2.16 полноценная платформа под Linux - там уж точно не будет ни COM-объектов, ни внешних компонент 7.7/8.0/8.1-style.
И думается мне, что немало организаций тогда выберет Linux для рабочих мест пользователей, как минимум из-за более высокой защищенности от вирусов и бесплатности.

А отписки - как раз очень хорошо свидетельствуют о том, что для 1С поддержка CLR - это не приоритетная задача. Не работает, ну и фиг с ним. Не нужно. По крайней мере, судя по вашим словам, так оно и есть с точки зрения 1С.
И нам с вами придется с этим считаться, либо уходить на другую платформу.
Я предпочту считаться. К тому же, кросс-плаформенность для приложений - это всегда плюс, как с точки зрения отлаженности софта (больше различных конфигураций для тестирования => большее количество выявленных багов), так и с точки зрения захвата рынка.
89. a_mironov 12.03.12 02:37 Сейчас в теме
Hello всем. Есть проблема зависания, тема тут вроде об этом идёт. Пишу вменяемый почтовый клиент (ВК 1с 8.2) для IMAP+SMTP+SSL+TLS на c#. Долго решал проблему (при первой отправке письма через ВК она не возникает, зато при второй - сразу висит намертво), в итоге выяснилось, что сразу после второго вызова метода отправки вызывается IInitDone.Done(). Пока копаюсь дальше. Будет результат - отпишусь. Есть мысли, что проблема в том, что у clr остаются ссылки на объекты 1С... копаюсь в общем
90. a_mironov 12.03.12 02:53 Сейчас в теме
(89) так и есть, проблема с методом GC.WaitForPendingFinalizers(). 1С запаздывает с освобождением памяти? Или что? В любом случае, очистку грехов вроде мусора пока оставляю на потом. Клиент ждёт ) найду решение, приемлемое для юзера и кодера - отпишусь тут. Кстати, чтобы ВК не висла при открытии, нужно записать нечто подобное (для c#)
public static object V8Object
{
get
{
return m_V8Object;
}
set
{
m_V8Object = value;
m_ErrorInfo = (IErrorLog) value;
m_AsyncEvent = (IAsyncEvent) value;
m_StatusLine = (IStatusLine) value;
m_IExtWndsSupport = (IExtWndsSupport)value;
}
}
91. Elisy 948 13.03.12 07:36 Сейчас в теме
(89) a_mironov,
Отлично, что есть еще одно подтверждение о зависании. А то стал думать, что только у меня такие проблемы, связанные с индивидуальными настройками системы. Ведь, судя по постам steban и cool.vlad4, у них зависания не происходит.
92. a_mironov 13.03.12 10:40 Сейчас в теме
всё это частные случаи. зависания связаны чаще всего с разницей в подходах к очищению мусора в 1С Технология внешних компонент (c++) и .net. вообще, я бы заколлекционировал случаи подвисания и поразбирался бы с ними. это дало бы ценнейший опыт. если висячая ВК?
93. Elisy 948 13.03.12 10:54 Сейчас в теме
(92) a_mironov,
Дальше, чем включение опции CLR в пример от 1С Технологии ВК дело не пошло. Уже на этом этапе было зависание.
Причем эксперименты с #pragma unmanaged тоже результатов особых не дали, насколько помню.
Сейчас пока не охота возвращаться к этой теме из-за того, что новая технология ВК менее гибкая, чем COM ВК (нет возможности работать с объектами, а только с примитивными типами).
94. a_mironov 13.03.12 10:56 Сейчас в теме
(93) ок, я посмотрю сабж в переписке. Есть исходники? Кинь в скайп promironov
95. Elisy 948 13.03.12 11:35 Сейчас в теме
(94) a_mironov,
Исходников не осталось - прошло больше года с начала изучения. Выслал переписку с компанией 1С по этому вопросу.
96. a_mironov 13.03.12 11:49 Сейчас в теме
начинаем глубокую тему изучения Native API :) на этой неделе делаю простенькую ВК, которая будет работать по этой технологии. будет результат - напишу статью. результата не будет - сделаем всеобщее обсуждение
97. TeMochkiN 19.03.12 11:47 Сейчас в теме
Здравствуйте уважаемый Elisy. я вот нашел ваш .net bridge и пытался воспользоваться обработкой отсюда http://infostart.ru/public/60232/
вообщем ошибка происходит аж при загрузке внешней компоненты. у меня Windows 7 x64, платформа 1С 8.2.14.537, конфигурация "Управление торговлей" 10.3.14.5 (демка, но и не только на демке ошибка происходит), устанавливал .net bridge от имени администратора, путь к библиотеке в самой обработке менял, .net bridge версии 4.0.3.1 качал отсюда. эта ошибка происходит из-за описанной в данной теме проблемы? никак подключить эту компоненту на данной платформе не удастся? хотел просто испробовать многопоточность в 1С, но вот столкнулся с данной проблемой
Оставьте свое сообщение