|
v7: Не могу загрузить внешнюю компоненту в 1с7.7 | ☑ | ||
---|---|---|---|---|
0
victuan1
18.07.16
✎
15:23
|
При попытке загрузить внешнюю компоненту DKViki_1C8.dll из 1С 7.7 как COM-объект появляется ошибка:
<Неизвестная компонента> (отсутствует CLSID) Зарегистрировать компоненту через regsr32 также не получается: точка входа DllRegisterServer не найдена. Техподдержка по данной ВК отвечает: Мы не тестировали его работу в 7.7 и не заявляем его совместимость с ней. Но вы можете попробовать его работу с ней. Если компоненту получится у вас в вашу 1С загрузить, то значит и работать с ней сможете. Драйвер и dll выполнены по формату 1С Совместимо, все методы есть в документации к 1С - http://its.1c.ru/db/metod8dev/content/4829/hdoc/_top/1с%20совместимо |
|||
1
poligraf
18.07.16
✎
15:29
|
Вариант 1: права
Вариант 2: в техподдержку писать не про 77, а про regsvr32 с указанием версии Windows |
|||
2
victuan1
18.07.16
✎
15:59
|
1. Права Админские
2. Виндовс 7 32-битная |
|||
3
Зая Бусечка
18.07.16
✎
15:59
|
"1C8" как бы говорит. А код загрузки секретен?
|
|||
4
victuan1
18.07.16
✎
16:01
|
Код загрузки внешней компоненты?
|
|||
5
Ёпрст
18.07.16
✎
16:02
|
(0) есть же древняя вк у них, для клюшек. Возьми её
|
|||
6
victuan1
18.07.16
✎
16:04
|
(5) Она не умеет печатать QR-код!
|
|||
7
Ёпрст
18.07.16
✎
16:06
|
(6) тогда только пинать производителей касс или писать свою вк
|
|||
8
KODin1C
18.07.16
✎
16:08
|
Попробуй через ярлык от администратора: http://garayev.ru/kak-ispravit-oshibku-komponenta-v7plus-dll-ne-najdena/
|
|||
9
victuan1
18.07.16
✎
16:15
|
(7) первое и второе невозможно.
|
|||
10
victuan1
18.07.16
✎
16:21
|
(3)
ПрогИд = VikiP; Если ПодключитьВнешнююКомпоненту("AddIn." + ПрогИд) = 0 Тогда ОписаниеРезультата = "не удалось загрузить внешнюю компоненту """ + Компонента + """"; |
|||
11
Зая Бусечка
18.07.16
✎
16:22
|
(9) В этом мире невозможно только уничтожить Россию. Всё остальное - в руках людей.
|
|||
12
Зая Бусечка
18.07.16
✎
16:23
|
(10) " загрузить внешнюю компоненту DKViki_1C8.dll из 1С 7.7 как COM-объект"
и (10) не коррелируют ну совсем никак. |
|||
13
Serginio1
18.07.16
✎
16:28
|
А ты спроси у них может это Native ВК
|
|||
14
victuan1
18.07.16
✎
16:35
|
(12) Значит, я ошибся про "COM-объект". А если так:
Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда ? |
|||
15
victuan1
18.07.16
✎
16:43
|
(13) Спросил. Жду ответа.
В (0) содержится следующая информация: Оборудование подключается к системе с помощью драйвера, разработанного по технологии создания внешних компонент. Технология определяет интерфейс взаимодействия между платформой и драйвером. Реализация драйвера возможна по технологии создания внешних компонент с использованием стандартных компонентных объектов для Windows (COM-интерфейс) и собственной технологии фирмы 1С – NativeAPI (динамическая библиотека для Windows или Linux). С помощью технологии NativeAPI можно создавать внешние компоненты, которые могут подключаться как в клиентском приложении, так и на сервере "1С:Предприятия", в том числе и в версиях для Linux. |
|||
16
victuan1
18.07.16
✎
16:43
|
Что такое COM-интерфейс?
|
|||
17
Serginio1
18.07.16
✎
16:56
|
Это аналог ComОбъект Поддержка сом интерфейса ILanguageExtender
http://rsdn.ru/article/com/introcom.xml |
|||
18
victuan1
18.07.16
✎
17:03
|
А ПодключитьВнешнююКомпоненту/ЗагрузитьВнешнююКомпоненту это какой "интерфейс"?
|
|||
19
Serginio1
18.07.16
✎
17:13
|
ЗагрузитьВнешнююКомпоненту только в 1С
ПодключитьВнешнююКомпоненту там в зависимости от вызова. Там куча перегрузок |
|||
20
victuan1
18.07.16
✎
17:48
|
Ну и как быть?
|
|||
21
Зая Бусечка
18.07.16
✎
18:15
|
(20) Использовать ВК, предназначенную для 77
|
|||
22
Garykom
гуру
18.07.16
✎
18:16
|
Написать обертку 1С77 совместимую с перегрузкой методов
|
|||
23
victuan1
18.07.16
✎
18:17
|
А почему regsvr32 не работает?
Потому что Nativve API? |
|||
24
victuan1
18.07.16
✎
18:17
|
(22) И как ее писать? Я знаю только встроенный язык 1С 7.7
|
|||
25
NikVars
18.07.16
✎
18:19
|
(23) Винда какая?! Права какие?! Мало даешь инфо для детского "почему".
|
|||
26
NikVars
18.07.16
✎
18:19
|
||||
27
NikVars
18.07.16
✎
18:21
|
||||
28
victuan1
18.07.16
✎
18:21
|
(25) а (2) для кого было?
|
|||
29
NikVars
18.07.16
✎
18:22
|
(28) А (0) для кого?!
|
|||
30
victuan1
18.07.16
✎
18:23
|
(29) Для тех кто знает как решать подобную проблему.
|
|||
31
NikVars
18.07.16
✎
18:24
|
(29) Изначальная ошибка - 1С 7.7 не работает с ком.
См. Описание встроенного языка Глава 40 Связь с внешними приложениями посредством механизмов DDE и OLE Automation А говоришь, что знаешь язык 1С 7.7... |
|||
32
NikVars
18.07.16
✎
18:25
|
(31) --> (30)
|
|||
33
Зая Бусечка
18.07.16
✎
18:34
|
(31) Давно OLE перестало быть COM?
|
|||
34
NikVars
18.07.16
✎
18:37
|
(33) Если ты знаешь ответ на этот вопрос, то всегда сможешь запустить любой COM в среде 1С 7.7.
|
|||
35
Зая Бусечка
18.07.16
✎
18:40
|
(34) Абсолютно любой? Зуб даш на отсечение?
|
|||
36
Woldemar177
18.07.16
✎
18:45
|
Гы! У Заи есть мозги...
|
|||
37
Garykom
гуру
18.07.16
✎
18:46
|
(36) Но не факт что есть бюст
|
|||
38
victuan1
18.07.16
✎
18:48
|
(33) Верно. ОЛЕ это КОМ.
|
|||
39
victuan1
18.07.16
✎
18:49
|
Но поддерживает ли данная ВК ОЛЕ (или вообще КОМ)? Как выяснить?
|
|||
40
Woldemar177
18.07.16
✎
18:50
|
(37) Похъ на бюст - она все таки прогаммер похоже.
(38) Обратное утверждение верно? ЗЫ где золотые деньки когда я писал внешние компоненты и внешние процедуры для 1C и Firebird? |
|||
41
Garykom
гуру
18.07.16
✎
18:50
|
OLE 1 was built on DDE, which used windows messages to notify applications when source data changed, and typically passed data around by using HGLOBAL global memory handles.
OLE 2 was built on COM. |
|||
42
NikVars
18.07.16
✎
18:51
|
(39) Спроси у Заи, дай ей зуб. Она зубы собирает.
|
|||
43
Garykom
гуру
18.07.16
✎
18:51
|
COM is an language neutral, object-oriented component model and ABI based on DCE RPC. As an RPC system it supported remote calls between processes on the same machine, and later, with DCOM, on different machines. Initially COM was used as part of the architecture of MAPI (which uses the COM object model but not the COM registration services) before being formally launched on it's own as a general object model complete with registry and object activation and other services. (Monikers and structured storage for example).
|
|||
44
Garykom
гуру
18.07.16
✎
18:51
|
OLE Automation has nothing to do with OLE - it's a branding connection only. OLE Automation is a visual-basic compatible subset of COM which supports basic datatypes only (for example no unsigned integers or structs) but including objects (COM interfaces).
|
|||
45
Woldemar177
18.07.16
✎
18:52
|
(42) Хорошо если только зубы :-D
PS а ведь когда то еще и на ассемблере мог определять тип процессора... Писал такую прогу... |
|||
46
victuan1
18.07.16
✎
18:53
|
Ладно, я подожду.
|
|||
47
Смотрящий
18.07.16
✎
18:53
|
"точка входа DllRegisterServer не найдена" - выдется когда включен UAK.
Отключаешь УАК _Ребутаешься_ Регистрируешь компоненту через regsvr32 Включаешь УАК _Ребутаешься_ |
|||
48
Garykom
гуру
18.07.16
✎
18:53
|
OLE: This is a method of linking parts of one document to parts of another. For example, having a powerpoint slide with an Excel chart embedded into it. When the Excel spreadsheet is updated, the chart should update too. When you reopen Powerpoint, magically it has! (This example is a linked object). Embedded objects are the same only the excel spreadsheet doesn't exist in an external file, the data for the spreadsheet is contained within the powerpoint file.
|
|||
49
Garykom
гуру
18.07.16
✎
18:55
|
(47) Еще 64 бит может?
|
|||
50
Pit0n_08
18.07.16
✎
19:15
|
(0) Запускайте cmd от имени администратора и в ней выполняйте regsvr32.
|
|||
51
victuan1
19.07.16
✎
06:39
|
(27) Не подходит.
|
|||
52
victuan1
19.07.16
✎
06:44
|
(47), (50) Отключение UAC и использование md от имени администратора не помогло, та же ошибка: "точка входа DllRegisterServer не найдена"
|
|||
53
victuan1
19.07.16
✎
06:47
|
Я так понял, что пока не зарегистрирую DKViki_1C8.dll в системе, я не смогу ее загрузить в 1С 7.7. методом ЗагрузитьВнешнююКомпоненту или ПодключитьВнешнююКомпоенту.
Какие еще существуют способы загрузки ВК в 1с7.7, если ее не удается зарегистрировать в системе? |
|||
54
DrZombi
гуру
19.07.16
✎
06:47
|
Еще не предлагали использовать Джаву, что бы достучаться до Ком объекта? ;)
|
|||
55
DrZombi
гуру
19.07.16
✎
06:47
|
(53) Да зачем оно тебе, если там есть Ком объект?
|
|||
56
DrZombi
гуру
19.07.16
✎
06:47
|
1С 7.7 хорошо дружит с Джавой
|
|||
57
DrZombi
гуру
19.07.16
✎
06:48
|
+ Ява или как там её, я в ней не селен :)
|
|||
58
victuan1
19.07.16
✎
06:52
|
(55) Джава, Ком-объекты не мой профиль. Можете показать на примере, как загрузить данную ВК?
|
|||
59
victuan1
19.07.16
✎
06:52
|
(8) Также не помогло, та же ошибка: "точка входа DllRegisterServer не найдена"
|
|||
60
victuan1
19.07.16
✎
06:53
|
Можно ли вообще проверить, поддерживает ли данная ДЛЛ КОМ или ОЛЕ? Может она поддерживает только Native API.
Если это так, то в 1С 7.7 не получится ее использовать никак? |
|||
61
DrZombi
гуру
19.07.16
✎
06:53
|
(58) Побоку...
Держи, почитаешь, кода устанешь писать против ветра :) http://catalog.mista.ru/public/137091/ |
|||
62
victuan1
19.07.16
✎
06:56
|
Да, видимо, не моё...
|
|||
63
DrZombi
гуру
19.07.16
✎
07:00
|
... вот еще
https://sites.google.com/a/teamdev.com/comfyj-support/samples/comtojava/com-server-sample Там просто от сюдого v8: Из 1С вызвать Java программу. Возможно? |
|||
64
victuan1
19.07.16
✎
07:00
|
Если что, у меня 1с7.7
|
|||
65
victuan1
19.07.16
✎
07:02
|
(63) Слишком сложно, за 5 мин не освоишь.
|
|||
66
DrZombi
гуру
19.07.16
✎
07:07
|
http://catalog.mista.ru/public/238584/
За пять минут не освоишь, согласен. А ты уверен, что программист твое? Так то программист всегда учится, до старости :) |
|||
67
DrZombi
гуру
19.07.16
✎
07:10
|
||||
68
DrZombi
гуру
19.07.16
✎
07:29
|
А вот просто...
Jacob - вызов COM объекта http://rsdn.ru/forum/java/4858910.hot Как выполнить код на яве Пример на паузе, но тебе нужен вообще сам код, в качестве шаблона v7: как вставить паузу при пакетном проведении документов без ВК в цикле ? Пауза в программе Функция глПолучитьCOMОбъект(ИмяФайла="", ИмяКлассаCOM="") Экспорт ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ScrptCtrl.AddCode(" |Function GetCOMObject(StrFileName, StrClassName) | Set GetCOMObject = GetObject(StrFileName, StrClassName) |End Function |"); Возврат ScrptCtrl.Run("GetCOMObject",ИмяФайла, ИмяКлассаCOM); КонецФункции v7: COMSafeArray в 1С 7.7 или как быстро заполнить данные в Excel |
|||
69
victuan1
19.07.16
✎
07:29
|
(66) я одинэсник. С дельфями, паскалями, визуалбейсиками завязал. И обратно не тянет. А главное, нет времени, занял нишу, и на остальное ресурсов не осталось. Могу задачу вынести на аутсорсинг.
|
|||
70
DrZombi
гуру
19.07.16
✎
07:31
|
(69) Я программист. Просто 1С доминировало в све время, поэтому в большинстве я 1С-ник :)
|
|||
71
victuan1
19.07.16
✎
07:44
|
(68) Как узнать ИмяКлассаCOM для той чудо ВК?
|
|||
72
DrZombi
гуру
19.07.16
✎
07:50
|
(71) В описании. нет?
|
|||
73
DrZombi
гуру
19.07.16
✎
07:51
|
||||
74
victuan1
19.07.16
✎
07:51
|
(72) Описания нет вообще. Только info.xml и manifest.xml
|
|||
75
DrZombi
гуру
19.07.16
✎
07:52
|
(74) Немного погугли :)
|
|||
76
DrZombi
гуру
19.07.16
✎
07:53
|
(74) Ты где взял "DKViki_1C8.dll" ?
Он в составе какого продукта? |
|||
77
victuan1
19.07.16
✎
07:53
|
info.xml
<?xml version="1.0" encoding="UTF-8" ?> - <drivers> <component progid="AddIn.VikiP" type="ФискальныйРегистратор" name="ДРИМКАС: Фискальный Регистратор VikiPrint" /> </drivers> manifest.xml <?xml version="1.0" encoding="UTF-8" ?> - <bundle xmlns="http://v8.1c.ru/8.2/addin/bundle"> <component os="Windows" path="DKViki_1C8.dll" type="native" arch="i386" /> </bundle> |
|||
78
victuan1
19.07.16
✎
07:54
|
(76) В составе фискального регистратора https://dreamkas.ru/fiskalnye-registratory/
|
|||
79
victuan1
19.07.16
✎
07:56
|
||||
80
DrZombi
гуру
19.07.16
✎
07:58
|
||||
81
DrZombi
гуру
19.07.16
✎
08:00
|
(79) Слово COM, это COM-порт :)
|
|||
82
DrZombi
гуру
19.07.16
✎
08:01
|
Если только написать свой Ком объект с помощью ".net" :)
|
|||
83
victuan1
19.07.16
✎
08:03
|
(81) В заголовке упоминаются именно COM-объекты - "Интеграция с Viki Print через COM-объекты"
|
|||
84
DrZombi
гуру
19.07.16
✎
08:04
|
Как написать COM-объект для 1С на Visual Studio C# 2008
http://catalog.mista.ru/public/151246/ Пишется просто, по сути ".net" это текстовый файл, так что любой ".net" можно декомпилировать. Код у них открытый. И да, единственная сложность было зарегестрировать ".net" библиотеку. Т.к. эдя этого нужна программка Вот её придется поискать https://msdn.microsoft.com/ru-ru/library/tzat5yw6(v=vs.110).aspx |
|||
85
DrZombi
гуру
19.07.16
✎
08:04
|
(83) А по содержимому страницы, все об совсем другом :)
|
|||
86
DrZombi
гуру
19.07.16
✎
08:05
|
+(84) Она содержится в пакете установок.
Вопрос, только в каком :) |
|||
87
DrZombi
гуру
19.07.16
✎
08:06
|
+(84) Visual Studio C# 2008
Мастер почти все за тебя сам напишет. Но можно реально взять готовый пример на просторах сети |
|||
88
victuan1
19.07.16
✎
08:15
|
Кому интересно глянуть - выложил ВК сюда https://yadi.sk/d/3bkHdzwMtR7oA
(80) пропустил через DLL Export Viewer, получил кучу "exported function" и не одной "COM type libraries" Что делать дальше? |
|||
89
DrZombi
гуру
19.07.16
✎
08:16
|
(88) Да нет там ком объекта :)
Порыщи на их ресурсе другую библиотеку, может будет. |
|||
90
victuan1
19.07.16
✎
08:19
|
(89) Т.е. эту ВК никоим образом в 1С 7.7 запустить невозможно?
Другой библиотеки для моих задач (печать QR-кода) там нет. Есть еще эта http://help.dreamkas.ru/hc/ru/articles/207531879-Ручная-регистрация-компоненты-dll-для-старых-1С-УТ-10-3-Розница-1-0-и-т-д- но она не подходит, т.к. не печатает QR-код |
|||
91
DrZombi
гуру
19.07.16
✎
08:20
|
+ Офегительные инструкции по программированию :)
Еще раз их прочитал. Остается только одно, есть и написать свою ВК :) |
|||
92
DrZombi
гуру
19.07.16
✎
08:21
|
(90) Ты созвонился с продавцами?
Может они чего знаю по поводу подключения библиотеки к примеру к Delphi? |
|||
93
victuan1
19.07.16
✎
08:22
|
(92) Они ничего не знают. Наверное, им по заказу сделали эту длл, а связи с ее разработчиками нет.
|
|||
94
Serginio1
19.07.16
✎
08:25
|
(93) Попроси пример на 8 ке
|
|||
95
DrZombi
гуру
19.07.16
✎
08:26
|
||||
96
DrZombi
гуру
19.07.16
✎
08:27
|
+(95) Для толстого клиента :)
|
|||
97
DrZombi
гуру
19.07.16
✎
08:27
|
+ Драйвер лежит в макете.
|
|||
98
victuan1
19.07.16
✎
08:27
|
(95) Толку от этого примера нет в 1С7.7, т.к. она использует не эту технологию внешних компонент http://its.1c.ru/db/metod8dev/content/4829/hdoc/_top/1с%20совместимо
|
|||
99
DrZombi
гуру
19.07.16
✎
08:31
|
(98) Есть повод перейти на 8.х
|
|||
100
DrZombi
гуру
19.07.16
✎
08:32
|
Напиши свою ВК ;)
Инструкции расшифровки ком-а прописаны :) |
|||
101
DrZombi
гуру
19.07.16
✎
08:34
|
Только если уповать на то что подойдет Драйвер в обработке для УТ 10
http://help.dreamkas.ru/hc/ru/articles/207129575-1С-Viki-Print-новые-1С-на-управляемых-формах-например-УТ-11-Розница-2- |
|||
102
Смотрящий
19.07.16
✎
09:08
|
(52) Не ребутался значит
|
|||
103
victuan1
19.07.16
✎
09:15
|
Так каков диагноз?
Данную длл нельзя загрузить в 1С 7.7 никоим образом (COM/OLE/Java/Scripts)? Только писать другую ВК или переходить на 1С8? |
|||
104
victuan1
19.07.16
✎
09:17
|
(101) Я проверил старый драйвер, он не подходит, т.к. в нем нет поддержки печати QR-кода.
|
|||
105
DrZombi
гуру
19.07.16
✎
09:20
|
(104) Есть
|
|||
106
DrZombi
гуру
19.07.16
✎
09:21
|
(103) Купить новое оборудование с нормальной тех поддержкрй
|
|||
107
victuan1
19.07.16
✎
09:23
|
(106) Было уже приобретено 26 аппаратов, они фискализированы и в настоящий момент работают в 1С 7.7 со старым драйвером, в котором нет поддержки печати QR-кода.
|
|||
108
victuan1
19.07.16
✎
09:25
|
(105) Расшифруй свое "Есть". Мне техподдержка ответила следующее по поводу старого драйвера:
Данная компонента не поддерживает печать QR-кода. Это старый драйвер. Для 7.7 мы драйвер не актуализировали, но сделали его для конфигураций на 8.2 (Розница 1.0, УТ10.3). Драйвер во вложении, он не требует dll. Может его вы сможете адаптировать для вашей базы. Возможно, потребуется платформа 8.3. Он разработан в соответствии с методикой разработки компонент для торгового оборудования. |
|||
109
DrZombi
гуру
19.07.16
✎
09:30
|
(108) В УТ 10 есть такой момент. Подумал и в 7.7 должен быть.
|
|||
110
victuan1
19.07.16
✎
09:38
|
(109) Старый драйвер ни в 7.7 ни в УТ 10 печатать QR-код не будет.
Я правильно понял, поскольку в DKViki_1C8.dll нет ком-объектов, то его нельзя подключить в 1С 7.7 даже через OLE, джава и прочие извращения? Вообще никак нельзя, только если использовать 1С8 в качестве оле-сервера для управления драйвером? |
|||
111
victuan1
19.07.16
✎
09:41
|
или писать драйвер для отправки команд на COM-порт.
|
|||
112
DrZombi
гуру
19.07.16
✎
09:48
|
(111) Через ".net" особо не усердствуй. Чет он медленно робит :)
|
|||
113
DrZombi
гуру
19.07.16
✎
09:49
|
(110) Это к гуру лучше обратиться :)
Я все время только слышал, но ни разу не удалось подружить компонету 8.х с 7.7 :) |
|||
114
DrZombi
гуру
19.07.16
✎
09:49
|
+(112) Но вдруг у тебя зашустрит, либо скорости хватит.
|
|||
115
DrZombi
гуру
19.07.16
✎
09:51
|
+ Держи
Работа с последовательным (COM, RS-232) портом из 1С:Предприятие 7.7 и 8.0 Книга знаний: Работа с последовательным (COM, RS-232) портом из 1С:Предприятие 7.7 и 8.0 |
|||
116
victuan1
19.07.16
✎
09:51
|
(114) Для работы с ФР скорость не важна.
Я так понял ты предлагаешь мне написать новую ВК для работы в 1С 7.7? Меня пока интересуют способы за "5 минут" )) |
|||
117
DrZombi
гуру
19.07.16
✎
09:52
|
(116) Смотри в (115) и в самый низ. Там ссылки на Ромикса
|
|||
118
DrZombi
гуру
19.07.16
✎
09:53
|
Порыщи на его ресурсе, может чет еще полезного найдешь.
|
|||
119
DrZombi
гуру
19.07.16
✎
09:53
|
+(116) 5 минут? Увольняйся. Этот проект не поддается 5-ти минутам.
Мин. недельку. |
|||
120
Serginio1
19.07.16
✎
10:08
|
(112) Не знаю у кого чего там медленно, но работает там где другие не работают
Использование классов .Net в 1С для новичков |
|||
121
victuan1
19.07.16
✎
10:20
|
(119) Откуда увольняться-то ;)))
|
|||
122
NikVars
20.07.16
✎
11:20
|
(120) И как это все использовать для целей ТС?!
|
|||
123
Это_mike
20.07.16
✎
11:23
|
(122) обертка?
|
|||
124
NikVars
20.07.16
✎
11:26
|
(123) Ты код приведи. ТС его проверит.
|
|||
125
Это_mike
20.07.16
✎
11:28
|
(124) он не оплатит...
|
|||
126
DrZombi
гуру
20.07.16
✎
11:30
|
(122) Через .net можно просто накидать обработчик к Ком порту. И использовать это в качестве обертки :)
|
|||
127
NikVars
20.07.16
✎
11:32
|
(126) Угу. Можно. Один уже накидал... Да объяснить не может...
|
|||
128
DrZombi
гуру
20.07.16
✎
11:33
|
(124) Жадный один-есник. Ему 5 минут надо... А это где то = 166,6666667 рублей от 5-ти минут. С учетом, что его ставка 2000 час :)
|
|||
129
DrZombi
гуру
20.07.16
✎
11:37
|
(127) Чего там объяснять? Пишется там все на С#.
Используется для этого халява от "Visual Studio C# 2008" При этом знать С# особо не понадобится, если на просторах инета найти уже написанную библиотеку. Брать тут... http://catalog.mista.ru/public/161814/ Декомпелировать сею библиотеку и поправит. Она кривовато робит :) |
|||
130
Serginio1
20.07.16
✎
11:39
|
(127) Там есть обработки генерирующие текст модуля. Вводишь полное имя класса и если нужно путь к DLL
Например для 7 ки вводим System.IO.Ports.SerialPort и получаем Перем врап,ОберткаСобытий; Функция СоздатьОбертку(ОбертываемыйОбъект) ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C"); объект = СоздатьОбъект("AddIn.GlobalContext1C"); ГлобальныйКонтекст = объект.ГлобальныйКонтекст; ОберткаСобытий = врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); КонецФункции // СоздатьОбертку // Свойства ОберткаСобытий.ПоследняяОшибка //Событие:String Имя События в котором произошло исключение //Данные:object Параметры события //ИсключениеСобытия:Exception Ошибка произошедшая при вызове события Функция ОшибкаСобытия() ПоследняяОшибка=ОберткаСобытий.ПоследняяОшибка; Сообщить("Не обработано событие "+ПоследняяОшибка.Событие); Сообщить(Врап.ВСтроку(Шаблон("[ОберткаСобытий." + ПоследняяОшибка.Событие + "]"))); Сообщить("Ошибка"); Сообщить(врап.ВСтроку(ПоследняяОшибка.Исключение)) КонецФункции // Свойства ОберткаСобытий.ErrorReceived // sender:System.Object // e:System.IO.Ports.SerialErrorReceivedEventArgs Функция ErrorReceived() Сообщить("ErrorReceived "+Врап.ВСтроку(ОберткаСобытий.ErrorReceived)); КонецФункции // Свойства ОберткаСобытий.PinChanged // sender:System.Object // e:System.IO.Ports.SerialPinChangedEventArgs Функция PinChanged() Сообщить("PinChanged "+Врап.ВСтроку(ОберткаСобытий.PinChanged)); КонецФункции // Свойства ОберткаСобытий.DataReceived // sender:System.Object // e:System.IO.Ports.SerialDataReceivedEventArgs Функция DataReceived() Сообщить("DataReceived "+Врап.ВСтроку(ОберткаСобытий.DataReceived)); КонецФункции // Свойства ОберткаСобытий.Disposed // sender:System.Object // e:System.EventArgs Функция Disposed() Сообщить("Disposed "+Врап.ВСтроку(ОберткаСобытий.Disposed)); КонецФункции Процедура ПриОткрытии() врап=СоздатьОбъект("NetObjectToIDispatch45"); КонецПроцедуры // ПриОткрытии //====================================================================== Процедура ОбработкаВнешнегоСобытия(Источник, ИмяСобытия, Данные) Если Источник = "System_IO_Ports_SerialPort" Тогда Шаблон("[" + ИмяСобытия + "()]"); КонецЕсли; КонецПроцедуры // ОбработкаВнешнегоСобытия |
|||
131
Serginio1
20.07.16
✎
11:42
|
Ну а получить объект
Аналогично как и на 8 ке только там из-за разницы используемых типов нужно добавить врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); Все примеры есть Использование классов .Net в 1С для новичков |
|||
132
DrZombi
гуру
20.07.16
✎
11:42
|
(130) А "ОбработкаВнешнегоСобытия", как заставить робить в ".net"?
|
|||
133
NikVars
20.07.16
✎
11:44
|
(131) Имеем DKViki_1C8.dll которая прекрасно работает в 8-ке. Как ее прекрасную работу увидеть в 7-ке?
|
|||
134
DrZombi
гуру
20.07.16
✎
11:44
|
||||
135
Serginio1
20.07.16
✎
11:45
|
(132) Я пример привел.
Динамическая компиляция для использования .Net событий в 1С Там динамически компилируется обертка. Функция СоздатьОбертку(ОбертываемыйОбъект) ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C"); объект = СоздатьОбъект("AddIn.GlobalContext1C"); ГлобальныйКонтекст = объект.ГлобальныйКонтекст; ОберткаСобытий = врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); КонецФункции// СоздатьОбертку |
|||
136
Serginio1
20.07.16
✎
11:49
|
(133) Если это Native BK то нужно писать обертку. Ничего сложного, но время. Но если там только работа с COM портом то используй 130. В примерах есть пример работы с COM пором для 8 ки. Можешь посмотреть как он работает.
|
|||
137
DrZombi
гуру
20.07.16
✎
11:51
|
(136) А как обертку навоять?
У тебя есть примерчики, подсмотреть? Или статьи ? :) |
|||
138
NikVars
20.07.16
✎
11:51
|
(136) Я так понял, что это даже для тебя не 5 минут.
|
|||
139
DrZombi
гуру
20.07.16
✎
11:52
|
(138) 5 или 10, у Автора вообще хоть неделю пиши.
Либо контора платит отдельную денежку и большую. Либо автор сам разбирается и пишет свой блек-джек :) |
|||
140
DrZombi
гуру
20.07.16
✎
11:53
|
+(138) Альтернативы нет :)
|
|||
141
NikVars
20.07.16
✎
11:54
|
(136) Ты методу дай. Простую и надежную, как автомат Калашникова.
(139) Не-е-е-е-е, Serginio1 сказал, что любой это сделает и засыпет Инфостарт своими .Нетовскими поделками. |
|||
142
DrZombi
гуру
20.07.16
✎
11:55
|
(141) Не спугни. Человек хоть мне поможет :)
|
|||
143
Serginio1
20.07.16
✎
11:55
|
(138) Писать обертку над Native BK не пять минут.
А обертку над System.IO.Ports.SerialPort я написал. Только врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); sp= Врап.СоздатьОбъект("System.IO.Ports.SerialPort","COM" + НомерПорта); ПИ="System.IO.Ports."; sp.BaudRate= Врап.ToInt(9600); sp.Parity= Врап.ПолучитьТип(ПИ+"Parity").None; sp.StopBits= Врап.ПолучитьТип(ПИ+"StopBits").One; sp.DataBits= Врап.ToInt(8); sp.Handshake= Врап.ПолучитьТип(ПИ+"Handshake").None; СоздатьОбертку(sp); sp.Open(); |
|||
144
Serginio1
20.07.16
✎
11:57
|
(141) Ты для начала скажи, что тебе не понятно? И для какой версии 1С 7 ки или 8 ки?
|
|||
145
DrZombi
гуру
20.07.16
✎
11:58
|
(143) >>> Писать обертку над Native BK не пять минут.
У меня есть недели :) Подскажи, хоть куда смотреть? |
|||
146
DrZombi
гуру
20.07.16
✎
11:58
|
(144) Да ему нечего не надо. Он тебя троллит :)
Как написать обертку для Native BK, работающу под 1С 7.7? :) |
|||
147
NikVars
20.07.16
✎
11:59
|
(143) Ты сначала очерти круг компетенции, которым полезны твои изыски.
Имеем такой круг незнания: C (чуток), 1С наше все (но кишка слаба для сертификов), с трудом регим длл, путам теплое с мягким, но имеем желание разбираться. В остальном слышал слова, видел код и все... Теперь глянь свои навороты и скажи, как описанный мной перец поймет откуда там у тебя ноги растут и куда ты смотришь. |
|||
148
DrZombi
гуру
20.07.16
✎
12:00
|
(147) Быстрое ваяние Ком приложения для работы с теми же Весами, как в (134). Для работодателей халява тоже нужна.
|
|||
149
NikVars
20.07.16
✎
12:01
|
(148) Мне нужна метода! Тут методы нет. Есть частный подход.
|
|||
150
DrZombi
гуру
20.07.16
✎
12:01
|
При этом, если в (129) добавить код из (134)...
Тогда драйвера в (129) будут куда полезней :) |
|||
151
Serginio1
20.07.16
✎
12:02
|
(147) Что тебе непонятно в 130 и 147?
(146) Создаешь ВК на COM с реализацией ILangugeExtender а вот из неё уже вызываешь методы нативной ВК |
|||
152
DrZombi
гуру
20.07.16
✎
12:02
|
(149) Мне нужен просто частный код. Заставить работать то, что стоит неплохих денег у других разработчиков. :)
|
|||
153
Serginio1
20.07.16
✎
12:02
|
(149) Читай статьи.
|
|||
154
NikVars
20.07.16
✎
12:05
|
(153) Вот ты и слился. Пришел в аудиторию, которая ждет комиксов, сверкнул кодом и сказал "Читай статьи"...
|
|||
155
Serginio1
20.07.16
✎
12:06
|
(147) Я начал с того, что мне нужно было обратиться к сайту неподдерживаемым 1С. А там сотня классов и десятки методов.
На COM вручную замучаешься писать COM обертки. Поэтому сделал эту компоненту которая оборачивает объекты .Net через COM. Где это применять полно примеров. Там где из 1С нельзя выпольнить на чистом языке, но можно использовать библиотеки .Net или свои |
|||
156
Serginio1
20.07.16
✎
12:07
|
(154) А для чего я их пишу, что бы здесь всё повторять?
|
|||
157
Serginio1
20.07.16
✎
12:08
|
>> Я начал с того, что мне нужно было обратиться к сайту неподдерживаемым 1С.
Я начал с того, что мне нужно было обратиться к Вэб сервису неподдерживаемым 1С. |
|||
158
DrZombi
гуру
20.07.16
✎
12:18
|
Вызов native кода из C#. Маршалинг структур / Хабрахабр
https://habrahabr.ru/post/105232/ |
|||
159
DrZombi
гуру
20.07.16
✎
12:18
|
(154) Я не жду :)
|
|||
160
NikVars
20.07.16
✎
12:20
|
(155) Ок. Понятно. На практике получается, что затраченные усилия по решению разовой задачи не стоят этих усилий.
|
|||
161
DrZombi
гуру
20.07.16
✎
12:26
|
Использование C++ классов из native DLL в .NET C#
http://www.hardforum.ru/t71729/ Использование C++ классов из native DLL в .NET C# |
|||
162
Serginio1
20.07.16
✎
12:26
|
(160) На практике получилось, что таких задач куча. Особенно на 7 ке. И на 8 ке их тоже не мало.
Например 1C Messenger для отправки сообщений, файлов и обмена данными между пользователям .Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд http://catalog.mista.ru/public/434345/ |
|||
163
DrZombi
гуру
20.07.16
✎
12:26
|
||||
164
Serginio1
20.07.16
✎
12:30
|
(161) Там не все так просто смотри
https://github.com/Marqin/simpleCoreCLRHost/blob/master/Managed.cs Кроссплатформенное использование классов .Net в 1С через Native ВК. |
|||
165
DrZombi
гуру
20.07.16
✎
12:31
|
How to: Call Native DLLs from Managed Code Using PInvoke
https://msdn.microsoft.com/en-us/library/55d3thsc.aspx Что же. даже не плохо... Остается изучить в C# не весь я зык, а только ряд фукнций :) |
|||
166
DrZombi
гуру
20.07.16
✎
12:32
|
(164) Может быть. Но 7.7 меня интересует в последнюю очередь :)
Так, просто было любопытно, до какой степени вообще возможно :) |
|||
167
NikVars
20.07.16
✎
12:32
|
(162) Мессенджер, парсинг сайтов... Ты думаешь бухгалтер догадается все это использовать в 7.7 при сдаче отчетности?!
Нет. Это твоя попытка найти жизнь своим умениям и навыкам. |
|||
168
Serginio1
20.07.16
✎
12:33
|
(165) Только зачем тебе C# и натив?
Кроссплатформенное использование классов .Net в 1С через Native ВК. Я писал для использования .Net классов для линукса. А для решения задачи .Native API для 1С 7.7 достаточно С++ |
|||
169
NikVars
20.07.16
✎
12:34
|
(162) Напиши универсальную проверку контрольных соотношений для всех деклараций с чтением данных из доступных источников.
Это да, полезно. |
|||
170
Serginio1
20.07.16
✎
12:36
|
(167) Бухгалтеру много чего нужно поверь. Я использую на полную катушку.
(169) Если тебе полезно так возьми и напиши. Я даю инструмент. А вот использовать его это твоё личное дело. |
|||
171
DrZombi
гуру
20.07.16
✎
12:36
|
(168) И С++ или С#, для меня только зависит от возможности "Visual Studio C# 2008" и работы с .NET ;)
|
|||
172
Serginio1
20.07.16
✎
12:52
|
(171) Зачем тебе C# 2008 сейчас 2015 апдейт 3
Скачать можешь как бесплатно, так и |
|||
173
DrZombi
гуру
20.07.16
✎
13:03
|
(172) Да я так к примеру. для ТС писал. :)
|
|||
174
DrZombi
гуру
20.07.16
✎
13:12
|
(172) Кстати, вроде в какой-то версии нет компилятора для .NET. Я когда занимался этим, очень намучился в поисках сего приложения :)
|
|||
175
Serginio1
20.07.16
✎
14:14
|
(174) Компилятор то есть во всех. Есть различие в используемых .Net Framework языке (C# 6).
http://metanit.com/sharp/tutorial/ Сейчас актуальная 4.6.1 под неё сделана и моя компонента. |
|||
176
DrZombi
гуру
20.07.16
✎
14:32
|
(175) Вернее я про программку для регистрации DLL для .NET
|
|||
177
DrZombi
гуру
20.07.16
✎
14:34
|
+ Regasm.exe (средство регистрации сборок)
|
|||
178
Serginio1
20.07.16
✎
15:35
|
(175) У меня с компонентой идет РегистрацияКомСервера.exe
А для регстрации NetObjetToIDispatch45.dll идет RegAsm.bat |
|||
179
victuan1
04.08.16
✎
08:52
|
(0) Получил ответ от техподдержки по данной ВК:
"Эта dll является native api, как написано на сайте 1С. Эта библиотека не требует регистрации через regsvr32. К сожалению, мы пока драйвер для 7.7 не актуализировали и у меня нет информации, произойдет ли это." |
|||
180
NikVars
04.08.16
✎
09:25
|
(179) Перевожу их ответ: "Доработок в будущем по 7.7 не будет. Это нам не интересно."
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |