1С для .NET. Средства интеграции.

Публикация № 62798 17.12.09

Разработка - Практика программирования

Статья посвящена анализу существующих способов и инструментов интеграции .NET приложений с прикладными решениями 1С:Предприятие, в частности, какие способы подобной интеграции существуют, и для каких случаев подходит каждый из них.

 

 

Специфика российского рынка программных продуктов для бизнеса такова, что если Вы занимаетесь разработкой традиционных бизнес-приложений либо веб-приложений для бизнес-пользователей, то перед Вами рано или поздно встанет задача интегрировать Ваш продукт с 1С:Предприятие.

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

Кроме того, наблюдается выраженная тенденция снижения актуальности тяжелых многофункциональных приложений. Потребность бизнеса сегодня – организация единого информационного пространства компании (группы компаний) с возможностью доступа к необходимой информации с минимальными затратами времени и сил. И в настоящее время все чаще частью этого информационного пространства оказываются программные продукты 1С:Предприятие.

Если вы уже столкнулись с проблемой решения задачи интеграции, то надеемся, что наш обзор поможет вам сделать правильный выбор. Если же такая задача Вас пока миновала, то с нашей помощью Вы сможете встретить ее во всеоружии.

 

 

Итак, начнем. Осуществить интеграцию Вашего .NET приложения с прикладным решением на платформе 1С:Предприятие указанной версии можно одним из следующих способов:

*       обмен через промежуточные файлы (.txt, .csv, .xml, .dbf);

*        выгрузка данных в промежуточное хранилище;

*        использование механизма OLE Automation;

*        использование COM-соединения;

*        публикация Web-сервисов;

*        использование Web-расширения для 1С;

*        прямой доступ к данным (Elisy.LinqTo1CSql.81);

*        Enterra .NET SDK.

В списке представлены не только средства, штатно включенные в платформу 1С, но также и самостоятельные продукты, поставляемые как фирмой 1С (Web-расширение), так и сторонними разработчиками (Enterra .NET SDK, Elisy.LinqTo1CSql.81).

Остановимся подробнее на каждом из указанных способов.

Обмен через промежуточные файлы (.txt, .csv, .xml, .dbf)

Здесь все достаточно ясно: в 1С формируется выборка данных, которая выгружается в файл обмена. Сформированный файл может использоваться другими программными средствами. Возможна и обратная ситуация – сформированный сторонней программой файл заданного формата загружается и обрабатывается 1С:Предприятие. Естественно, такого рода обмен потребует создания специальной обработки (либо правил обмена) для выгрузки/загрузки файла.  Минусы такого варианта очевидны – любые изменения в конфигурации 1С потребуют внесения изменений в процедуру экспорта/импорта файлов, в случае отложенной загрузки файла выгруженные данные могут устаревать, требуются дополнительные усилия для обеспечения защиты передаваемой информации. Подобный способ подходит для решения небольших интеграционных задач (например, публикация прайс-листа на веб-сайте), для его использования требуется владение приемами разработки в среде 1С.

Стоимость: средства работы с указанными файлами входят в поставку платформы 1С:Предприятие, дополнительных затрат не требуется.

Выгрузка данных в промежуточное хранилище

Предполагается выгрузка данных непосредственно в хранилище, используемое программным продуктом, который требуется интегрировать с 1С:Предприятие (например, в родную базу данных веб-сайта). В данном случае, как и для предыдущего варианта, требуется владение навыками конфигурирования 1С, к тому же в промежутках между выгрузками теряется актуальность данных.

Использование OLE Automation, COM-соединений

Для их использования в Вашем приложении вполне традиционным образом создается Automation-сервер либо Com-соединение. Через Automation-сервер Вы получаете доступ к системным константам, заданным в конфигураторе объектам и переменным, объявленным в модуле приложения. В качестве методов Automation-сервера можно использовать системные процедуры и функции, а также процедуры и функции модуля приложения и общих модулей, объявленные с ключевым словом Экспорт.

При использовании COM-соединения вместо процедур модуля приложения и объявленных в нем переменных, Вы получаете доступ к переменным, процедурам и функциям модуля внешнего соединения.

Типичный недостаток данных способов – возможна низкая скорость при передаче больших массивов данных. В случае COM-соединения данная проблема может быть частично решена путем использования пула соединений.

Стоимость: данные средства входят в поставку платформы 1С:Предприятие, дополнительных затрат на их приобретение не требуется.

Web-сервисы

Платформа 1С:Предприятие реализует механизмы создания Web-сервисов, которые могут быть опубликованы на сервере IIS или Apache. Создание Web-сервиса требует профессиональных знаний встроенного языка 1С (и принципов конфигурирования, конечно).

Стоимость: данные средства входят в поставку платформы 1С:Предприятие, дополнительных затрат на их приобретение не требуется.

Web-расширение (http://v8.1c.ru/overview/Term_000000286.htm#1)

Представляет собой самостоятельный коммерческий продукт, позволяющий создавать веб-формы и веб-отчеты для конфигураций 1С:Предприятие, а также предоставляющий средства для использования функциональности платформы 1С:Предприятие при разработке приложений в среде .NET.

 Web-расширение рассчитано на работу с ASP.NET и построено на использовании технологии Web Forms. Связь с информационной базой 1С:Предприятие осуществляется через ADO.

В вышедшей не так давно версии платформы 1С:Предприятие 8.2., набор функций, связанный с созданием веб-форм и веб-отчетов, реализован штатными средствами платформы. Что же касается разработки .NET  приложений, использующих функционал 1С:Предприятие, то здесь имеется ряд ограничений. Во-первых, Web-расширение рассчитано на работу только с ASP.NET, то есть не может использоваться для создания Windows-приложений. Во-вторых, реализация доступа к базе посредством ADO позволяет получить данные, но не дает возможности вызова методов объектов 1С:Предприятие, что существенно снижает сферу применимости продукта.

Таким образом, использование Web-расширения нецелесообразно для решения простых задач. Для решения же более серьезных задач (как например, реализация вызова хранимых процедур 1С из стороннего приложения) его средств может и не хватить. К тому же, очень похоже, что после объединения с Bitrix, а также выпуска платформы 8.2, фирма 1С не собирается развивать Web-расширение, так как последняя его версия рассчитана на работу с Microsoft .NET Framework 1.1, и никаких обновлений для данного продукта 1С не анонсирует.

Стоимость:  26 000 руб. (цена указана в соответствии с официальным прайс-листом фирмы 1С - http://v8.1c.ru/price/)

Прямой доступ к данным (технология Linq)

Данная технология предполагает доступ к данным 1С:Предприятие с помощью прямого запроса к SQL серверу. Основная сложность в случае прямого доступа – «специфический» подход 1С к именованию таблиц и полей в SQL базе, документация на стандарты которого фирмой 1С не распространяется. Кроме того, любое существенное обновление конфигурации может привести к изменению структуры базы данных, а значит к тому, что созданные напрямую запросы станут неработоспособными.

Способ частично разрешить проблемы прямого доступа предлагают создатели компонента Elisy .Net Bridge (назначение компонента – расширение функциональности 1С возможностями .NET, в частности, возможностью использовать классы .NET из 1С). В качестве решения предлагается обработка Elisy.LinqTo1CSql.81, генерирующая dbml-файл из 1С (http://www.richmedia.us/post/2009/10/linqtosql-1c-dbml-generator.aspx).

В качестве названий классов используются имена объектов из метаданных конфигурации 1С. Если имена таблиц и полей меняются вследствие обновления конфигурации, требуется заново сгенерировать dbml-файл, изменений в код классов программы при этом вносить не нужно.

Преимущества данного метода – для экспорта/импорта данных не требуется посредников (повышается скорость),  получение данных можно осуществлять без временной задержки (гарантирована актуальность данных).

Есть у метода и явные недостатки – всегда существует риск нарушить бизнес-логику прикладного решения 1С, используя метод прямого доступа для записи данных, что может привести к неработоспособности системы в целом. К тому же метод прямого доступа является спорным с точки зрения его соответствия лицензионной политике 1С. Точнее, лицензионное соглашение 1С явно указывает, что «нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия" – например, при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД». Хотя в соответствии с Гражданским Кодексом «изготовителю базы данных, создание которой (включая обработку или представление соответствующих материалов) требует существенных финансовых, материальных, организационных или иных затрат, принадлежит исключительное право извлекать из базы данных материалы и осуществлять их последующее использование в любой форме и любым способом".

В общем, если Вы все-таки решите использовать прямой доступ, помните, что Вы делаете это на свой страх и риск. В случае файл-серверного варианта работы с базой метод прямого доступа неприменим.

Стоимость: Самостоятельное использование прямого доступа – бесплатно (не считая возможных последствий за нарушение лицензионного соглашения 1С).

Использование Elisy.LinqTo1CSql.81 – бесплатно, в дальнейшем разработчиками планируется включить данное средство в состав компонента Elisy .Net Bridge, стоимость которого в настоящее время составляет 50 EUR за 1 рабочее место и 40 EUR за 2-9 рабочих мест (источник - //infostart.ru/public/20035/). При этом нужно учитывать, что количество лицензий зависит от числа имеющихся рабочих мест  1С:Предприятие.

Enterra .NET SDK (http://www.enterra.ru/enterra-net-sdk-1s.html)

Представляет собой компонент .NET, предоставляющий возможности использования функциональности 1С:Предприятие при создании .NET приложений. Объектная модель 1С:Предприятие представляется в виде набора классов .NET, позволяющих работать с метаданными, использовать свойства и методы объектов 1С:Предприятие, работать со ссылками, реквизитами и табличным частями объектов. Подключение к информационной базе 1С:Предприятие осуществляется посредством технологии COM.

Плюсами данного способа являются возможность работы с 1С конфигурацией без необходмости использования средств разработки 1С, так как работа с данными осуществляется привычными средствами .NET (тем не менее, необходимо знакомство с объектной моделью 1С и понимание принципов бизнес-логики прикладного решения, с которым Вы собираетесь интегрировать свой продукт).

Стоимость: 9 800 руб. Необходимое количество лицензий определяется числом разработчиков, одновременно работающих с компонентом.

Таким образом, досконально разобравшись в достоинствах и недостатках существующих способов интеграции, можно сделать следующие выводы:

1.           Если перед вами стоят довольно простые интеграционные задачи, и при этом Вы обладаете навыками конфигурирования 1С, то подходящим решением может стать обмен данными через промежуточные файлы, либо выгрузка в промежуточное хранилище.

2.           Для решения задач связанных с публикацией данных из 1С в web, имея при этом продвинутые навыки 1С-разработки, можно использовать механизм Web-сервисов.

3.           Если же Вас не привлекает необходимость овладения навыками конфигурирования 1С, то Вам больше подходит Enterra .NET SDK, позволяющая работать с 1С:Предприятие непосредственно из среды .NET, при этом предоставляя возможность решения очень широкого круга интеграционных задач.

Надеемся, данная статья окажется полезной для Вас и поможет принять наиболее эффективное решение в выборе способа интеграции Вашего программного продукта с 1С:Предприятие.

Скачать файлы

Наименование Файл Версия Размер
Enterra .NET SDK для 1С - демо версия (15 дней)

.msi 5,57Mb
97
.msi 5,57Mb 97 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Elisy 940 17.12.09 13:25 Сейчас в теме
Есть еще неперечисленный Elisy .Net Bridge, который давно представлен на Инфостарт с огромным числом примеров использования .Net framework. Думаю, что по степени интеграции с 1С и числу поддерживаемых версий 1С он превосходит все вышеперечисленные методы интеграции.
2. enterra 31 17.12.09 13:50 Сейчас в теме
Если Вы прочтете статью внимательнее, то найдете в обзоре и этот продукт. Мы также постарались проанализировать достоинства и недостатки этого продукта. И далеко не все вышеперечисленные методы интеграции он превосходит, по нашему мнению. Но решать это, безусловно, пользователям. :)
iyrrik; ИТ-Терминал; +2 Ответить
3. Elisy 940 17.12.09 13:56 Сейчас в теме
(2) Хорошая достойная статья. В подтверждение своих слов ставлю "плюс". Но Elisy .Net Bridge представлен в статье одной внешней обработкой Elisy.LinqTo1CSql.81, которая составляет лишь малую часть продукта. Это меня и смутило. Основой же является Elisy.NetBridge.dll, которая позволяет из 1С обращаться ко всей функциональности .Net Framework.
4. steban 72 17.12.09 15:14 Сейчас в теме
Типичный недостаток данных способов – возможна низкая скорость при передаче больших массивов данных. В случае COM-соединения данная проблема может быть частично решена путем использования пула соединений.
неверно.
или неточно.
при пулинге соединений скорость передачи больших массивов данных не меняется.
7. AnnaDav 18.12.09 08:46 Сейчас в теме
(4) Да, вы правы. Возможно, не совсем аккуратно сформулировано. Имелось в виду, что использование пула положительно сказывается на скорости COM-соединения в целом (за счет экономии времени (и ресурсов) на получение соединения). Спасибо, что обратили внимание на неточность.
5. annak2980 18.12.09 00:32 Сейчас в теме
Хорошая статья, в качестве вводного обзора для меня, как новичка в этих вопросах.
К спецам: для того и существует форум статьи, чтобы высказывать свои замечания, обсуждать неточности или делиться опытом по теме.
6. Elisy 940 18.12.09 08:26 Сейчас в теме
Выводы могу сделать такие: Enterra - лишняя в статье, так как ничего нового не несет, а дублирует доступ к 1С через КОМ. Более того, использование Enterra приведет к появлению ненужного посредника и необходимости знать две объектные модели: одну для 1С, а другую, которую вводит Enterra. 1С с КОМом до этого нормально справлялась.
Enterra не несет в себе визуальных компонентов, а опирается на .Net-контролы. В связи с этим Enterra уступает визуальным компонентам 1С, специально заточенным на свою объектную модель. Выглядит это достаточно пестро и чудно, как здесь на картинках, особенно в связке с нелокализованными на русский язык контролами сторонних производителей (для OLAP).
Не вздумайте отображать многострочные объекты 1С (например, регистры сведений), как показано в примерах. Кроме зависания это ничего не вызовет. Реализация же их вывода нормальным образом через виртуальный режим DataGridView (VirtualMode) может занять у вас остаток жизни.
Прикрепленные файлы:
mini_root; +1 Ответить
8. AnnaDav 18.12.09 10:31 Сейчас в теме
(6)
Enterra - лишняя в статье, так как ничего нового не несет, а дублирует доступ к 1С через КОМ


Enterra SDK, возможно, и не несет ничего нового, но цель не в этом. Использование компонента просто экономит ВАШЕ время на создание .NET оберток + дает некоторые рецепты обращения с 1С из .NET кода

Более того, использование Enterra приведет к появлению ненужного посредника и необходимости знать две объектные модели: одну для 1С, а другую, которую вводит Enterra

Не совсем понятно, о какой собственной модели идет речь? Enterra SDK практически не вводит своих новых типов, модель полностью основана на объектной модели 1С

1С с КОМом до этого нормально справлялась

1С с КОМом нормально справляется» - сомнений нет. Идея в том – что Enterra SDK дает .NET разработчику объектную модель 1С в удобном и привычном виде, а значит, экономит время и силы на необходимость вникать в детали работы и 1С, и механизмов COM

Enterra не несет в себе визуальных компонентов, а опирается на .Net-контролы

90% визульных компонентов опирается на .NET контролы. Очень мало тех, кто создает свои собственные текстбоксы, комбобоксы и т.д. Enterra SDK таки включает некоторый минимальный набор контролов для работы с 1С сущностями, но ценность ее конечно не в контролах, а совсем в другом (см. выше)

Не вздумайте отображать многострочные объекты 1С (например, регистры сведений), как показано в примерах. Кроме зависания это ничего не вызовет

Почему-то ни в примерах, ни при использовании компонента, зависания не наблюдалось. Так что непонятно, на основании чего Вы сделали подобный вывод.
10. Elisy 940 18.12.09 13:34 Сейчас в теме
(8)
Enterra SDK, возможно, и не несет ничего нового, но цель не в этом. Использование компонента просто экономит ВАШЕ время на создание .NET оберток + дает некоторые рецепты обращения с 1С из .NET кода

1C.NET Adapter (http://www.gotdotnet.ru/files/406/) экономит время и дает рецепты. А Enterra ничего нового не приносит на этом поприще.

Не совсем понятно, о какой собственной модели идет речь? Enterra SDK практически не вводит своих новых типов, модель полностью основана на объектной модели 1С

К каким объектам 1С относятся "Session", "ConfigTreeControl", "DocumentObjectViewControl". А сразу человек узнает, что за "ValueTable" скрывается ТаблицаЗначений?

Enterra SDK дает .NET разработчику объектную модель 1С в удобном и привычном виде

Зная .Net-разработчиков, они мягко говоря удивятся и отойдут от этого удивления не скоро от конструкции вида
string queryText =
@"ВЫБРАТЬ   
    Представление(ЗаказСоставЗаказа.Номенклатура) КАК Номенклатура,
...


Enterra SDK таки включает некоторый минимальный набор контролов для работы с 1С сущностями

Не исключаю, что Entera будет расширятся в будущем, но пока то, что есть сейчас сильно не впечатляет (см фото выше).

Почему-то ни в примерах, ни при использовании компонента, зависания не наблюдалось. Так что непонятно, на основании чего Вы сделали подобный вывод.

На основании работы с вашими примерами. Для ваших тестеров - воспроизвести проблему можно так: 1) Взять реальную базу 1С с регистром сведений с >100,0 тысяч записей 2) Открыть пример "Простой проводник по 1С" 3) Выбрать регистр сведений 4) Нажать "Загрузить"
19. mini_root 152 21.12.09 12:19 Сейчас в теме
Мда... буря в стакане :D

Вот вам еще один вариант:

"Интеграция 1С с сервисной шиной OpenESB"

http://infostart.ru/public/21506/

И все, дальше рисуй мышкой BPEL процесс. Минусы текущей реализации перечислены в конце статьи.

Причем ничего инновационного в этом нет - там тот же самый COM(инновация только в попытке вывести это все на уровень BPEL'я) Равно как и ничего нового нету в подстановке в запрос реальных названий таблиц/полей - у меня такая штука оформлена в виде JDBC драйвера, ниче, работает.

Есть мысли оформить это все в виде опенсорсного проекта + добавить туда же адаптеры к различным MOM'ам.

>Enterra SDK, возможно, и не несет ничего нового, но цель не в этом. Использование компонента просто экономит ВАШЕ время на создание .NET оберток + дает некоторые рецепты обращения с 1С из .NET кода

так ли это актуально с выходом DLR и массовым грядущим цветением динамических ЯП на платформе .NET? и писать тогда строки вида:

(bool)Invoke(currentType, "СодержитТип", new object[] {doubleType})

уже не придется, вместо них будет:

currentType.СодержитТип(doubleType)

Автор статьи скромно умолчал о недостатках своего продукта, а они ровно такие же как и для COM, ибо это COM и есть.

>Стоимость: 14 500 руб. Необходимое количество лицензий определяется числом разработчиков, одновременно работающих с компонентом.

Удачи...

В целом согласен с выводами Elisy в (6).

P.S. Замечательные форум для детального обсуждения:
>У вас не достаточно прав на просмотр форума.
9. enterra 31 18.12.09 12:03 Сейчас в теме
Есть предложение переместиться с предметным обсуждением компонента в соответствующий раздел на форуме - http://infostart.ru/public/62798/forum/topic/29937/.
Будем рады продолжить конструктивный диалог. :)
11. Elisy 940 18.12.09 13:39 Сейчас в теме
(9) В форум меня не пускают: "У вас не достаточно прав на просмотр форума."
12. enterra 31 18.12.09 13:49 Сейчас в теме
(9) В форум меня не пускают: "У вас не достаточно прав на просмотр форума

Теперь Вы приглашены на форум, заходите, будем обсуждать. :)
13. OSlike 19.12.09 15:25 Сейчас в теме
Чем Enterra лучше чем web - расширение не очень понятно.
18. AnnaDav 21.12.09 12:07 Сейчас в теме
(13)
Чем Enterra лучше чем web - расширение не очень понятно

Как минимум - ценой ))
К тому же, Web-расширение реализует ADO для 1С, Enterra SDK создает набор классов, идентичный структуре метаданных 1С - то есть дополнительный возможности в виде вызова тех же хранимых процедур + простота использования.
Еще одно отличие - применение Web-расширения ограничено ASP.NET, Enterra SDK таких ограничений не имеет
14. pvvpvv 10 19.12.09 18:32 Сейчас в теме
Обидно. Давайте обсудим дядю васю. Ему будет приятно.
15. pvvpvv 10 19.12.09 18:42 Сейчас в теме
Не пойму,что продаем? NET - он и в африке NET.
16. I_G_O_R 65 20.12.09 08:20 Сейчас в теме
Статья посвящена анализу существующих способов и инструментов интеграции .NET приложений с прикладными решениями 1С:Предприятие
мне кажется это реклама, но для кого? для 1С-ников? врядли, может для .NET программистов? так они в другом месте бывают, например: http://gotdotnet.ru.

и забыли добавить еще один способ: когда сотрудничают два программиста, каждый делает то, что умеет.
17. d.snissarenko 20.12.09 09:08 Сейчас в теме
Видимо автор про веб расширение от 1с знает понаслышке, не одним вызовом хранимых процедур и функций он хорош, их можно и в .net создать.
Пул в 10 соединений к базе выдерживает более 100 клиентских коннектов к iis и больше, все зависит от правильности написания кода.
То, что в 8.2 доступно через веб это другое и сделано для абсолютно других целей, об этом на партнерской конференции было озвучено.
Вот пример работы веб расширения http://sunrise-ufa.ru , используется только ado.
Да веб контролы от 1с не блещут красотой и юзабельностью, но кто запрещает их не использовать в своем приложении.
20. AnnaDav 21.12.09 12:20 Сейчас в теме
(17)
Пул в 10 соединений к базе выдерживает более 100 клиентских коннектов к iis и больше, все зависит от правильности написания кода.

Да, работа с пулом, несоммненно одна из сильных сторон Web-расширения

То, что в 8.2 доступно через веб это другое и сделано для абсолютно других целей, об этом на партнерской конференции было озвучено.

Только вот не понимаю в чем принципиальное различие в назначении веб-форм и веб-отчетов, созданных в 8.2 и c помощью Web-расширения?

К тому же, новых релизов Web-расширения не выпускалось уже очень давно, работает оно на старой версии .NET Framework (1.1.) - кажется мне, что все это весьма недвусмысленно свидетельствует о том, что сама 1С не считает данный продукт перспективным.
21. mini_root 152 21.12.09 12:21 Сейчас в теме
(18 )>Еще одно отличие - применение Web-расширения ограничено ASP.NET, Enterra SDK таких ограничений не имеет

Я тут хочу страничку на JSP сделать, не подскажите как мне использовать Enterr'у?

23. AnnaDav 21.12.09 14:37 Сейчас в теме
(21)
Я тут хочу страничку на JSP сделать, не подскажите как мне использовать Enterr'у?


Обращайтесь, реализуем для вас требуемый функционал для JSP
25. mini_root 152 21.12.09 15:16 Сейчас в теме
(23) Это каким же образом? :D
22. d.snissarenko 21.12.09 12:31 Сейчас в теме
В итоге, например для меня очень критично иметь пул, а никто кроме 1с веб расширения его предоставить не может, да убогое описание, да собирание инфы по крохам, тем не менее, работает и работает стабильно, кстати ну что вы прицепились к контролам от 1с, получаете запросом DataSet в которой можно хранить туеву гору таблиц и вперед использовать контролы 3.5 фреймворка, ну невозможно использовать кроме как в проектах asp .net
24. Лузер 3 21.12.09 14:53 Сейчас в теме
Могу привести минусы в создании web расширений 1с - такие приложения очень затратны - и внедрение и поддержания выйдет довольно трудоемким для любой фирмы. А для мелких компаний с небольшим бюджетом простым решением служит объединение web и 1с по средством выгрузки и загрузки заказав.

Таким образом мы сокращаем штат как минимум на системного администратора (который должен держать сервер хостин), уменьшения трафика и что самое главное уменьшения уязвимости через сеть интернет.

Хотя есть и минусы - мы теряем оперативность в обработке остатков и заказов. Но опять же не в такой мере чтобы переплачивать за решения такие деньги.
26. d.snissarenko 21.12.09 20:02 Сейчас в теме
(24) Если предприятие решило создать нормальную b2b систему, а не просто инет магазин, то тут уже виртуемарты и шопскрипты отпадают, когда стоит речь об оперативности данных в разрезе секунды, вот тут и надо думать как и на чем делать.

Встроенные в 8.1/8.2 веб сервисы
1с веб расширение
ну и "костыли"
27. Лузер 3 23.12.09 11:18 Сейчас в теме
Могу вас заверить что большие компании не используют 1с в качестве основного софта (т.к. 1с хотя бы просто не умеет работать шустра с большим количеством клиентов).

И когда речь идет о большой оперативности и скоростях могу вам сказать что веб приложения вас просто не спасут - проще организовать сеть на тонких клиентах... (опять же это эффективней и дешевле).

Единственный вариант когда можно задействовать веб приложения 1с или веб приложения другого софта - это удаленный склад или офис с низко пропускным каналам интернета (но и в таких ситуациях есть более комфортные решения).

Хотя поставить плюс автору за статью стоит (хотя бы за обще ознакомительный материал)!
28. lvadim 21 23.12.09 12:33 Сейчас в теме
Для полноты картины учитывайте "Корпоративную аналитику для 1С" от Инталева:
http://www.intalev.ua/index.php?id=26866

Она выгружает данные в хранилище SQL методами Integration Service, динамически строя пакеты на C##. При этом ключи GUID меняются на Int для скорости работы..
Правда для соблюдения требований 1С это делается через промежуточную базу, формируемую на ADO (структуры такой же как база 1С), но оно умеет и без...
Ну а вообще хранилище там строится для нужд OLAP но может и для другого использоваться, т.к. "очеловечено"..
Стандарт (55 000 рублей за установку на сервер)
Бизнес (130 000 рублей за установку на сервер)
29. AnnaDav 28.12.09 11:52 Сейчас в теме
(28)
Выгрузка данных в промежуточное хранилище была упомянута в статье в качестве одного из возможных вариантов.
А насчет "Корпоративной аналитики" - все-таки использование OLAP продукта для решения задач интеграции кажется не очень целесообразным...
30. apilyugina 13.10.11 09:32 Сейчас в теме
Компонент теперь распространяется бесплатно, подробности на сайте компании Энтерра http://www.enterra.ru/enterra-net-sdk-1s.html
31. dmitriypr 03.04.14 12:54 Сейчас в теме
32. avz_1C 10 12.11.15 17:38 Сейчас в теме
Спасибо "Enterra" за open source Enterra .Net SDK для 1C

Вот бы ещё посмотреть примеры применения данного компонента.

Я посмотрел код, в компоненте применяется объект V8X.ComConnector (comcntr.dll), поставляемый с платформой 1С.

А вот было бы здорово, вовсе обойтись без "переходника" от 1С, а сразу обращаться к базе 1С.

Причем, как к файловой, так и к SQL-ной!

Как бы это сделать?
33. user1120008 27.12.18 09:56 Сейчас в теме
Ни где не могу найти ни одного примера использования Enterra .net в .net приложении, поделитесь кто нибудь исходником.
34. пользователь 26.07.19 09:13
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

См. также

Установка баз данных из Проводника Промо

Сервисные утилиты Администрирование данных 1С Стартеры 1С Абонемент ($m)

Взяли выгрузку базы у клиента? Прислали по почте файл конфигурации? Хотите развернуть базу данных двойным щелчком на файле *.dt или *.cf? Database Manager - то что вам нужно!

2 стартмани

28.10.2013    38844    106    Evil Beaver    30    

Локальное управление мышью по HTTP-сервису

Сервисные утилиты Периферийные устройства Абонемент ($m)

Приложение для управления мышью. Для управления из программ используется интерфейс HTTP (веб-сервер встроен в приложение). В купе с Windows Script Host's возможно полное освобождение пользователя от рутинных операций.

1 стартмани

14.06.2021    1218    2    9539356    1    

Как правильно удалять данные из больших массивов

Практика программирования Универсальные функции Абонемент ($m)

Как правильно удалять данные из больших несортированных массивов

1 стартмани

15.02.2021    2052    0    Def.Gh    14    

В8АнПак - onepack - Новый распаковщик конфигураций

Сервисные утилиты Абонемент ($m)

Инструмент для работы с файлами 1С v8 (cf, cfu, cfe, epf, erf, hbk)

5 стартмани

14.12.2020    7706    38    SerVer1C    80    

Менеджер буфера обмена с поддержкой 1С - ClipAngel 1.98 Промо

Сервисные утилиты Прочие инструменты разработчика Абонемент ($m)

Этот помощник запоминает все, что вы копируете в буфер обмена, и позволяет легко и быстро найти в истории нужную информацию и вставить ее в любое окно.

1 стартмани

17.01.2017    38876    74    tormozit    234    

Загрузка файлов на сервер с использованием HTTP-сервиса 1С (multipart/form-data).

Практика программирования WEB Абонемент ($m)

Вариант загрузки файлов в составных данных методом POST (multipart/form-data) на примере демонстрационной базы.

1 стартмани

12.08.2020    9397    20    ltfriend    5    

DBCC CHECKDB CHECKTABLE - автоматическое исправление поврежденных индексов и оповещение о повреждении баз данных SQL на e-mail

Администрирование СУБД Тестирование и исправление Абонемент ($m)

Проверка целостности баз данных SQL при помощи DBCC CHECKDB, автоматическое исправление поврежденных индексов в таблицах данных и оповещение о повреждении баз данных и результатах исправления на e-mail.

1 стартмани

19.06.2020    4557    2    itoptimum    0    

Настройка архивации баз MS SQL Server и мониторинг с помощью OneScript

Архивирование (backup) Системное администрирование OneScript Абонемент ($m)

Схемы архивации баз и мониторинга. Скрипт для архивации журналов транзакций с записью лога в текстовый файл. Скрипты для мониторинга состояния архивации с отправкой статуса на почту.

2 стартмани

01.05.2020    5543    4    info1i    2    

Веб-разработка на 1С (1Script) Промо

Практика программирования Абонемент ($m)

Дорогие коллеги, под новый год хочется сделать небольшой сюрприз. Я уже два года обещаю сделать движок веб-разработки для 1С-ников, и вот, наконец, есть что показать. Этим новогодним постом я открываю сериал "Веб-разработка для 1С-ников". Все, кто знаком с проектом OneScript – добро пожаловать! Остальные, тоже не стесняйтесь!

1 стартмани

28.12.2017    32938    22    Evil Beaver    82    

Конвертация PDF в 1С

Практика программирования Разработка внешних компонент Абонемент ($m)

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    15206    60    SerVer1C    101    

Готовое решение для резервного копирования баз данных Postgresql

Архивирование (backup) Россия Абонемент ($m)

BAT файл для создания резервных копий баз данных средствами Postgresql.

1 стартмани

13.03.2020    5721    0    SerGray    2    

Резервное копирование и обслуживание баз данных 1С 8.3 на PostgreSQL

Архивирование (backup) Администрирование СУБД Абонемент ($m)

Резервные копии обязательны для 1С, особенно важно при большем документообороте. В статье я расскажу, как у нас организовано резервное копирование, обслуживание и восстановление из копии базы 1С 8.3, работающей на PostgreSQL

1 стартмани

31.01.2020    9069    29    kolianus    2    

Автоматизация администрирования и разработки 1С с помощью PowerShell Промо

Администрирование данных 1С Абонемент ($m)

Модуль автоматизации обслуживания 1С

1 стартмани

29.11.2016    24180    19    c1nil    5    

Скрипт (bash) автоматической ежедневной выгрузки баз Postgres на ftp-сервер + Скрипт восстановления

Архивирование (backup) Абонемент ($m)

Скрипт автоматически выгружает базы Postgres и выкладывает на ftp-сервер. Сохраняет базы по дням недели, что позволяет экономить место на диске. Добавлен скрипт для восстановления базы из архива.

1 стартмани

15.01.2020    9554    11    Mallok    9    

Резервное копирование БД 1С средствами батника и выгрузка файловой базы в dt

Архивирование (backup) ИТ-компания Россия Абонемент ($m)

Резервное копирование БД с помощью батника. Код батника совсем небольшой.

1 стартмани

13.01.2020    13325    5    dron-s    19    

Утилита, предназначенная для просмотра, изменения, добавления, удаления и извлечения ресурсов в исполняемых (.EXE, .DLL и др.) и ресурсных файлах (.RES) ОС Windows. для формирования своего отдельного DLL файла

Сервисные утилиты Абонемент ($m)

Иногда в разработке конфигурации мы используем DLL библиотеки с драйверами или приложения для весовых терминалов к примеру, но они представлены не в той форме, которая подходит непосредственно для нашего приложения, либо запрашивает диалоги, которые не очень нужны, для их исправления и изменения и предназначена данная утилита.

10 стартмани

05.11.2019    10075    6    vik070777    14    

Удаленная консультация Промо

Сервисные утилиты Абонемент ($m)

Простая и удобная удаленная консультация пользователей. Доступен исходный код.

1 стартмани

26.07.2015    30637    96    gzharkoj    56    

Скрипт powershell - контроль размера файлов журнала регистрации 1С на сервере

Журнал регистрации Россия Абонемент ($m)

Скрипт powershell, который отправляет на указанную почту информацию о свободном месте на дисках сервера (где запускается данный скрипт) и информацию о размерах файлов журнала регистрации 1С (+ прикреплен файл 1CV8Clst).

1 стартмани

11.10.2019    4825    2    GG_Dots    0    

Распаковка хранилища значений средствами MS SQL Server

Практика программирования Абонемент ($m)

Способ извлечения данных из 1С-ного "ХранилищеЗначений" в MS SQL Server с помощью самописной скалярной функции (без использования платформы 1С).

1 стартмани

23.09.2019    9522    4    SerVer1C    11    

Мониторинг выхода обновлений конфигураций

Администрирование данных 1С Абонемент ($m)

Надоело ежедневно сидеть на сайте 1Сном в ожидании информации что вышел новый релиз конфигурации? А сторонними программами мониторинга пользоваться не хочется? Тогда напишем такой мониторинг самостоятельно!

1 стартмани

07.09.2019    5309    0    KiborG85    0    

Двойной клик. Пожалуйста Промо

Администрирование данных 1С Абонемент ($m)

Программа, позволяющая двойным щелчком открывать внешние отчеты, обработки и табличные файлы 1С. Открыты они будут в запущенном сеансе 1С Предприятие или конфигураторе. Если окон найдется несколько, будет задан вопрос - в каком открывать. Наподобие открытию документов Office.

1 стартмани

27.03.2015    32754    79    capitan    49    

Расширяем возможности MS SQL Server с помощью хранимых процедур CLR

Практика программирования Разработка Абонемент ($m)

Не хватает какого-то функционала на скуле для обработки данных? Тогда он (новый функционал) идет к вам.

1 стартмани

02.09.2019    11027    1    SerVer1C    9    

Универсальный скрипт резервного копирования Postgres, архивирует все базы сервера баз данных

Архивирование (backup) Абонемент ($m)

Предлагаю использовать универсальный скрипт резервного копирования Postgres, архивирует все базы сервера баз данных, архивируются все добавленные базы, ведется лог архивирования, контролируется глубина архива. Скрипт тестировался на PostgreSQL 10.5 CentOS Linux release 7.6.1810

1 стартмани

13.08.2019    11483    4    solaru    4    

Передача баз PostgreSQL на удалённый сервер резервных копий, удобное восстановление. Почасовой и ежесуточный вариант. В общем, ещё один скрипт

Архивирование (backup) Абонемент ($m)

Скрипты сохраняют резервную копию в архив и отправляют на удалённый rsync сервер самым оптимальным образом. Вы без проблем сделаете текущую резервную копию или восстановите за любой другой день, не выгоняя пользователей. Есть вариант с восстановлением на любое время. Не нужны ни белые IP адреса клиентов с NAT, ни VPN. Максимально облегчённый вариант, позволит вам массово подстраховать базы клиентов, и стоить вам будет это почти ничего.

1 стартмани

05.08.2019    11945    2    ЕСТЬNULL    0    

1С Tool Kit - программа для работы со списком информационных баз 1С Промо

Администрирование данных 1С Абонемент ($m)

Программа для работы со списком информационных баз 1С

1 стартмани

21.01.2014    36022    113    kostik_love    33    

Перфолента, первое знакомство. Новый язык программирования

Практика программирования Инструментарий разработчика Абонемент ($m)

Первое знакомство с новым языком программирования Перфолента. В статье описано назначение языка, причины его появления, основные характеристики и возможные варианты использования.

22.07.2019    24146    0    Perfolenta    165    

Удаленная поддержка в рамках локальной сети (UltraVNC Single Click)

Администрирование данных 1С Абонемент ($m)

Что только не используют для управления удалёнными рабочими в локальной сети... да ничего не используют. Сисадмины (не берем банковских), которых знаю я, втыкают каждому тимвьюер и не заморачиваются. Как известно: хороший сисадмин - ленивый сисадмин. Но и тимвьюер не стоит на месте, недавнее обновление потрепало многих и ограничило время до законных 5 минут... Кого это коснулось, прошу под кат...

5 стартмани

28.06.2019    7767    2    capitan    21    

Elastic + filebeat + ТЖ 1С

Журнал регистрации Поиск данных Абонемент ($m)

Рассмотрим как можно обрабатывать удобно большой объем информации с простой структурой. Это удобно для анализа логов ТЖ, поскольку типовыми механизмами он невозможен.

1 стартмани

18.06.2019    23481    45    pashamak    32    

Дополнительная защита терминального сервера под Windows 2008+ или блокируем кулл-хацкеров Промо

Сервисные утилиты Абонемент ($m)

При открытии удаленного рабочего стола в "большой интернет" неизбежно будет появляется большое количество желающих его взломать. Несложный скрипт поможет существенно затруднить работу по перебору паролей.

1 стартмани

03.12.2013    59789    50    Dimasik2007    38    

БЭКАПЕР на FTP c открытым кодом

Архивирование (backup) Абонемент ($m)

Бесплатная Windows программа для автоматической загрузки (дублирования) архивов баз данных 1С, SQL и прочих файлов на ваш FTP-сервер. Надёжная защита от вирусов шифровальщиков и прочих неприятностей связанных с потерей данных. Программа полностью бесплатная + представляются исходный код, чтобы каждый мог её доработать под себя.

1 стартмани

14.06.2019    10380    11    yukoz    4    

Настраиваемое мобильное приложение для сканирования штрихкодов

Практика программирования Сканер штрих-кода Мобильная разработка Абонемент ($m)

Обзор приложения для сканирования штрихкодов с возможностью обработки результата сканирования произвольным кодом для совместного использования с Android приложениями через Intent и взаимодействие с 1С конфигурациями через web-сервис.

1 стартмани

14.01.2019    12461    6    inord777    10    

Мониторинг windows серверов на раз, два с помощью prometheus и grafana

Сервисные утилиты Абонемент ($m)

Вдохновленный статьей про сбор, хранение и визуализации показателей с помощью prometheus и grafana подготовил готовый docker-compose файл для быстрой настройки и запуска мониторинга windows серверов.

1 стартмани

08.01.2019    17567    9    metmetmet    20    

Tight VNC 1С Удаленное администрирование Промо

Администрирование данных 1С Абонемент ($m)

Tight VNC 1С Удаленное администрирование

1 стартмани

24.09.2013    34333    120    FoxDW    30    

Резервное копирование и обслуживание баз Postgre SQL в Windows

Архивирование (backup) Россия Абонемент ($m)

Резервное копирование и обслуживание баз Postgre SQL в Windows скриптами командной строки

1 стартмани

14.11.2018    16900    57    user598613_svp_gamma    3    

РусскийФокс и BootStrap

Практика программирования Россия Абонемент ($m)

РусскийФокс вносит новый технологический подход в сайтостроение. Теперь вы можете ограничиться знанием Русского Фокса и не иметь знаний по HTML, CSS, JavaScript, PHP, чтоб создавать сайты.

1 стартмани

16.08.2018    8444    1    andreosh    18    

РусскийФокс и ClickerMann заносят данные в 1С

Сервисные утилиты Практика программирования Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . РусскийФокс создает сценарии для Clickermann. Сценарий заполняет справочник в 1С.

1 стартмани

21.07.2018    13761    1    andreosh    20    

Копиратор-1С: выгрузка и загрузка базы 1С (7.7 - 8.3) одной кнопкой! Промо

Сервисные утилиты Архивирование (backup) Администрирование данных 1С Абонемент ($m)

Требуется сохранить базу 1С на флешку? Послать аудиторам на проверку или просто взять домой поработать? Копиратор-1С: универсальный помощник выгрузки и загрузки файловых баз 1С любых версий! Не требует установки и дополнительных программ. Представляет из себя один файл, включающий мощных архиватор 7-zip. Умеет подключать базу в список 1С при загрузке!

1 стартмани

17.06.2013    54428    227    alexey.karmanov    49    

РусскийФокс и OpenOffice, а также исследование объектов

Практика программирования Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . Взаимодействие с OpenOffice. GitHub https://github.com/UfaScript/RusFox

1 стартмани

12.07.2018    8328    1    andreosh    2    

Автоматизация удаления устаревших резервных копий

Архивирование (backup) Абонемент ($m)

Скрипт и библиотека на OneScript для автоматизации удаления устаревших резервных копий.

1 стартмани

08.07.2018    9050    3    metmetmet    2    

"Перезаливатор" - приложение для автоматизации "перезаливки" баз

Архивирование (backup) Абонемент ($m)

В данной статье я хотел бы рассказать о приложении «Перезаливатор», которое позволило нам значительно облегчить процесс «перезаливки» баз, вплоть до самостоятельной «перезаливки» информационных баз консультантами 1С.

1 стартмани

05.07.2018    17094    15    Tavalik    24    

Констартер: универсальный запуск базы 1С из проводника через контекстное меню (папки, dt, cf, zip, 7z) Промо

Стартеры 1С Абонемент ($m)

Универсальный стартер любой базы 1С прямо из проводника! Поддерживает запуск из папок, zip и 7z архивов, dt-выгрузок и cf-файлов конфигураций. Не добавляет базу в список даже для 1С 7.7. Единое меню запуска для всех версий 1С. Интеллектуальное появление в контекстном меню. Интерфейс для нормального удаления и настройки пути к платформам.

1 стартмани

04.07.2013    25185    46    alexey.karmanov    6    

РусскийФокс — 1С-подобный язык программирования

Практика программирования Математика и алгоритмы Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. Знакомство.

1 стартмани

03.07.2018    13150    1    andreosh    50    

Switcheroo_1C - Быстрое переключение между окнами 1С

Сервисные утилиты Абонемент ($m)

Утилита позволяющая переключаться между окнами 1С, аналог Alt+Tab только учитываются 1С приложения.

1 стартмани

18.06.2018    9331    1    WizaXxX    0    

Длинная арифметика (Bignum arithmetic) c COM-интерфейсом (ActiveX) на библиотеках MPIR

Инструментарий разработчика Практика программирования Россия Абонемент ($m)

Расчеты любой точности в вашем программном продукте, поддерживающем стандарт COM. Размер/точность длинного числа зависит только от вашей оперативной памяти. Проект основан на исходниках библиотеки MPIR, Edition 3.0.0. Полностью написан на С/С++ (COM.DLL).

1 стартмани

12.04.2018    8505    1    bedvit    4    

Резервариус администратора: сделай копию и делай, что хочешь! Промо

Архивирование (backup) Абонемент ($m)

Необходимо менять базу [скрипты, файлы ... неважно] и хочется подстраховаться? Копия нужна прямо сейчас, чтобы не тряслись коленки потом и можно было сделать “rollback”? Резервариус: сделай копию и делай, что хочешь! Универсальная система хранения копий любых файлов и папок. Поможет там, где нет смысла применять полноценную систему контроля версий или систему резервного копирования.

1 стартмани

26.06.2013    44223    76    alexey.karmanov    29    

Регистрация компонент 1С и запуск консоли кластера серверов

Сервисные утилиты Россия Абонемент ($m)

Выводит список установленных платформ 1С, позволяет зарегистрировать V8x.COMConnector, V8x.Application, V8x.ServerAbout и запустить консоль кластера серверов 1С для выбранной версии. Показывает текущие версии зарегистрированных компонент 1С (требуется .NET Framework 4.0 и права администратора).

1 стартмани

22.03.2018    16147    47    ROL32    34    

Скрипт резервного копирования PostgreSQL на Powershell

Архивирование (backup) Абонемент ($m)

Заготовка скрипта. Эти заготовки помогут настроить резервное копирование встроенными методами Windows, с помощью Powershell.

1 стартмани

02.03.2018    12461    11    user811626    0    

Установщик Apache 2.4

Администрирование данных 1С Apache Абонемент ($m)

Установщики для Apache 2.4.29 в формате .exe и .msi для ленивых.

1 стартмани

22.01.2018    19393    42    frkbvfnjh    26    

Автоменю (стартер программ) Промо

Стартеры 1С ИТ-компания Россия Абонемент ($m)

Целью разработки программы является упрощение (унификация) администрирования в решении следующей задачи: Автоматическое построение списка приложений для конечных пользователей (Автоменю). Программа проверяет доступность приложения, если приложение недоступно-соответствующий пункт меню не появляется. Умеет работать с переменными среды (%programfies%, %username% и др.) Текущая версия 1.2.8.2 от 18.07.2013 г.

1 стартмани

22.09.2011    26683    21    AERoport    52    

Com to Keyboard - имитация ввода с клавиатуры сигнала, поступающего из Com порта

Сервисные утилиты Абонемент ($m)

Утилита позволяет имитировать ввод с клавиатуры сигнала, поступающего из Com порта. Иногда при использовании оборудования (Сканер и Картридер и т.д.) возникают проблемы с его подключением к системе учета. В таком случае просто не обойтись без дополнительных утилит, позволяющих решить поставленные задачи.

3 стартмани

11.12.2017    11840    11    mvdimas    1    

RDP: Библиотека файлов

Сервисные утилиты Россия Абонемент ($m)

Программа запускается в system tray. В контекстное меню программы загружается список файлов с расширением "*.rdb". Открывает соединение с удаленным рабочем столом.

1 стартмани

27.10.2017    9499    9    arcadics    5    

Программа для изменения осей движения мыши - IMouse

Практика программирования Периферийные устройства Россия Абонемент ($m)

Программа предназначена для изменения движения курсора мыши.

1 стартмани

10.08.2017    15481    4    GubinDenis    19