25

1C.Net:Предприятие – не стесняйтесь программировать на 1С

by Elisy 23. January 2010 07:48

Elisy .Net Bridge - это набор компонентов и методик для бесшовного подключения .Net framework к 1С:Предприятие 7.7/8.0/8.1/8.2 с целью использования всех передовых разработок .Net. Самое полезное отличие .Net Bridge от существовавших ранее технологий - это собственный механизм преобразования типов, дающий явные преимущества по сравнению с .Net RCW/CCW- механизмами, написанием плагинов/внешних компонент на C# и VB.Net под 1С и открывающий неизвестные ранее в 1С:Предприятие возможности. Упор в проекте сделан на гармоничную интеграцию двух технологий, где ведущую роль играет 1С:Предприятие.

Проект Elisy .Net Bridge (1C.Net)

Цели проекта Elisy .Net Bridge состоят в следующем:

  • Обеспечить быстрое подключение существующих .Net-компонентов и приложений к 1С:Предприятие;
  • Существенно расширить объектную модель 1С:Предприятие стандартными классами .Net framework;
  • Существенно расширить возможности программирования на 1С:Предприятие;
  • Популяризировать .Net framework среди разработчиков 1С:Предприятие. Показать его эффективность и рациональность использования.

Близкие аналоги

Традиционно в 1С существуют следующие аналоги, расширяющие функциональность 1С:

Проект 1С++ (http://1cpp.ru): ориентирован только на версию 1С 7.7, которая морально устаревает после выхода версий 8.1 и 8.2. В отличие от него .Net Bridge поддерживает все современные версии 1С: 7.7/8.0/8.1/8.2. В 1С++ за основу взяты C++ и система наследования классов. С++ уступает .Net-технологии по скорости написания ПО и его отлаженности, также требует больше профессиональных навыков.

C#/VB.Net –расширения для 1С (http://www.kb.mista.ru/article.php?id=56): до выхода Elisy .Net Bridge традиционным было написание плагинов для 1С по "технологии написания внешних компонент для 1С". Традиционный подход уступает подходу, принятому в .Net Bridge, ограниченным набором передаваемых типов. Например, невозможно передать Enum, а также использовать типы .Net, не помеченные как ComVisible = true. В случае с Elisy .Net Bridge собственный механизм преобразования типов между 1С и .Net "прозрачный" и так не ограничен.

COM-обращения: традиционно сложилось, что у каждого 1С-разработчика есть арсенал dll-библиотек, решающих узкий круг задач. Эти библиотеки написаны разными разработчиками, многие уже не поддерживаются. Например, обращение к системным функциям выполняется через dynwrap.dll, шифрование – через capicom.dll, рисование через JScript и т.д. .Net Framework через .Net Bridge в отличие от них предоставляет все функции одним пакетом, опираясь на единую систему типов и стиль API.

Основные возможности

Ключевой библиотекой проекта является Elisy.NetBridge.dll. Она предоставляет следующие преимущества:

  • Поддерживает создание объектов .Net из GAC и по полному пути к сборке;
  • Поддерживает прямое обращение к свойствам и методам объектов .Net;
  • Не требует атрибута ComVisible=true, назначенного классам .Net;
  • Поддерживает типы Enum и производные;
  • Обеспечивает развернутую информацию об ошибках;
  • Свойства объектов .Net видны при отладке из конфигуратора 1C;
  • Не требует предварительной регистрации через REGSVR32 и REGASM: можно обращаться через функцию 1C ЗагрузитьВнешнююКомпоненту;
  • Содержит логику для обращения к специфическим возможностям .Net framework: вызов статических методов, обращение к статическим свойствам, обращение к индексным свойствам;

Ниже сравнивается код C# и соответствующий ему код скрипта 1С с использованием Elisy .Net Bridge:

Код C# Код 1С:Предприятие
private SeriesCollection getVolumeData()
{
    SeriesCollection SC = new SeriesCollection();
    Random myR = new Random(1);
    for(int i = 0; i < 1; i++)
    {
        Series s = new Series();
        s.Name = "Volume";
        double startPrice = 50;

        DateTime startDT = new DateTime(2000,1,1);
        for(int b = 0; b < 75; b++)
        {
            Element e = new Element();
            e.XDateTime = startDT;
            startDT = startDT.AddDays(1);
            e.YValue = myR.Next(100);
            s.Elements.Add(e);
        }

        SC.Add(s);
    }

    return(SC);
}
Function getVolumeData()

    SC = net.New("dotnetCHARTING.WinForms.SeriesCollection");
    myR = net.New("System.Random", 1);
    for a = 0 to 0 do

        s = net.New("dotnetCHARTING.WinForms.Series");
        s.Name = "Volume";
        startPrice = 50;

        startDT = net.New("System.DateTime", 2000, 1, 1);
        for b = 0 to 74 do

            e = net.New("dotnetCHARTING.WinForms.Element");
            e.XDateTime = startDT;
            startDT = startDT + 1*60*60*24;
            e.YValue = myR.Next(100);
            s.Elements.Add(e);
        enddo;

        SC.Add(s);
    enddo;

    return SC;
EndFunction

История создания

Компонент Elisy .Net Bridge существует уже около года. За это время накоплены положительные отзывы от разработчиков, использующих компонент на практике. Исторически выпуск релизов происходил следующим образом:

  • 2 Апреля 2009 вышла первая альфа-версия Elisy .Net Bridge;
  • 5 Мая 2009 вышел релиз первой версии компонента;
  • Май 2009 – сентябрь 2009 выпущены версии 2.1-2.3;
  • 17 октября выпущена утилита LinqTo1CSQL для визуализации внутренней структуры данных 1С и прямого доступа к ним;
  • 2 ноября 2009 появилась альфа-версия 3й версии компонента;
  • 16 января 3я версия перешла в бета-стадию;

Лицензирование и цены

Компонент Elisy .Net Bridge является платным компонентом с бесплатной ознакомительной версией. Ознакомительная версия не накладывает никаких ограничений на функциональность. Существующая система лицензирования предполагает приобретение отдельной лицензии на каждый компьютер. Цена колеблется от 50 до 9 Euro в зависимости от числа копий и партнерского статуса.

Факты и результаты

За 9 месяцев существования проекта было выпущено 4 релиза компонента Elisy .Net Bridge (версии 1, 2.1, 2.2, 2.3), а 3я версия находится в бета-стадии;

Выпущена бета-версия LinqTo1C-обработки, которая генерирует dbml-файлы для 1С и дает возможность прямого обращения к базе данных 1С 8.x на MS SQL. Готовится выпуск Asp.Net MVC –примера, поддерживающего такой доступ.

Пользователями было скачано порядка 300 копий ознакомительной версии и около 600 копий прикладных примеров;

Были подготовлены развернутые статьи-примеры. Каждая из них вносит элементы новизны и актуальности. Охватывается практически весь .Net framework:

Дополнительные ресурсы

Перечень релизов и описаний изменений:1C:Enterprise forums

Все статьи по Elisy .Net Bridge: richmedia.us

Проект на Инфостарт: infostart.ru

Tags:

1C.Net

Comments

maestrovip
maestrovip
1/26/2010 11:05:47 PM #

Очень полезная вещ!Советую всем.

Andreas Beley
Andreas Beley United States
4/30/2010 7:49:54 PM #

My first comment. Found your blog a couple of times inadvertently. Yours is one of those blogs I could start reading and not know when to stop.

Алина
Алина Russia
4/30/2010 10:25:10 PM #

Это точно, вещь нужная!

Computer Desk
Computer Desk United States
5/16/2010 10:21:40 PM #

Keep 'em coming... you all do such a great job at such Concepts... can't tell you how much I, for one appreciate all you do!

bad credit home equity loan
bad credit home equity loan United States
5/24/2010 10:21:22 AM #

I normally don’t place in Blogs but your net log forced me to, impressive exercising... Stunning …

magnifying desk lamp
magnifying desk lamp United States
5/27/2010 2:35:47 AM #

I hate facts. I always say the chief end of man is to form general propositions - adding that no general proposition is worth a damn. </SPAN>Clara

louis vuitton handbags
louis vuitton handbags People's Republic of China
5/27/2010 9:24:04 AM #

a good article couldn't be written without a good topic, i think you should wrtie some new things on your blogs. things like,<A

title="Louis vuitton handbags"

href="http://louis-vuitton-replica-handbags.com/ "><B>Louis vuitton handbags</B></A>.

shades for lamps
shades for lamps United States
5/27/2010 8:46:56 PM #

There are certainly a lot more details to take into consideration, but thanks for sharing this information

chat with stripper
chat with stripper United States
5/28/2010 10:45:40 PM #

My boss just yelled at me cause i didn't do it right just a few moments ago. I'm trying to wrap my mind around this and find an easy solution out but i guess i'll have to outsource it in the end cause i'm just to early now. Well watever, there has to be something to work...

flash game development
flash game development Russia
5/29/2010 5:26:10 PM #

Thanks for delivering daily information to your readers. It is just a pleasure to visit your site.

sklepy internetowe
sklepy internetowe United States
6/3/2010 12:33:42 AM #

I fully agree with author opinion.

 round sisal rug
round sisal rug United States
6/3/2010 1:35:17 AM #

Is there any good digital or animation technology that you can buy that looks professional and is easy? Something like what digital domain uses but not exactly, just easy and good? What kind of things does digital domain use is it animation of something else?

www.xxxlblog.com
www.xxxlblog.com United States
6/3/2010 12:34:36 PM #

I wanted to thank you for this great read!! I definitely enjoyed every little bit of it I have you bookmarked to check out new stuff you post

www.exotaarticles.com
www.exotaarticles.com United States
6/3/2010 1:25:23 PM #

This is a good piece of writing, I was wondering if I could use this write-up on my website, I will link it back to your website though. If this is a problem please let me know and I will take it down right away.

free articles 4 you
free articles 4 you United States
6/3/2010 2:18:05 PM #

you publishing your own articles? Or getting them from any other sources?

best kitchen curtains
best kitchen curtains United States
6/4/2010 10:25:36 AM #

You should add some social bookmark buttons to your website site? At least add one for Digg so we can digg you up!

 murano glass italy
murano glass italy United States
6/5/2010 5:08:09 PM #

Hello, I am in the process of researching for an article that I'm creating for my own blog. I have found this article extremely useful and I was wondering if I can link to your post as it may be of some interest to my readers? Thanks.

abercrombie
abercrombie United States
6/8/2010 9:11:03 AM #

Very habitually I visit this internet site. It very much is pleasant to me. Thanks the author

abercrombie
abercrombie United States
6/8/2010 10:02:21 AM #

Very regularly I go to see this webpage. It very much is satisfying to me. Thanks the author

John
John United States
6/8/2010 7:08:06 PM #

So niceSmile I like it!

replica phones
replica phones United States
6/11/2010 7:27:40 AM #

I am very happy to see your article.thank you!

big fat slob
big fat slob United States
6/12/2010 11:55:50 AM #

Your web site is very much worthy of a bookmark. Thank you for the terrific and cool post!

casino sans telechargement
casino sans telechargement India
6/12/2010 11:56:19 AM #

I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end.

farmville cheat codes
farmville cheat codes United States
6/14/2010 5:46:01 AM #

Just read an excellent post, I hope you will write some more of these articles in the future....

Review
Review United States
6/14/2010 7:17:51 PM #

I love this.

Powered by BlogEngine.NET 1.6.0.0
Original Design by Laptop Geek, Adapted by onesoft

Indonesia Furniture Handicraft Wholesale Marketplace : Bisnis Online Rahasia Dahsyat Hidup Sukses dan Uang Melimpah : Travelling : Salehdbrent Sgdashhousedotcom : Used Stationary Bikes : Salehdbrent Sgdashhousedotcom : Used Stationary Bikes : Used Stationary Bikes : Travel Jakarta Bandung: Blogger Indonesia Dukung Internet Aman, Sehat & Manfaat : Hosting Murah Indonesia Indositehost.com : Indonesia Furniture Handicraft Wholesale Marketplace