Вход | Регистрация

  1  2  3  4   

.Net Core, обмен с 1C по TCP/IP между различными устройствами

.Net Core, обмен с 1C по TCP/IP между различными устройствами
Я
   Serginio1
 
28.09.16 - 12:10
Выложил статьи
http://catalog.mista.ru/public/551698/
https://habrahabr.ru/post/311128/
Примеры можно скачать здесь https://yadi.sk/d/jRSHEA19svgrn

Решил написать кроссплатформенное решение из своего опыта 8 летней давности для обмена данными по TCP/IP между ТСД на Win CE и 1С еще 7-ки. Конечно, с 1С можно обмениваться через Web и HTTP-сервисы, но есть задачи, где нужно взаимодействие с оператором для выбора данных, брать данные, подготовленные на клиенте, печать на мобильный принтер.

    Основные проблемы связаны с сетями с плохим соединением на складах. Поэтому, нужно было уменьшить трафик за счет сжатия данных. Так, при работе в терминальных сессиях были проблемы с проброской портов в медленных сетях — Тормозит печать чека на фискальный регистратор через RDP.

    Также были проблемы при считывании двумерного штрихкода. Медленная печать с терминального сервера. Для решения этих проблем на машине клиента устанавливалась локальная 1С, которая работала как клиент и сервер. Данные со сканеров отправлялись на терминальный сервер и там обрабатывались. Для печати на фискальный регистратор отправлялись данные с сервера по TCP/IP, и с локальной 1С печатался чек. При печати этикеток с сервера оправлялись данные, на основании которых на локальной 1С формировался документ и отправлялся на печать.

    Кроме того, под многое оборудование для Linux нет драйверов. Можно, используя виртуализацию, держать Linux и Windows на одной машине, на Windows считывать данные и обмениваться с Linux по TCP/IP.

    Сейчас много у кого есть ТСД под WinCe, WinMo (недавно предлагали работу по настройке обмена на них). Кроме того, можно использовать ТСД на других осях, используя UWP и Xamarin.

    Кроме того, можно обмениваться сообщениями между клиентами 1С, наподобие чата.
   В большом .Net я часто использую обмен по TCp/IP
http://catalog.mista.ru/public/238584/
http://catalog.mista.ru/public/525806/
 
 
   Garykom
 
101 - 28.09.16 - 18:05
(100)+ Сча вот хочу сделать чтобы в телеграм звонок в дверь поступал с фото/видео что за дверью и там кнопка/клавиатура сразу открыть телеграмовская
   Loky9
 
102 - 28.09.16 - 18:12
Между прочим, Гимп легко скриптуется.
   Loky9
 
103 - 28.09.16 - 18:15
(55) Сугубо от безысходности.
   trdm
 
104 - 28.09.16 - 18:18
(96) > зачем воротить, если всё давно наворочено

Я принципиальный противник пиндосского и завязаного на пиндоских технологиях ПО.
Опенсурс, не использующий высеры мелкософта рулит.
   Кирпич
 
105 - 28.09.16 - 18:54
Недавно права менял. Ходил к психиатру за справкой. Долго сидел в очереди вместе с дураками. В больнице был  wi-fi.
   Garykom
 
106 - 28.09.16 - 18:57
(105) А поподробнее?
   Кирпич
 
107 - 28.09.16 - 18:59
(101)телеграм тема интересная. Я делал бота для саморазвития. Он мне картинку с вебкамеры посылает. Можно всякие такие хотелки для 1с делать.
   Loky9
 
108 - 28.09.16 - 19:11
(106) Какой-то док припёр вайфай а тут понабежали поциенты.
   Serginio1
 
109 - 28.09.16 - 20:49
(108) Главное в тему! Обмен по TCP/IP используя Wi-Fi в медленных сетях с дураками.
   Loky9
 
110 - 28.09.16 - 20:58
(109) Мне кажется, тема с TCP/IP твою идею не вытянет.
 
 Рекламное место пустует
   Torquader
 
111 - 28.09.16 - 23:00
(110) Просто TCP в общем виде - это писать свой протокол или брать готовый типа ModBus-овских расширений.
Опять же - работа в режиме "точка-сеть" требует UDP и достаточно внимательной работы на низком уровне, так как не все роутеры эти пакеты правильно доставляют.
А в режиме "точка-точка" всё уже реализовано - берётся любой аналог telnet и всё.
   Serginio1
 
112 - 28.09.16 - 23:08
(110) Моя идея расширение возможностей 1С от кроссплатформенного использования .Net Core, зависит и от TCP/IP и еще сотни тысяч классов. Используй какой хочешь.

Просто по Tcp/IP удобно общаться как с ТСД, терминальными серверами по VPN, между клиентами итд. Это просто пример из моего опыта. Кому нужно тот использует. В том числе для изучения .Net Core.
  
  Я давно понял, что в большинстве это расширение не нужно .
Кто что хочет от 1С

В том числе и самой 1С. Да мне это непонятно, но такова жизнь. Значит я глуп. Но вот бросать помирать своё детище я не могу. Поэтому пока ещё цепляюсь.
   Loky9
 
113 - 28.09.16 - 23:22
(112) "— Что же из этого следует?— Следует жить,
шить сарафаны и легкие платья из ситца.
— Вы полагаете, все это будет носиться?
— Я полагаю,что все это следует шить."

Бог помощь, как говорится, но удерживаться от выражения своего отношения к .NET Яве и "веб-технологиям" я особо не буду.
   Serginio1
 
114 - 28.09.16 - 23:34
У нас никто никого не удерживает. Все технологии прекрасно живут и совершенствуются. Но если ты не хочешь их использовать, то ты просто обедняешь самого себя. Только и всего. А технологиям наплевать на чьё то мнение, они развиваются. Это эволюция. Иначе развития не будет. А вот 1С развивается не особо быстрыми темпами.
   trdm
 
115 - 29.09.16 - 07:50
(112) Это слишком низкоуровнево для 1С-ников. Не для всех, но для большинства.
   Loky9
 
116 - 29.09.16 - 07:58
(114) Эти технологии уже давно стыли бы историей, а то и вообще не появились бы без благословлённых маркетолухами финвливаний.
   Mauser
 
117 - 29.09.16 - 08:00
(114)
>Но если ты не хочешь их использовать,
> то ты просто обедняешь самого себя

У тебя во многих статьях и комиентарияз прослеживается один и тот же "полемический" прием. Нейтрально-положительная вода, потом твое утверждение, зачастую взятое с потолка, и снова нейтрально-положительная вода. Ты осознано это делаешь, чтобы задать тон, или это образ мышления такой?
Эдакий "бутерброд Гитлера" наизнанку.
   Serginio1
 
118 - 29.09.16 - 10:05
(115) Это ничем не низкоуровнее COMОбъект или ОбъектXDTO
Пробдема только в поддержке 1С
(116) Дело в том, что эти технологии упрощают программирование сложных задач. Только и всего.

(117) Ты сам то понял, что написал?
   Кирпич
 
119 - 29.09.16 - 10:19
(115) Это не низкоуровнево. Это просто не нужно, а если нужно, то очень редко и может решаться любым другим способом.
   Serginio1
 
120 - 29.09.16 - 10:26
(119) И чем это отличается от COMОбъект или ОбъектXDTO?
При этом  у этих объектов есть ограничения на типы используемых объектов.
У моей обертки этих ограничений нет. Ты пишешь не Com совместимый класс, а обычный класс. Но можно ничего своего и не писать, так как уже есть куча библиотек.
   Кирпич
 
121 - 29.09.16 - 10:26
+(119) т.е. теоретически может появиться ещё какой нибудь красноглазик, который начнет накидывать на мисту про "технологию" на Python или Java или ещё какую нибудь хрень.
   Serginio1
 
122 - 29.09.16 - 10:28
(121) А какая разница? Есть задача используй классы Python или Java. Ты же на COM можешь использовать объект написанный на любом языке, платформе
   Кирпич
 
123 - 29.09.16 - 10:38
(122) "Есть задача используй классы Python или Java" так все же пользуются молча и не имеют проблем. Ты же зачем то загадил мисту своими ветками. Засоряешь мозги юным дарованиям и раздражаешь прочих. Если ты таким образом себя рекламируешь, подбирая клиентов среди тупых и безруких, то я понимаю. А если ты реально хочешь, чтобы твои обертки с кракозяблами широко использовались одинесниками, то я кручу тебе пальцем у виска.
   Serginio1
 
124 - 29.09.16 - 10:54
(123) Они используются наравне с кракозяблами  с ComОбъект и ОбъектXDTO. Просто ты об этом не знаешь.
Опять же если тебе это не нужно, то не читай. Я никого не заставляю засорять мозги. Читай про другое.
   oleg_km
 
125 - 29.09.16 - 10:54
(119) Да вот во многих случаях нафик не нужны "любым другим способом.". Всего лишь один раз прикручиваешь эту обертку к 1С и уже больше не волнуют поиски этих других способов. Просто берешь и программируешь, а не зависаешь сутками на ИС в поисках "любым другим способом."
   Serginio1
 
126 - 29.09.16 - 11:02
(125) Проблема то на самом деле только в одном. Нет поддержки со стороны 1С. А так бы все пользовались наравне  ComОбъект и ОбъектXDTO.

И Кирпич это несколько раз поддерживал. Просто брать непонятно чью разработку и использовать её немногие решаются.

Но 1С это не нужно, как и кроссплатформенная замена COM.
Почему? Не знаю? Может у них нет специалистов по .Net?
   Кирпич
 
127 - 29.09.16 - 11:03
(125) "Просто берешь и программируешь" мягко сказано. Сначала просто берешь и программируешь на C# и отлаживаешь. Потом все это переписываешь на русскосишарпскую лабуду в 1С. Ну очень просто.
   Кирпич
 
128 - 29.09.16 - 11:10
(126) "Может у них нет специалистов по .Net?" :)))
специалистов .Net как собак нерезаных.
"Нет поддержки со стороны 1С". Так и не будет.
Просто чтобы было красиво как с COM, нужно чтобы либо в 1C использовались типы .NET, либо в .NET все было на динамической типизации. И того и другого не будет.
   Serginio1
 
129 - 29.09.16 - 11:12
(127) Необязательно. Ты COM компонент так же используешь.
Можешь написать под себя, можешь использовть динамическую компиляция, а можешь использовать готовые компоненты. Например для парсига сайта http://catalog.mista.ru/public/466196/

Выбирай свой путь.

(128) Еще раз использвание классов .Net не сложнее использования COM и Вэб сервисов. Те же типы (классы), пространства имен, методы.
Если ты этого не видишь, то ....
   Кирпич
 
130 - 29.09.16 - 11:17
(129) динамическая компиляция решает все проблемы. ВК, которая может выполнить код C# у меня была еще года три назад. остальные твои фантики глупое насилие над собственными пальцами.
   Serginio1
 
131 - 29.09.16 - 11:23
(130) CodeDom был давно, а вот Roslyn недавно. Кроме того твоя компонента не кроссплатформенна в отличие от моей.
Еще раз я предлагаю кроссплатформенную замену COM.
Ты говоришь, что это не нужно. Я в недоумении.
Опять же твоя ВК может работать с простыми типами. В моей Com обертке я могу динамически компилировать  и использовать любые типы, в том числе и объеты 1С. Например
   Serginio1
 
132 - 29.09.16 - 11:25
str = "public class ВычислительAngleSharp
    |{
     |public  static void ЗаполнитьТз(dynamic ТЗ)
     |   {
     |
     |
     |       var config = Configuration.Default.WithDefaultLoader();

     |       // Устанавливаем адрес страницы сайта
     |       var address = ""https://en.wikipedia.org/wiki/List_of_The_Big_Bang_Theory_episodes"";;
     |       // загружаем страницу и разбираем её
     |       var document = BrowsingContext.New(config).OpenAsync(address).Result;
     |       // Используем CSS селектор для получения строк таблицы с классом  и выбрать из этой строки 3 колонку
     |       var rowSelector = ""tr.vevent"";
     |       var Строки = document.QuerySelectorAll<IHtmlTableRowElement>(rowSelector);
     |       foreach (var str in Строки)
     |       {
     |           dynamic стрТз = ТЗ.Добавить();
     |           var ячейки = str.Cells;
     |           for (int i = 0; i < Math.Min(ячейки.Length, 8); i++)
     |           {
     |
     |               стрТз.Установить(i, ячейки[i].TextContent);
     |
     |           }
     |
     |
     |       }
     |
     |   }
    |}
|
|return  new Action<dynamic>(ВычислительAngleSharp.ЗаполнитьТз);";

            Каталог=Врап.ПолучитьТип("System.AppDomain").CurrentDomain.BaseDirectory;
            КаталогGAC = Path.GetDirectoryName(Врап.ТипКакОбъект(string).Assembly.Location);
            
            ПутьКДлл="d:\Vs2015Programs\ScriptApiDlls\ScriptApiDlls\bin\Debug\";
            КлассДляВычесленияВыражений=Врап.ПолучитьТипИзСборки("ScriptApiDlls.КлассДляВычесленияВыражений",ПутьКДлл+"ScriptApiDlls.dll");
           
            Опции=КлассДляВычесленияВыражений.Опции;

              scr = Опции
                .WithReferences(Каталог + "\AngleSharp.dll", КаталогGAC + "\Microsoft.CSharp.dll")
                //  .WithReferences(typeof(Configuration).Assembly)

                .WithImports("System", "AngleSharp", "AngleSharp.Dom.Html", "AngleSharp.Extensions");

               result = КлассДляВычесленияВыражений.Вычислить(str, scr);
              Тз=новый ТаблицаЗначений;
    Колонки=Тз.Колонки;
    Колонки.Добавить("НомерСерии");
    Колонки.Добавить("НомерСерииВСезоне");
    Колонки.Добавить("Название");
    Колонки.Добавить("Режиссер");
    Колонки.Добавить("Автор");
    Колонки.Добавить("Дата");
    Колонки.Добавить("Код");
    Колонки.Добавить("Просмотров");

    врап.ВыполнитьДелегат(result,Тз);
    
    тз.ВыбратьСтроку();
   uno-group
 
133 - 29.09.16 - 11:27
(131) Вроде не совсем дуб читал несколько твоих статей хуже учителя не встречал. потратил пару дней пытаясь разобраться в итоге через поиск нашел другие примеры работы и решил проблему за 30 минут. Учись писать технические тексты. Уметь программировать и уметь учить программированию это разные вещи. Если первое у тебя получается то со вторым все очень плохо.
 
 
   uno-group
 
134 - 29.09.16 - 11:28
(130) поделись вк под си
   Кирпич
 
135 - 29.09.16 - 11:32
(131) Да я свою компоненту и не использую. Валяется где то в архивах. Практически мне проще сделать отдельную ВК для конкретной задачи и не париться. У меня их всего то десяток.
   uno-group
 
136 - 29.09.16 - 11:33
Если на одной машине поднято и линукс и винда то не проще обмениваться через файл. да и все связки по сети разных 1с через файл записать в сетевую папку работают штатными средствами без всяких вк. а потом развернуть юзерский ком целая наука. то того не хватает то того. То мелкие обновят что-то и все накрылось медным тазом и работа стала.
   Кирпич
 
137 - 29.09.16 - 11:33
(134) шо такое "вк под си"?
   oleg_km
 
138 - 29.09.16 - 11:34
(127) 90 % использования .НЕТ вообще не потребовало никакой дополнительной отладки. Что можно отлаживать у Sleep или у FileStream?
   Serginio1
 
139 - 29.09.16 - 11:35
(133) Не спорю. Но я стараюсь. Мне просто сложно понять например ты мыслишь. Как подать материал так, что бы тебе это было понятно. Для меня то все просто. Кстати мою стать на Хабре закинули в чулан.
  Другое дело, что я даю материал для более подготовленных программистов.
Но опять же само применение ничем не сложнее использование Com объектов или Вэб сервисов.

(135) А при моем подходе ВК писать не надо. Пиши класс и все.
   Serginio1
 
140 - 29.09.16 - 11:39
(136) А сообщать о том, что возникло событие будешь как? Опрашивать каталог или вешать System.IO.FileSystemWatcher?
А если таких событий сотни или тысячи?
  Насчет про медный таз. Я использую эту обертку больше 5 лет. Про никакого таза ни разу не видел.
   Кирпич
 
141 - 29.09.16 - 11:41
(139) " А при моем подходе ВК писать не надо. Пиши класс и все" не один хрен? и класс и ВК - буквы.
Просто геморно всякие потусторонние сборки цеплять и отлаживать это всё. Мне проще всё запихнуть в одну dll и чтобы оно работало как часы.
   Garykom
 
142 - 29.09.16 - 11:43
(139) Дети есть? Ну или хотя бы племянники или там просто дети подходящего возраста у друзей/знакомых.

Попробуй взять парочку (видишь что играют в игрушки на планшете/смартфоне значит возраст подходит и требования) и объяснить им что такое программирование.
И тут же объяснить простыми словами что такое ты сам придумал.

Суть хорошего преподавателя - умение популярно (для любого уровня) объяснить что угодно почти и к тому же интересно и завлекательно объяснить, чтобы не уснули в процессе.
   Serginio1
 
143 - 29.09.16 - 11:46
(133) Кстати, что тебе непонятно из http://catalog.mista.ru/public/448668/

(141) Так запихивай никто же не мешает. Просто если пишешь ВК ты зависим от используемых типов передаваемых в параметрах и возвращаемые функцией. Используя мою обертку у тебя этих ограничений нет. Если ты кстати читал мою статью, то очень удобно использовать объет при получении внешнего события
   Serginio1
 
144 - 29.09.16 - 11:46
Процедура ПолучениеДанныхПоTCP(знач Данные)
     Сообщить("Команда="+Данные.Команда);
     Сообщить("Данные="+Данные.Данные);
     Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет);    
     
     ъ(Task.Delay(1000)).Wait();
     Если Данные.ЕстьОтвет Тогда
         Ответ="Ответ на команду "+Данные.Команда+"
         |Данные "+Данные.Данные+"
         |ВремяНаСервере="+XmlСтрока(ТекущаяДата());
         Данные.Ответить(Ответ);
     КонецЕсли; 
     
 КонецПроцедуры
 
 
 Процедура ВнешнееСобытие(Источник, Событие, Данные)
     
     Если Источник="TCPConnector" Тогда
              //Получим объект по переданной ссылке

         Данные=ъ(Данные);
         Сообщить("Данные="+Врап.ВСтроку(Данные.ПолучитьСсылку()));
        // Тест из отчета  ТестNetObjectToIDispatch

         Если Событие="Тест Отправки Сообщения" Тогда
             
             ПолучениеДанныхПоTCP(Данные)    
         иначе
              // Запускаем метод переданный в коанде

             Выполнить(Событие+"(Данные)");
             
         КонецЕсли; 
     КонецЕсли; 
     
 КонецПроцедуры
   Serginio1
 
145 - 29.09.16 - 11:49
(142) Сын уже институт закончил.
У меня нет дара объяснить. У меня мозг по другому мыслит, чем у них. И мне их тяжело понять, а мне их. У меня в свое время был переводчик, он панимал меня и мог объяснить другим.
   Кирпич
 
146 - 29.09.16 - 11:49
(143) "Просто если пишешь ВК ты зависим от используемых типов передаваемых в параметрах и возвращаемые функцией"
да ни от чего я не зависим. всё просто работает и всё. чо ты там выдумываешь.
   Кирпич
 
147 - 29.09.16 - 11:51
(145) да всроде всё понятно. листинги только по короче рисуй.
   Garykom
 
148 - 29.09.16 - 11:52
(145) Да иметь "переводчика" это очень удобно конечно, но по факту означает лишь отсутствие усилий/желания научиться тому что не интересно или плохо дается от не знания основ.

К примеру этот переводчик как то умудрялся же переводить, т.е. понимать и то и то? И пенять на отсутствие "дара" это не очень правильно.

(147) Суть у него понятная, но внешняя форма это пипец какой то...
   Serginio1
 
149 - 29.09.16 - 11:53
(141) Так напиши на Native ВК 132
Или парсинг сайтов http://catalog.mista.ru/public/466196/
Или будешь под разбор каждого сайта писать свою DLL?
 
 Рекламное место пустует
   Serginio1
 
150 - 29.09.16 - 11:54
(148) Понимаешь как бы я не учился рисовать, мой сын когда был маленьким рисовал лучше. Есть люди с математическим складом ума, а есть гуманитарии, а есть кто может мылить и так и так. Вот из последних и получаются хорошие преподаватели.
   Кирпич
 
151 - 29.09.16 - 11:57
(149) под разбор сайта я dll делать не буду. я скрипт напишу или exe
в dll у меня только фундаментальные штуки всякие. файлы, http, текст, графика, сеть, com порт.
   Garykom
 
152 - 29.09.16 - 11:58
(144) Вот почему нельзя хотя бы код делать вот примерно так:
Процедура ПолучениеДанныхПоTCP(знач Данные) 
    Сообщить("Команда="+Данные.Команда);
    Сообщить("Данные="+Данные.Данные);
    Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет);    
    
    ъ(Task.Delay(1000)).Wait();// Клево можно делать пауза да?

    
    Если Данные.ЕстьОтвет Тогда
        Ответ="Ответ на команду "+Данные.Команда+"
        |Данные "+Данные.Данные+"
        |ВремяНаСервере="+XmlСтрока(ТекущаяДата());
        Данные.Ответить(Ответ);
    КонецЕсли; 
КонецПроцедуры

Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Источник="TCPConnector" Тогда
        Данные=ъ(Данные);//Получим объект по переданной ссылке

        Сообщить("Данные="+Врап.ВСтроку(Данные.ПолучитьСсылку()));//Глянем че получили

        
        // Проведем тест

        Если Событие="Тест Отправки Сообщения" Тогда
            ПолучениеДанныхПоTCP(Данные)    
        Иначе
            Выполнить(Событие+"(Данные)");// Запускаем метод переданный в коанде

        КонецЕсли; 
    КонецЕсли; 
КонецПроцедуры

   Кирпич
 
153 - 29.09.16 - 11:59
(152) пустые строки еще удалить
   Garykom
 
154 - 29.09.16 - 11:59
(152)+ Блин... что за фигня объясни что ты засовываешь внутрь своего кода что оно в блокноте нормально а при копировании на мисту так разъезжается???
   Garykom
 
155 - 29.09.16 - 11:59
(153) Пойми я их удалил!!!!
   Кирпич
 
156 - 29.09.16 - 12:02
а ну я попробую

Процедура ПолучениеДанныхПоTCP(знач Данные)
    Сообщить("Команда="+Данные.Команда);
    Сообщить("Данные="+Данные.Данные);
    Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет);
    ъ(Task.Delay(1000)).Wait()// Клево можно делать пауза да?

    Если Данные.ЕстьОтвет Тогда
        Ответ="Ответ на команду "+Данные.Команда+"
        |Данные "+Данные.Данные+"
        |ВремяНаСервере="+XmlСтрока(ТекущаяДата());
        Данные.Ответить(Ответ);
    КонецЕсли; 
КонецПроцедуры

Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Источник="TCPConnector" Тогда
        Данные=ъ(Данные)//Получим объект по переданной ссылке

        Сообщить("Данные="+Врап.ВСтроку(Данные.ПолучитьСсылку()))//Глянем че получили

        // Проведем тест

        Если Событие="Тест Отправки Сообщения" Тогда
            ПолучениеДанныхПоTCP(Данные)    
        Иначе
            Выполнить(Событие+"(Данные)")// Запускаем метод переданный в коанде

        КонецЕсли; 
    КонецЕсли; 
КонецПроцедуры
   Кирпич
 
157 - 29.09.16 - 12:02
:))))
   Serginio1
 
158 - 29.09.16 - 12:09
(151) Так результат будешь передавать в виде строки, потом разбирать её или писать Вэб сервис.
Любите вы батенька штаны через голову одевать. В моем подходе, все делается в одно действие.
   Serginio1
 
159 - 29.09.16 - 12:12
(152) Я просто выхватил один метод из трех.
В статье и про очередь написано, и зачем задержка
// В Net core для NetStandard System.Threading.Tasks не существует 

     Task=ъТип("System.Threading.Tasks.Task","System.Threading.Tasks");

Процедура СканированШК(знач Данные)
     
    // Съэмулируем долгую обработку для проверки очереди событий

     ъ(Task.Delay(1000)).Wait();
     Ответ="Ответ на команду "+Данные.Команда+"
     |Данные "+Данные.Данные+"
     |ВремяНаСервере="+XmlСтрока(ТекущаяДата());
     Данные.Ответить(Ответ);
 КонецПроцедуры
   Кирпич
 
160 - 29.09.16 - 12:15
(158) "Любите вы батенька штаны через голову одевать"
вот твои обертки как раз и есть "штаны через голову"
   Serginio1
 
161 - 29.09.16 - 12:22
(160) И в чем они через голову. Еще раз я могу написать DLL полный аналог твоей ВК и вызываться от будет так же.
  Но я могу использовать любые типы как в 132, а ты нет.
Я могу использовать и в Native ВК любые типы в параметрах.
Вот кстати можно посмотреть пример из ограничений
аналога моей разработки на  CLR Hosting API http://forum.infostart.ru/forum24/topic116151/
   Mauser
 
162 - 29.09.16 - 12:25
(123) +многа

Serginio1, видишь ли в чем дело. С одной стороны есть пример @Tormozit, который поднял себе свой сайт с инструментами разработчика, пилит их тихонько, регистрирует ошибки, обсуждает недочеты и в конечном итоге все счастливы.
А с другой стороны есть персонаж, который фигачит статьи где не попадя, раскидывает исходники по сети, и проповедует свое учение в каждую дырку, не забывая агрессивно отпинываться - "а Мне так удобней, если вас не устраивает, проходите мимо, Я не могу бросить Свое Детище". Ну и получает за это в панамку.

Закрадывается впечатление, что это персонаж - латентный махозист.
   Кирпич
 
163 - 29.09.16 - 12:34
(161) я верю, что ты всё можешь. просто мне ничего не нужно из списка твоих "могу". Это уродливые костыли. А я люблю просто и красиво.
   Serginio1
 
164 - 29.09.16 - 12:48
(163) Ты используешь более уродливые костыли в виде COM и Native Api и Вэб ервисов. Но они тебе роднее потому что, это сделала 1С. Только и всего.
(162) Давай так я никого не отпинываю. Помогаю всем. Другое дело, что есть люди у которых нет конструктивной критики. Но и их я не отпинываю. Они держат топик в верху.
В панамку я не получаю. Это только тебе так кажется.
А вот конструктивной критике я только рад.
В итоге сделал кроссплатформенное использование классов на .Net Core? использующий минимум ресурсов.
Есть динамическая компиляция, асинхронное программирование итд и тп. Все по заявкам радиослушателей.
   Loky9
 
165 - 29.09.16 - 12:56
(164) "Ты используешь более уродливые костыли в виде COM и Native Api и Вэб ервисов. Но они тебе роднее потому что, это сделала 1С. Только и всего."
Но и ты же их используешь.
   Serginio1
 
166 - 29.09.16 - 13:36
(165) Конечно. Но у меня более высокоуровневая настройка, позволяющая использовать больше типов и инструментов.
Например  Кирпич на 132 так и не дал своего аналога.
   Кирпич
 
167 - 29.09.16 - 13:49
(166) "Кирпич на (132) так и не дал своего аналога"
Я тебе обещал давать какие то аналоги? Запостил какую то портянку, которую никто не читал и ждет аналоги какие то. Ты здоров вообще?
   Serginio1
 
168 - 29.09.16 - 13:53
(167) Ты утверждал, что можешь все. Я привел тебе простенький пример. Ты меня больным обвинил. Вот и пойми тебя.
   Serginio1
 
169 - 29.09.16 - 13:54
168+ Если тебе коднепонятен там есть комментарии. Если, что непонятно спрашивай.
   Кирпич
 
170 - 29.09.16 - 14:01
(168) не заметил простенького примера и не помню, что я говорил, что могу всё. хотя конечно же я всё могу ))
   Serginio1
 
171 - 29.09.16 - 14:06
(170) Например 146
>> да ни от чего я не зависим. всё просто работает и всё. чо ты там выдумываешь.
   Serginio1
 
172 - 29.09.16 - 14:06
Простенький пример в 132
   Кирпич
 
173 - 29.09.16 - 14:07
(172) и что в том примере? мне лень разбираться в кракозяблах
   Кирпич
 
174 - 29.09.16 - 14:07
(171) и где там написано, что я всё могу.
   Serginio1
 
175 - 29.09.16 - 14:11
(174) Раз ты независим, значит можешь сделать всё! Логика.
(173) Вот откуда ноги то растут! "Не читал, но осуждаю!"

Я подробно все расписывал в http://catalog.mista.ru/public/466196/
   Кирпич
 
176 - 29.09.16 - 14:17
(175) ну не хочешь объяснять, не объясняй. Лучше расскажи чо нибудь про core net. Там GUI есть вообще?
   Serginio1
 
177 - 29.09.16 - 14:34
(176) В NetStandart обещают. Но опять же NetStsndart это больше библиотки которые могут использоваться в визуальных компонентах ориентированных на неё и использующие XAML.
Например
http://metanit.com/sharp/uwp/2.1.php
http://metanit.com/sharp/xamarin/2.9.php

Сейчас XAML развивается.

А насчет 132. То там пример разбора HTML и записи данных в таблицу значений.
 Динамически компилируется класс, который возвращает ссылку на делегат void ЗаполнитьТз(dynamic ТЗ).
 Которая вызывается через 
 врап.ВыполнитьДелегат(result,Тз);

где
result это ссылка на метод, а ТЗ это пустая ТЗ которая заполняется вутри метода.
   Serginio1
 
178 - 29.09.16 - 14:38
По ссылке отсюда можно почитать комментарии на эту тему
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
   Serginio1
 
179 - 29.09.16 - 14:41
https://blogs.msdn.microsoft.com/dotnet/2016/09/14/the-week-in-net-net-core-1-0-1-on-net-with-peachpie-avalonia-folk-tale/

Avalonia является мультиплатформенной UI инструментарий, несколько как WPF.  Он поддерживает XAML и гибкую систему укладки, и работает под управлением Windows, Linux, MacOS, IOS, и Android.
   Serginio1
 
180 - 29.09.16 - 18:21
   Mauser
 
181 - 29.09.16 - 18:44
(164)
>В панамку я не получаю. Это только тебе так кажется.

Это кому там на хабре карму в ноль загнали?
   Serginio1
 
182 - 30.09.16 - 10:09
(181) Ну не 0, а 1.
 И у меня там тоже поддержка есть

 sidristij  28 сентября 2016 в 18:32 (комментарий был изменён) ?  ? ?   

? ?
Вставлю свои 5 копеек. Про Хабр часто говорят, что дескать нет технических статей, только реклама. Вот вам автор, который написал 9 статей. Хороших таких статей про работу .NET/1C, котоые потом вполне возможно будутпользоваться спросом, в свое время. Но его заминусовали (карма) за руслиш. Видите-ли он не пишет именно так, как нравится вам. Ему за это не платят, замечу. Он хотел сделать вам приятно. А теперь его карма = 0 и он больше не может писать статьи, хотя хочет.
   Serginio1
 
183 - 30.09.16 - 10:09
182+ с Rsdn

Дело в том, что хабр — развлекательный ресурс (у администрации немножко пена изо рта капает, когда им про это намекают, но это их проблемы). Поэтому уникальный контент, если он тяжело читается (а читается действительно адово), там неформат.
Ближайший аналог — всякие какэтосделано, в которых скучный хардкор не катит, ибо не цепляет аудиторию.

Рекомендую не заморачиваться и подобрать нормальную площадку, или завести блог и кросспостить статьи и туда.
   Serginio1
 
184 - 30.09.16 - 10:10
   Кирпич
 
185 - 30.09.16 - 10:18
(183) ты какой то стоеросовый, ей богу. тебе два года долдонят, что руслиш жуткое уродство, а ты всё гнёшь свою линию. Пиши всё на английском и будет красиво, и комментировать будут по делу, а не про дебильность написания твоих примеров.
   Кирпич
 
186 - 30.09.16 - 10:19
хотя ты наверное и правда мазохист
   Serginio1
 
187 - 30.09.16 - 10:20
(185) Я добавил использование синонимов. Но мне проще писать используя Руслиш.
   Кирпич
 
188 - 30.09.16 - 10:21
(187) "мне проще писать" так пиши себе и людям не показывай тогда
   Serginio1
 
189 - 30.09.16 - 10:25
(188) На вкус и цвет товарищей нет. Не хочешь не читай. Никто никого не заставляет. Мне тоже много чего не нравится.
Если мне что то не нравится, то я либо не читаю, либо подстраиваюсь под стиль автора. У всех свои предпочтения.
   Serginio1
 
190 - 30.09.16 - 10:27
Опять же из последней статьи
21 человеку понравилось
8 людям нет.
   Кирпич
 
191 - 30.09.16 - 10:28
(190) объясни пожалуйста, если не в лом, какова цель всей этой твоей компании? чего ты добиваешься?
   Serginio1
 
192 - 30.09.16 - 10:31
(191) Поделиться опытом. Не только с 1С никами но и .Net чикам. Многие находят мои статьи полезными. А это главное.
   Кирпич
 
193 - 30.09.16 - 10:35
(192) таким опытом весь интернет завален, не считая книжек. ты страдаешь какой то другой херней.
   Serginio1
 
194 - 30.09.16 - 10:45
(193) Возможно. Мне просто интересно программировать, решать сложные задачи.
  Но мой опыт уникален. И я рад если помогу, хоть немногим людям.
Кстати сам спрашивал, про .Net Core. А по нему не так уж и много информации, а книг вообще нет.
 Использование .Net Core из натива вообще 2 статьи на весь интернет. Так, что "Борис ты не прав"
   Garykom
 
195 - 30.09.16 - 10:47
(194) Это .net core никому совершенно не сдался ибо есть mono
   Кирпич
 
196 - 30.09.16 - 10:51
(194) так пиши про NET Core, почитаю с удовольствием. тема интересная. а про динамическую компиляцию, TCP/IP и как сайты парсить не надо. про это навалом инфы и так.
   sh8ce
 
197 - 30.09.16 - 10:51
(195) Моно вряд ли будет дальше развиваться
   Serginio1
 
198 - 30.09.16 - 10:54
(195) .Net Core это следующее развитие Mono. Новые проекты делаются уэе на Asp.Net Core, а старые ждут подхода NetStandard 2.

Идет плавный переход на использование в UWP и Xamarin. Сейчас там для portable куча профилей. Сам в свое время задолбался с ними.

Да и использование в 1С кроссплатформенных и более легковесных библиотек тоже предпочтительнее. Другое, дело, что 1С наплевать, на развитие Native Api.
Но это другая песня. 1С++ прекрасно живет и до сих пор.
   Garykom
 
199 - 30.09.16 - 10:56
(197) Форкнут без вопросов и MS пойдет лесом полем, но только если оно кому то понадобится.

(198) Чем то напоминает сказки про белого бычка, тут недавно сказали что самый известный проект на .Net это Paint.Net случаем когда его на .Net Core переведут?
   Кирпич
 
200 - 30.09.16 - 10:58
(199) самый известный проект на .Net это наверное Visual Studio
  1  2  3  4   

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