Смирнов Сергей

938
Рейтинг

Serginio
Сергей Смирнов



  •   Регистрация: 11.09.2009 (14 лет назад)

  •   Был(а) на сайте: 22.04.2024

Друзья
  • Николай Щербаков
  • Dave Nikolsky
  • Александр Савченко
  • Dmitriy Khomenko
  • Маским Константинович
  • Сергей Чунаков
  • Евгений Плешивцев
  • Арзамас  Припузов
  • zzz sss
  • Александр Chungiri Lee
  • Константин Важенин
  • Саша Трофимов
  • Владимир Созанский
  • Алекс zhu4
  • Геннадий
Подписчики 62

Группы

Профессиональный разработчик

Рейтинг 938

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

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

Часто нужно обмениваться данными с клиентом 1С из различных устройств, между клиентами 1С, а также при виртуализации между разными ОС на компьютере. Это кроссплатформенная ВК, позволяющая обмениваться сообщениями по TCP/IP между различными устройствами по определенному протоколу.

28.09.2016    24761    Serginio    12       

20

Net Core. Динамическая компиляция класса обертки для получения событий .Net объекта в 1С

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

Часто нужно использовать события объектов .Net. Например событие от COM порта, поступление сообщений по WhatsAp, сообщение об изменение в директории итд. Напрямую этого сделать нельзя, но можно сделать класс обертку и через него получать ВнешнееСобытие

14.09.2016    17389    Serginio    1       

13

.Net Core, 1C, динамическая компиляция, Scripting API

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла Механизмы платформы 1С

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

07.09.2016    20098    Serginio    7       

12

1С, Linux, Excel, Word, OpenXML, ADO, Net Core

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

В данной статье показаны примеры кроссплатформенной работы с файлами Excel и Word (xlsx,docx) с помощью библиотеки OpenXML и Net Core

22.08.2016    27042    137    Serginio    15       

47

Асинхронное программирование в 1С через использование классов .Net из Native ВК

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

Это продолжение статьи Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux II http://infostart.ru/public/541518/ В этой статье покажу, как можно асинхронно вызывать асинхронные методы и вызывать ВнешнееСобытие в 1С из сборки .Net

09.08.2016    18782    Serginio    3       

17

Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux II

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла Языки и среды

Это продолжение статьи http://infostart.ru/public/534901/ С того времени добавил поддержку методов с параметрами по умолчанию, вызов методов расширений, вывод типов для дженерик методов, поддержка объектов реализующих IDynamicMetaObjectProvider (ExpandoObject,DynamicObject), добавление синонимов к членам типа и асинхронное программирование на 1С!

09.08.2016    16079    Serginio    1       

11

Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла Языки и среды

С выходом .Net Core CLR стало возможным использование классов .Net не только на Windows, но и других операционных системах. Это особенно важно в разрезе импортозамещения. И главное - это аналог COM под Linux. Сейчас под Linux для расширения возможностей 1С используются Web сервисы. Данная разработка позволит использовать не только сборки входящие в состав .Net Core, но и пользовательские портативные сборки.

04.07.2016    24267    Serginio    36       

41

Использование ТСД на WM 6 как беспроводной сканер с получением данных из 1С

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Архив с данными Терминал сбора данных

Как вариант печати этикеток на мобильный принтер, получение информации по ШК. Можно легко расширить до более сложных задач. В том числе на Xamarin под Android и IOS.

1 стартмани

18.05.2016    26127    8    Serginio    14       

15

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция

Статья Программист Платформа 1С v7.7 Платформа 1С v8.3 Windows Бесплатно (free) Нет файла Сайты и интернет-магазины

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    74355    Serginio    33       

124

Комментарии

DevКроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux#36 19.10.22 12:14
(34) Сейчас совершенно нет времени.
Нужно переделать согласно новому апи описанному в (33)
Суть получить ссылки на статические методы .Net

Более подробно по C++ можно посмотреть здесь https://habr.com/ru/post/304542/

А для начала разобраться с https://habr.com/ru/post/304482/
ОбменCSV. Чтение многострочных полей с экранированными символами#8 16.09.22 10:14
(7) Я просто попросил проверить заменив НайтиВПодстроке(Стр1,Поз1,ИскомыйСимвол)
на СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Как это скажется на производительность.
И сравнить твой алгоритм с моим.

Что касается стилистики и прочего, то каюсь это были мои первые статьи. Потом я постепенно исправлялся.
Ну и на тот момент просто хотел поделиться алгоритмом ибо в 7 ке то он был а в 8 ке не было, а обмен между 7 и 8 кой был нужен плюс обмен с другими системами построенный на CSV
И там были разные QuoteChar итд
DevИзСтрокиСРазделителями в Восьмерке#20 16.09.22 10:12
(18) Я просто попросил проверить заменив НайтиВПодстроке(Стр1,Поз1,ИскомыйСимвол)
на СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Как это скажется на производительность.
И сравнить твой алгоритм с моим.

(19) Готовых полно сейчас, а на момент написания не было. Это вообще перевод из книги https://litresp.ru/chitat/ru/%D0%91/baknell-dzhulian-m/fundamentaljnie-algoritmi-i-strukturi-dannih-v-delphi?ysclid=l845532hl4986043525

Писал еще в 2009 http://rsdn.ru/forum/dotnet/3303143.aspx
DevИзСтрокиСРазделителями в Восьмерке#17 15.09.22 15:26
(13)
Там проблема в том, что есть лишнее копирование в НайтиВПодстроке


if ( Ch = QuoteChar) Тогда
State = ScanQuoted;
StartPos=Inx+1;
SB="";
Inx=НайтиВПодстроке(S,StartPos,QuoteChar);
продолжить;
else
if ( Ch = Delimiter) Тогда
aList.Add("");
else
State = ScanField;
StartPos=Inx;
Inx=НайтиВПодстроке(S,StartPos,Delimiter);
продолжить
КонецЕсли;
КонецЕсли;

А вот найти в подстроке
Функция НайтиВПодстроке(Стр1,Поз1,ИскомыйСимвол)
Стр=Сред(Стр1,поз1);
поз=Найти(Стр,ИскомыйСимвол);
Если поз=0 Тогда
возврат СтрДлина(стр1)+1
КонецЕсли;
Возврат поз1+поз-1
КонецФункции

На момент написания не было функции
СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Поэтому там лишнее копирование.
Если несложно проверь через СтрНайти
ОбменCSV. Чтение многострочных полей с экранированными символами#6 15.09.22 15:24
(5) Там нет посимвольного. Там есть

if ( Ch = QuoteChar) Тогда
State = ScanQuoted;
StartPos=Inx+1;
SB="";
Inx=НайтиВПодстроке(S,StartPos,QuoteChar);
продолжить;
else
if ( Ch = Delimiter) Тогда
aList.Add("");
else
State = ScanField;
StartPos=Inx;
Inx=НайтиВПодстроке(S,StartPos,Delimiter);
продолжить
КонецЕсли;
КонецЕсли;

А вот найти в подстроке
Функция НайтиВПодстроке(Стр1,Поз1,ИскомыйСимвол)
Стр=Сред(Стр1,поз1);
поз=Найти(Стр,ИскомыйСимвол);
Если поз=0 Тогда
возврат СтрДлина(стр1)+1
КонецЕсли;
Возврат поз1+поз-1
КонецФункции

На момент написания не было функции
СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Пэтому там лишнее копирование.
Если несложно провереь через СтрНайти
Понятно, что для скорости я лично обрабатываю на компилируемых языках. Но для не
DevИзСтрокиСРазделителями в Восьмерке#16 15.09.22 15:17
(11) Этот код был переписан с Delphi потом с C#
(12) Можешь указать любой. https://stackoverflow.com/questions/60902650/how-does-the-quotechar-parameter-of-the-csv-reader-function-work
(14) Ну вообще то как понять, что это не реальный перенос строки? Тут уже сам экранируй и восстанавливай.
(15) Ну значит не совсем оптимизировал. Суть в том, что читать по символьно долго, найти работает быстрее если первый символ QuoteChar
ОбменCSV. Чтение многострочных полей с экранированными символами#3 13.09.22 20:25
В свое время делал с оптимизацией https://infostart.ru/1c/articles/371887/
Можно посмотреть по скорости
ВКИспользование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент.#80 27.07.22 12:07
Там ругается на библиотеку rtscaledrv.dll. Все зависимые библиотеки должны быть в этой же директории где и RRIC_COM_OBJECT.dll
Посмотри пример на C#