Начиная с версии 4.0.20, Elisy .Net Bridge 4 стал бесплатным и не требует активации. Более новые версии для .Net 5 и 6 остаются платными.
- viollan - Сотрудник компании АТехнолоджи. Подключение к 1С .Net-сборок для 1С-конфигурации производства окон.
- vic_msu - Распознавание штрихкодов. Подключение к 1C .Net-сборок сторонних разработчиков.
- Serno - Использование регулярных выражений для анализа и поиска ошибок в модулях конфигураций (оптимизация скорости для УПП и УСО).
После успеха .Net framework 2.0 компания Microsoft стала развивать технологию, расширяя число поддерживаемых операционных систем и переводя свои ключевые продукты, например, SQL Server и MS Office на поддержку .Net API. Языки программирования: C++, VB, интегрированные в Visual Studio, начиная с 2003 версии стали поддерживать .Net framework. Был выпущен новый язык программирования C#. Объясняется это тем, что разработка приложений с использованием .Net framework уменьшает количество исходного кода на 60-80 процентов, пропорционально уменьшает время на отладку и число ошибок, допущенных программистами.
Elisy .Net Bridge добавляет функциональность .Net Framework к 1C версий 7.7/8.0/8.1/8.2. Текущие версии Elisy .Net Bridge 1.0 и 2.0 предназначены для реализации в 1C функциональности консольных приложений C# и VB.Net. Сюда относятся:
- Шифрование в т.ч. асимметричными алгоритмами и вычисление контрольных сумм;
- Работа с веб-сервисами и электронной почтой;
- Интегрирование с системами, которые предоставляют .Net API;
- Работа с регулярными выражениями, которых недостает в 1С;
- Формирование и преобразование изображений;
- Обращение к реестру Windows и получение региональных и системных настроек системы;
- Организация кеша, в котором хранятся часто используемые значения без обращения к серверу;
- Более эффективная обработка XML (добавляются XPath и XSL-трансформация).
Elisy .Net Bridge 2.0 разработан для использования с .Net Framework 3.5 SP1 и выше, поддерживает 1С:Предприятие v.7.7/8.0/8.1.
Основные особенности:
- Поддерживает создание объектов .Net из GAC и по полному пути к сборке;
- Поддерживает прямое обращение к свойствам и методам объектов;
- Поддерживает типы Enum и производные;
- Обеспечивает развернутую информацию об ошибках;
- Свойства объектов видны при отладке из конфигуратора 1C;
- Не требует предварительной регистрации через REGSVR32 и REGASM, можно обращаться через функцию ЗагрузитьВнешнююКомпоненту;
- Содержит логику для обращения к специфическим возможностям .Net framework.
Предусмотрена гибкая система лицензирования (от однопользовательских лицензий до GPL) и скидок (до 60%).
Организация простейшего Http-сервера напрямую из 1С:
AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");
Если НЕ net.GetStatic("System.Net.HttpListener","IsSupported") Тогда
Сообщить("Для использования класса HttpListener нужна Windows XP SP2 или Server 2003.");
Возврат;
КонецЕсли;
listener = net.New("System.Net.HttpListener");
listener.Prefixes.Add("http://*:8080/");
listener.Start();
Сообщить("Прослушивание...");
//Метод GetContext блокирует пока ждет запрос.
context = listener.GetContext();
request = context.Request;
// Получить объект ответа
response = context.Response;
// Создать ответ - HTML-строку
responseString = "Ответ от HttpListenerПосетите 1csoftware.com";
buffer = net.GetStatic("System.Text.Encoding", "UTF8").GetBytes(responseString);
// Получить поток ответа и записать ответ в него.
response.ContentLength64 = buffer.Length;
output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
// Необходимо закрыть выходной поток.
output.Close();
listener.Stop();
Следующий код показывает, как напрямую из 1С нарисовать рисунок и сохранить его на диске:
AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");
//Код показывает, как нарисовать простое изображение и записать его в файл
drawing = net.LoadAssembly("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
buffer = net.New("System.Drawing.Bitmap", 350, 350);
bufferSurface = net.CallStatic("System.Drawing.Graphics", "FromImage", buffer);
yellowBrush = net.New("System.Drawing.SolidBrush", net.New("System.Drawing.Color").Yellow);
bufferSurface.FillEllipse(yellowBrush, 25, 25, 187, 187);
blackBrush = net.New("System.Drawing.SolidBrush", net.New("System.Drawing.Color").Black);
bufferSurface.FillEllipse(blackBrush, 70, 75, 22, 17);
bufferSurface.FillEllipse(blackBrush, 140, 75, 22, 17);
blackPen = net.New("System.Drawing.Pen", net.New("System.Drawing.Color").Black, 10);
bufferSurface.DrawArc(blackPen, 65, 95, 102, 75, 0, 180);
buffer.Save("d:\Smile.jpg");
Ссылки по теме:
Сайт разработчиков
Elisy .Net Bridge на английском языке
Блог на richmedia.us
Распознавание штрихкодов
// //