Имя: Пароль:
1C
1С v8
Кроссплатформенное использование классов .Net в 1С через Native ВК II
0 Serginio1
 
09.08.16
12:08
Это продолжение Кроссплатформенное использование классов .Net в 1С через Native ВК.
С того времени добавил поддержку методов с параметрами по умолчанию, вызов методов расширений, вывод типов для дженерик методов, поддержка объектов реализующих IDynamicMetaObjectProvider (ExpandoObject,DynamicObject), добавление синонимов к ченам типа и асинхронное программирование на 1С!

Я постарался максимально приблизить синтаксис C# в 1С. И по мне, так даже в таком виде проще писать ВК на C#, чем использовать Native API на C++. При этом можно интегрировать использование .Net классов в 1С. Добавляя синонимы можно писать все на кириллице. Можно добавить поддержку итераторов итд.

Сейчас на Windows много всяких ActiveX, кроме того не сложно и самим написать COM компонент на любом языке.
Но это не кроссплатформенно.

Используя .Net Core и данную обертку над объектами .Net в 1С можно значительно расширить возможности 1С используя огромное количество библиотек и классов в них находящихся. И сосредоточиться на разработку языка, наконец добавив замыкания, Linq, указание типа для intellisense (по аналогии с TypeScript). Разбиение модальных диалогов по аналогии с yeld и await в C#. А так же аналоги await для серверных вызовов с замыканиями.

Я понимаю, что данная разработка мало кому интересна. Но мне было интересно её разрабатывать. Кроме того будет интересна кто пробует .Net Core и использут Reflection

Статьи на инфостарте
http://catalog.mista.ru/public/541518/
http://catalog.mista.ru/public/541698/

На хабре
https://habrahabr.ru/post/307188/
https://habrahabr.ru/post/307360/

Исходники и библиотеки .Net Core здесь https://yadi.sk/d/jRSHEA19svgrn
1 Кирпич
 
09.08.16
12:10
Не читал, но осуждаю.
2 drcrasher
 
09.08.16
12:14
(0) а расскажи, как, например, сделать обёртку к unrar.dll?
3 Serginio1
 
09.08.16
12:15
4 Mauser
 
09.08.16
12:17
А почему первую тему бросил-то? Никто не читает, что-ли?
5 Serginio1
 
09.08.16
12:20
6 Garykom
 
гуру
09.08.16
12:20
О есть некое улучшение читабельности постов
7 Serginio1
 
09.08.16
12:21
(4) Ну количество просмотров на Инфостарте неплохое дляданной темы, а на мисте да мало интереса.
8 Serginio1
 
09.08.16
12:22
(6) Ну дык растем!
9 Звездец
 
09.08.16
12:36
Просто подзадоривал ты с этой темой немного, когда слазишь с ней в посты где она уместна и где нет. Вот и нарастает внутреннее отторжение как в (1). Хотя может в каких то ситуациях и было бы удобно(7)
10 drcrasher
 
09.08.16
12:37
(3)(4) в гугле не забанен, но хочется с минимальными усилиями получить нативку для 1с. при этом не ставить ни мвс, ни дельфу.
11 hhhh
 
09.08.16
12:38
(7) там больше простых пользователей, а здесь трезвомыслящие люди.
12 Serginio1
 
09.08.16
12:43
(10) Командная строка чем не устраивает?
https://www.google.ru/search?ie=UTF-8&hl=ru&q=C%23%20unrar.dll&gws_rd=ssl#newwindow=1&hl=ru&q=rar+командная+строка

(11) А в чем оно заключается? Практически большинство критиков соглашаются с тем, что если бы 1С интегрировала эту разработку, то они бы ей пользовались.
13 Garykom
 
гуру
09.08.16
12:47
(10) Вместо unrar.dll использую http://www.7-zip.org/a/lzma1602.7z, ЧЯДНТ?
14 trdm
 
09.08.16
12:55
Правильно на хабре сказали насчет латиницы/кирилицы. на одни переключениях можно возненавидеть данную идею.
15 Serginio1
 
09.08.16
12:56
(14) Если бы прочитал статью, то увидел бы, что можно добавлять синонимы.

Стр=ъ(Клиент.GetStringAsync(uriSources)).Result;

И напомню про синонимы из предыдущей статьи/ Так добавив синоним

Врап.ДобавитьСиноним(HTTPClient.ПолучитьСсылку(),"ПолучитьСтроку","GetStringAsync");
Врап.ДобавитьСиноним(Task.ПолучитьСсылку(),"Результат","Result");

Я могу использовать все на русском

Стр=ъ(Клиент.ПолучитьСтроку(адрес)).Результат;
16 Serginio1
 
09.08.16
12:58
Для часто используемых типов можно написать синонимы. Это несложно.
17 Serginio1
 
09.08.16
13:01
(14) Но почему ты не нгодуешь по поводу COMОбъект,ОбъектXDTO, WSОпределение итд.
Я привык и меня это абсолютно не напрягает. При это мне ближе
Post вместо ОтправитьДляОбработки. И понтнее и короче.
18 PRO100 NigGaZ
 
09.08.16
13:44
А давайте весь исполняемый код перенесем в #, и а 1с пусть интерфейсы рисует )
19 Serginio1
 
09.08.16
13:57
(18) Все нужно делать постепенно. Сначала 1С ники должны привыкнуть к .Net. А то они от него бегут как черт от ладана.
Ошибка? Это не ошибка, это системная функция.