Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10  11   

Собираюсь писать ВК для 1С на C#

Ø [длинная ветка, 21.12.20 - 20:41]
Собираюсь писать ВК для 1С на C#
Я
   Гений 1С
 
11.12.20 - 19:44
Пример буду брать из "Технологии внешних ВК" на ИТС.
Вопрос такой - где брать платформу C# (IDE)?

По сути, мне надо обертку над DLL писать.
Раньше ее писал на VB6, но пора переходить на C#, у производителя оборудования пример на C#, кроме того нужна версия компоненты на 32 и 64 разряда.
   Гений 1С
 
1 - 11.12.20 - 19:44
Да, и если у меня используется тип Variant и массив Variant я могу использовать Native или только COM?
   Garykom
 
2 - 11.12.20 - 20:30
геня ты такой геня
   Garykom
 
3 - 11.12.20 - 20:32
на C#/.Net для 1С можно (легко и есть примеры) только COM ВК наваять
Native API ВК для 1С хрен на C# напишешь
   ПрестарелыйЗаяц
 
4 - 11.12.20 - 20:42
Тот случай, когда по названию топика узнал афтора.
   Гений 1С
 
5 - 11.12.20 - 20:44
(3) Для взять C#?
   Гений 1С
 
6 - 11.12.20 - 20:44
Где т.е.
   Малыш Джон
 
7 - 11.12.20 - 20:48
на торрентах же

P.S. Ограничения на советы по незаконному скачиванию здесь же только на 1С распростараняются? :)
   Garykom
 
8 - 11.12.20 - 20:55
(5) Чаго взять? VS она Community с инета качается, примеры C# ВК 1С тоже
   Гений 1С
 
9 - 11.12.20 - 20:55
(8) что такое Community? примеры я возьму с "Технологии ВК"
   Garykom
 
10 - 11.12.20 - 20:55
(9) ыыы
   ДНН
 
11 - 11.12.20 - 20:56
   Garykom
 
12 - 11.12.20 - 20:56
   Garykom
 
13 - 11.12.20 - 20:58
(11) имхается после этой ссылки ТС пропадет на месяц минимум ))
   Гений 1С
 
14 - 11.12.20 - 21:11
(11) там ссылка на VS 2019, а 2020 нету?
   TormozIT
 
15 - 11.12.20 - 21:58
Основной смысл в том, чтобы у каждого класса прописать атрибуты
    [ComVisible(true)]
    [ClassInterface(ClassInterfaceType.AutoDual)]
Тогда для него будет создана COM обертка.
Вот моя ВК по этой технологии
http://devtool1c.ucoz.ru/load/prochie/gold_parser_engine_net_iskhodniki/2-1-0-11
   Serginio1
 
16 - 11.12.20 - 22:01
Тут вопрос зачем тебе ВК?
1С поддерживает события, можно использовать их.
.NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия
http://catalog.mista.ru/1c/articles/417830/

В большинстве достаточно Ком объекта.
Если тебе нужно вызвать методы из существующей DLL опять же не надо ничего городить уже есть
Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент.
http://catalog.mista.ru/public/238584/

и
Использование классов .Net в 1С для новичков
http://catalog.mista.ru/1c/articles/448668/

Если тебе нужен контекст 1С из .Net то
Быстрое создание Внешних Компонент на C#. Примеры использования Глобального Контекста, IAsyncEvent, IExtWndsSupport, WinForms и WPF
http://catalog.mista.ru/1c/articles/457898/

Ну а если хочешь Native ВК
Net Core. Динамическая компиляция класса обертки для получения событий .Net объекта в 1С
http://catalog.mista.ru/1c/articles/548701/

Ну и ссылки
https://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802

Последняя студия 2019
   Ненавижу 1С
 
17 - 11.12.20 - 22:11
До слёз. Помнится ты его обсуждал. Как выяснилось - даже в глаза не видел.

Ждём интересных историй про c#
   DrZombi
 
18 - 11.12.20 - 22:39
(0) Скачайте Visual Studio 2019 для Windows "Community"
https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&rel=16

Потом регистрируешься и оно стает на халяву полноценной и на всегда :)

Там свой Си шарп составе :)
   DrZombi
 
19 - 11.12.20 - 22:39
Не заморачивайся, версия 2019 года поддерживает все что писано на 2015 или ранее... в общем типо не ищи старье :)
   DrZombi
 
20 - 11.12.20 - 22:40
+ и так же если выйдет 2021 версия, все тоже, берем ее... :)
   Serginio1
 
21 - 11.12.20 - 22:46
Только нужно учесть, что  последняя 2019 поддерживает .Net 5, .Net Standard 2.1
Моя скомпилирована еще под .Net Framework 4.6.1  и не поддерживает сборки выше.
   Serginio1
 
22 - 11.12.20 - 22:46
Просто перекомпилируй под нужную версию
   Кирпич
 
23 - 11.12.20 - 22:49
(0) Заказывай студенту сразу на С++ и не мути форум.
   Кирпич
 
24 - 11.12.20 - 22:54
+(23) Можно на паскале за пару часов сделать, но это не наш путь. Будем прям на мисте месяц херачить на сишарпе и потом распространять вместе с .NET. Пара сотен мегабайт в наше время это не много.
   DrZombi
 
25 - 11.12.20 - 22:57
(24) Поддерживаю. После не забываем делиться дистрибутивами, от меня спасибо :)
   Serginio1
 
26 - 11.12.20 - 23:03
(24) Ты уже отстал от жизни. Посмотри на докеры под линуксы с операционкой, средой .Net.
Да и хреначить то ничего не надо. Ему нужно готовые Dll использовать в 1С. А "NetObjectToIDispatch45" как раз для этого и сделано.
Ну еще можно свою Dll прикрутить для упрощения использования в 1С.
На паскале то их нет!
Так, что как говорится пилите Шура, пилите!!!
   Кирпич
 
27 - 11.12.20 - 23:06
(26) докеры то тут при чем
   Garykom
 
28 - 11.12.20 - 23:07
(27) тем более докер усё
   Кирпич
 
29 - 11.12.20 - 23:07
(26) А чо я отстал. Я наоборот в тренде. Я ж предлагаю на .NET пилить
   Кирпич
 
30 - 11.12.20 - 23:08
(28) а чо с ним?
 
 
   Кирпич
 
31 - 11.12.20 - 23:08
вроде работает
   Garykom
 
32 - 11.12.20 - 23:09
(31) так и ole еще работает, что не отменяет усё
   Кирпич
 
33 - 11.12.20 - 23:11
(32) чота ты загадками говоришь какими то
   Garykom
 
34 - 11.12.20 - 23:27
   Serginio1
 
35 - 11.12.20 - 23:34
(27) Я к тому, что .Net Core значительно экономичнее по ресурсам.
Для примера можно посмотреть на Blazor который грузит в районе 2 МБ. Правда код там Il код интерпретируется, но сам факт!
(34) Ну это просто развитие контейнеров. Суть то докера упрощение развертывания приложения. Во, что это будет упаковываться не суть
   Кирпич
 
36 - 11.12.20 - 23:39
(35) .NET великолепен! Но он для ВК нихера не подходит. Это факт.
   Garykom
 
37 - 11.12.20 - 23:40
(35) сама идея контейнеров выросла из дикого легаси софта, которое никто не собирается переписывать и к которому начали допиливать настроечно-управляющие интерфейсы
надо софт блин стандартизировать а не придумывать обертки в которые его засунуть
   Serginio1
 
38 - 11.12.20 - 23:41
(36) Почему? В чем факт. Сколько пользуюсь одни только премущества?
   Serginio1
 
39 - 11.12.20 - 23:42
(37) Угу еще и сделать оду Линукс и виртуализацию.
   Garykom
 
40 - 11.12.20 - 23:44
(39) Дык не линуксом единым
Вот глянуть например активити в андроиде, которые по дефолту имеют внешний управлящий их жизненным циклом интерфейс
И по дефолту в песочницах работают, кроме системных

Чем не замена докера?
   Serginio1
 
41 - 11.12.20 - 23:47
(40) Тем, что не используют андроид для тех же сайтов итд.
А линукс он очень легковесный и его можно собрать под определенные задачи.
   Serginio1
 
42 - 11.12.20 - 23:48
Сейчас MS как раз большую часть зарабатывают на облаках
   Garykom
 
43 - 11.12.20 - 23:48
(41) дык просто нужен специальный "андроид для серверов/сайтов" и все
и софт под него, нужных версий-совместимости, который изначально пишется с поддержкой внешнего управления и песочнизации
   Serginio1
 
44 - 11.12.20 - 23:50
(43) Вот когда его сделают, может и потянутся люди. А пока там даже проблема с явой.
Ну и свою фуксию на дарте пилят
   Garykom
 
45 - 11.12.20 - 23:52
(44) Судя по тому что гугл начал свою хромос сливать/интегрировать с андроид/гуглеплей и линуксом - фуксия пока в пролете
   Garykom
 
46 - 11.12.20 - 23:54
(45) Последние тренды это слияние декстопа с мобильными, вопрос что будет с серверами?
Подозреваю тоже сольются и будет "arm сервер на андроид 12" ))
   Serginio1
 
47 - 11.12.20 - 23:56
(0) Да через COM по барабану какая ось 32 и 64 разряда. если сборка скомпилирована под Any CPU.
(45) Для примера .Net в линуксе работает без посредников или через легковесные PInvoke, а Xamarin приходится делать более сложные мосты к JVM
   Конструктор1С
 
48 - 12.12.20 - 06:14
(0) если бы ты хотя бы раз писал на шарпе, то не задавал бы таких глупых вопросов
   DrZombi
 
49 - 12.12.20 - 11:06
(48) Вот начнет, и у него будут другие вопросы :)
   Гений 1С
 
50 - 12.12.20 - 12:24
(48) не писал, потому и спрашиваю. (49) именно
   Гений 1С
 
51 - 12.12.20 - 12:25
(47) а как указать сборку под Эни Цпу, и будет ли это поддержано в 1С
   Serginio1
 
52 - 12.12.20 - 13:43
   Serginio1
 
53 - 12.12.20 - 13:50
(51) 1C ничего не знает о Com просто система видит из какого процесса идет вызов и запускает нужную среду которая уже и джитит (компилирует) нужную сборку.
Хотя есть нюансы для выполнения кода в отдельно Dll суррогате. Но это другая песня
   Гений 1С
 
54 - 12.12.20 - 13:51
(17) я обсуждал не его. врожденное буквоедство тебе мешает это понять.
(16) да, мне нужна обертка над DLL, но в этой ВК названия методов должны совпадать с прошлыми. Чтобы просто заменить и все. Т.е. просто обертка наверное не взлетит.
   Гений 1С
 
55 - 12.12.20 - 13:54
Ах да, у поставщика оборудования демка по взаимодействию с оборудованием написана на C#, поэтому и юзаю C#, а не Паскаль. Там уже все линки к DLL прописаны.
   Serginio1
 
56 - 12.12.20 - 13:55
https://ru.stackoverflow.com/questions/1205995/как-собрать-x32-приложения-в-x64-системе-с

(54) Ну так и используй NetObjectToIDispatch45
Я её кстати делал, когда мне нужно было к Soap сервисами работать, а 1С не поддерживает хидеры и прочуюю лабуду.
Просто создав в студии классы для доступа к этому вэб сервису, все методы 1 в 1 вызывались из 1С через NetObjectToIDispatch45
А там было за сотню методов и классов
   Гений 1С
 
57 - 12.12.20 - 13:59
(56) как-то это неклассически использовать такой хитрожопый подход, но я посмотрю. Если учебной курвы хватит, то может и сделаю.
ты можешь на словах объяснить, чем это лучше обычной компиляции и в чем соль подхода?
   Garykom
 
58 - 12.12.20 - 14:01
(57) VS не надо ставить, достаточно Конфигуратора ))
   Гений 1С
 
59 - 12.12.20 - 14:02
(58) это как?
   Garykom
 
60 - 12.12.20 - 14:03
(56) Есть пример как через NetObjectToIDispatch45 использовать внешние dll на С/С++ ?
 
 
   Garykom
 
61 - 12.12.20 - 14:04
(59) Это примерно как через COM/OLE из одной базы 1С с другой базой 1С работать ))
   Serginio1
 
62 - 12.12.20 - 14:04
(57) Ты хоть попробуй. Так или иначе тебе все равно .Net и C# изучать придется. А так есть куча примеров.

Это лучше тем, что уже есть COM обертка над объектами.
А так для создания объекта, передача их в параметрах нужно городить ком обертки вручную!
Это конечно не касается примитивных типов
   Garykom
 
63 - 12.12.20 - 14:05
(61)+ Только на другом конце не 1С а .Net и все совершенно ниуя не понятно для обычного одинэсника
   Serginio1
 
64 - 12.12.20 - 14:07
(61) Напрямую нет. Хотя можно зная сигнатуру метода можно динамическу компиляцию подключить
http://catalog.mista.ru/1c/articles/466196/
   Serginio1
 
65 - 12.12.20 - 14:08
   Garykom
 
66 - 12.12.20 - 14:08
(64) (65) для гения это сильно сложно, не освоит
   ДНН
 
67 - 12.12.20 - 14:14
(64) Где-то читал что есть такая технология как .Net Native, которая из dll с управляемым кодом делает dll с машинным кодом. После этого она работает без .Net.
А нельзя написать ВК на C# по технологии Native API, потом через .Net Native сделать из нее dll с машинным кодом и подсунуть 1с?
   Garykom
 
68 - 12.12.20 - 14:17
(67) На практике нет
   Serginio1
 
69 - 12.12.20 - 14:20
(67) Все равно сборщик мусора есть. Но он небольшой.
Проблема .Net Native в том, что он только под 10 ку и хранится он по особому. Не нашел поддержки COM
   Serginio1
 
70 - 12.12.20 - 14:22
(67) Можешь написать ВК на C# по технологии Native API
http://catalog.mista.ru/1c/articles/534901/

Проблем нет. Только сейчас новый Апи
https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/netcore-hosting
Написание пользовательского хост-приложения NET Core для управления средой выполнения .NET из машинного кода

Пример
https://github.com/dotnet/samples/blob/master/core/hosting/HostWithHostFxr/src/NativeHost/nativehost.cpp
   acht
 
71 - 12.12.20 - 14:24
(67) Только для UWP приложений и только для Windows 10
   jbond
 
72 - 12.12.20 - 14:51
Еще одно подтверждение факта, что 1Сники это не программисты.
   Garykom
 
73 - 12.12.20 - 14:55
(72) это еще с фронтендерами не сталкивался (которые про nodejs не слыхали)
   Serginio1
 
74 - 12.12.20 - 14:56
70+ Если не нужна динамическая компиляция и прочее можно обрезать

Обрезка автономных развертываний и исполняемых файлов
https://docs.microsoft.com/ru-ru/dotnet/core/deploying/trim-self-contained
   Ненавижу 1С
 
75 - 12.12.20 - 15:11
(72) обидно, что судят обо всех по топик-стартеру
   Гений 1С
 
76 - 12.12.20 - 15:21
(75) на обиженных воду возят. расслабься, перекури
   Гений 1С
 
77 - 12.12.20 - 15:21
(72) а кто такие программисты, вот интересно твое мнение
   Кирпич
 
78 - 12.12.20 - 15:43
(77) Кто первый назвался программистом, тот и программист
   Кирпич
 
79 - 12.12.20 - 15:45
(77) А чо за железяка? Для чего ВК? Ты на инфостарте то поискал? Может там таких ВК куча.
   Гений 1С
 
80 - 12.12.20 - 15:47
(79) Дверной замок Anviz. Я - эксклюзивный разработчик. На инфостарте кое-что есть, но наколенное и бренное. Только я пишу на века. ;-)
   Кирпич
 
81 - 12.12.20 - 15:49
(75) там судья то сам нифига не авторитет в программировании, чтобы так плакать от его мнения.
   Гений 1С
 
82 - 12.12.20 - 15:50
(81) У Ненавижна ко мне личное. Как у Сольери к Моцарту. ;-) Люди всегда завидуют тем, кто чего-то добился. А чего добился ненавижн? Выплаченной ипотеки? тьфу...
   Гений 1С
 
83 - 12.12.20 - 15:51
(79) там новое SDK в 2020 вышло, нужно полностью методы переписывать. Китайцы тоже не придерживаются обратной совместимости.
   Garykom
 
84 - 12.12.20 - 15:55
(83) кинь ссылку на SDK
   Кирпич
 
85 - 12.12.20 - 15:56
(80) ёптыть. я думал там космический корабль.
   Кирпич
 
86 - 12.12.20 - 16:07
(80) полный интернет этого Anviz, а у тебя прям эксклюзив. может лет 10 назад был эксклюзив?
   Гений 1С
 
87 - 12.12.20 - 16:23
(86) дай примеры и я тебе объясню, что это не то. Уж поверь мне, брозер. Ты наверное смотришь дрова под сканер UBIO, а я про дверной замок. Там свои приколы, в нем хранится журнал проходов и на него хотят сливать отпечатки, снятые через UBIO, все это я умею делать.
   Гений 1С
 
88 - 12.12.20 - 16:23
(84) мне поставщик присылал, не знаю, где она в свободном доступе.
   Serginio1
 
89 - 12.12.20 - 16:24
(80) Кстати для асинхронного выполнения aync await есть выполнитель, если не хочешь синхронно Result или Wait вызывать
http://catalog.mista.ru/1c/articles/466052/
   Гений 1С
 
90 - 12.12.20 - 16:31
(89) мне в ВК не нужна обработка событий, там по сути чисто библиотека
   Garykom
 
91 - 12.12.20 - 16:35
Короче совет "гению", но вряд ли послушаешь.

Если это можно по функционалу железок то не надо делать никакие ВК для 1С.

Просто ваяешь внешнее приложение которое поднимает http сервер и общается с железкой.
А 1С по http банально запросами общается с этим внешним.

Ну или если нужны вызовы в 1С то http сервис в 1С поднимается и внешнее от железки его дергает.
   Гений 1С
 
92 - 12.12.20 - 16:38
(91) вряд ли послушаю, потому что смысл лепить еще одну прокладку? внешнее приложение тоже еще написать надо. Если бы производитель написал его сам, то ок. но он не чешется
   Garykom
 
93 - 12.12.20 - 16:39
(92) Дык используя то что есть от производителя и простейший шаблон http сервиса (коих в инете дофига на почти всех языках) это банально.
И нет привязки и разных глюков при написании ВК под 1С
   Garykom
 
94 - 12.12.20 - 16:40
(92) Твоя ВК это и есть "прокладка". В 1С отличная работа с http встроена в 8-ке что еще надо то?
   Garykom
 
95 - 12.12.20 - 16:45
(91)+ Получаем еще один плюс что железка не обязательно должна быть локально подключена там где 1С, можно железку воткнуть в апельсинку/малинку (или нечто вроде) а с 1С по сети, даже через инет.
   Serginio1
 
96 - 12.12.20 - 16:45
(90) Ну вообще то весь код на .Net асинхронный async await
Нет смысла висеть пока придет событие по await.
Я к тому, что изучи существующий код. На него потрачены годы!
Ты за время вопроса, что то хоть посмотрел? Попробовал?
   Кирпич
 
97 - 12.12.20 - 16:49
Чо вы блин распинаетесь. Не будет он ничо писать. Даст 2000р студенту и все дела.
   Ненавижу 1С
 
98 - 12.12.20 - 16:51
Вы сейчас насоветуете. Сказал же технология уникальная. А вы ему всю уникальность снимите
   Garykom
 
99 - 12.12.20 - 16:51
(97) студент сча не такой глупый пошел чтобы за 2000р вкалывать
когда есть куча других вариантов заработать больше и легче
   Garykom
 
100 - 12.12.20 - 16:51
100
  1  2  3  4  5  6  7  8  9  10  11   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.