Статья описывает, как объединив 1С:Предприятие и .Net framework , можно получить взаимовыгодное сотрудничество двух разных технологий и добиться коммерческого успеха. Чтобы изложенные мысли не были похожи на фантазии, приводится конкретный пример на основе разработок компаний Elisy Software Design и АТехнолоджи (http://atechnology.ru/).
Зачем в 1С:Предприятие нужен .Net framework
Платформа 1С:Предприятие - очень популярная в России и СНГ система разработки бизнес-приложений. Настолько популярная, что своей доступностью и легкостью обслуживания затруднила развитие в России SAP, Axapta и других зарубежных систем. Нет бухгалтера, который не слышал об 1С:Предприятие.
Исторически 1С:Предприятие развивалось, нацеливаясь на нужды бухгалтерии, профессионально занимаясь именно расчетными проблемами. В описанной области 1С:Предприятие чувствует себя уверенно, чего не скажешь о смежных областях, с которыми приходится сталкиваться системе 1С, идя в ногу со временем. Пытаясь занять новые просторы, 1С выводит на рынок современные продукты, связанные, например, с делопроизводством или CRM-применением. Именно здесь бухгалтерская нацеленность дает сбой, не позволяя охватить родными средствами специфику нового применения (например, не хватает электронного подписывания документов или, скажем, отправки СМС-сообщений).
.Net framework оказывает 1С:Предприятию неоценимую поддержку именно в таких дополнительных приложениях. Существует несметное количество отдельных библиотек и решений, написанных на C# или VB.Net.
Зачем в .Net framework нужно 1С:Предприятие
Для программирования в .Net framework компания Microsoft сделала все необходимое. Разработала необходимые редакторы, компиляторы, создала единую среду Visual Studio, даже была выполнена локализация на русский язык всего вышеперечисленного. Используя все наработки .Net можно не только разрабатывать решения, заменяя решения 1С, но и переписать саму 1С, если это будет необходимо. Но почему-то этого до сих пор не произошло.
С 1С сложно конкурировать. 1С – очень распространенная система. Более того, 1С доступнее для понимания конечного пользователя. Несомненно, что освоить написание программ на 1С гораздо проще, чем освоить программирование под .Net.
Чего можно достичь, скрестив две технологии
Используя сильные стороны каждой технологии: .Net framework и 1C:Предприятие, можно добиться взаимовыгодного существования двух систем. Популярность 1С с одной стороны, а также всемирный опыт и гибкость .Net famework с другой окажут в этом деле неоценимую услугу.
Скрестив 1С с .Net framework можно получить выход на дополнительный большой рынок для .Net-разработчиков в России, а также популяризацию .Net среди сообщества 1С. Для 1С такое скрещивание даст большую конкурентоспособность и увеличение гибкости, а также расширение сферы применения.
Концепция 1С.Net:Предприятие
В мире существует тенденция все большей популярности .Net framework. Речь идет о Windows. Мало кто из разработчиков в мире продолжает писать дополнительные компоненты на COM, а также мало кто не разработал .Net API для своих устаревших разработок, которые не представляется переписать на .Net в ближайшее время.
Средства разработки приложений также не стали исключением. Был Visual Basic - стал VB.Net, Perl и Python также получили суффиксы .Net, Delphi 8, хоть и не получил суффикса, но поддерживает .Net framework. Именно такое поведение разработчиков ПО и побудило компанию Elisy Software Design добавить полноценную поддержку .Net к 1С, разработав компоненты расширения Elisy .Net Bridge. Благодаря компонентам расширения стало доступно легкое обращение к типам .Net framework, автоматическое преобразование типов и показ WPF- и WinForms-контролов на формах 1С. В таком контексте название 1C.Net:Предприятие выглядит солиднее, чем 1С:Предприятие.
Архитектура Elisy .Net Bridge оказалась на практике достаточно хорошей. Она позволяет подключать к 1С зарубежные .Net-компоненты, разработчики которых скорее всего даже не слышали о существовании 1С:Предприятие. Подход, примененный в .Net Bridge, превосходит все традиционные подходы связи с .Net, существовавшие до этого.
Решение, предложенное компанией АТехнолоджи
Фотографии в альбоме «АТехнолоджи»
Компания АТехнолоджи 5 лет успешно внедряет программный комплекс winDraw, написанный на .Net framework, полностью автоматизирующий предприятия производства и продажи окон ПВХ, дерева и алюминия. С 2010 года АТехнолоджи на основе накопленных наработок и опыта выпустило продукт 1С:winFlex, где совместила технологии 1С:Предприятие и .Net framework.
Это наиболее яркий пример мирного сосуществования двух технологий, где 1С:Предприятие не справляется или плохо справляется родными средствами с задачей графического моделирования CAD-модуля, линейной и плоскостной оптимизацией, а .Net framework справляется, но не охватывает бухгалтерские задачи по ведению справочной информации, списанию материалов и формированию нужных проводок.
В конечном счете, выигрывает только пользователь, которому не нужно переключаться из одного приложения в другое, как это могло быть в традиционном исполнении до интеграции 1С+.Нет. Система упрощена за счет отсутствия механизмов импорта/экспорта в/из 1С, которые предполагаются в случае 2х отдельных приложений.
Заключение
В статье были описаны сильные стороны каждой из технологий 1С:Предприятие и .Net framework. Сильной стороной 1С является ее популярность и распространенность, которая упрощает вывод .Net-технологий на рынок России и стран СНГ. Платформа .Net framework является универсальным решением, более гибким и распространенным в мире, чем 1С, но тем не менее более сложным для освоения.
Elisy .Net Bridge добавляет полноценную поддержку .Net framework к 1С:Предприятие и позволяет делать «глубокую» интеграцию приложений .Net внутрь 1С, как это сделано, например, в случае с решениями компании АТехнолоджи.
Компания АТехнолоджи при автоматизации предприятий производства и продажи окон разработала на .Net framework модули CAD-моделирования, линейной и плоскостной оптимизации. Ей удалось внедрить визуальные компоненты и логику расчетов в код 1С:Предприятие.
Интеграция .Net framework внутрь 1С:Предприятие упрощает решения и облегчает пользователю жизнь: нет необходимости импортировать/экспортировать данные между разными приложениями, а все происходит в одном приложении 1С. Пользователям нет необходимости переключаться между окнами и изучать две разные системы.
Используя описанный в статье опыт можно переложить его на другие отрасли экономики и достичь в своих разработках такого же успеха.