Использование технологии LinqToSql для прямого доступа к данным 1С:Предприятие


Появление в .Net framework технологии LinqToSql вызвало у многих и у меня, в том числе, резонный вопрос: «А зачем это нужно?». Ведь многие как использовали SQL-выражения или хранимые процедуры для доступа к MSSQL-базе, так и продолжают использовать их даже после выхода LinqToSql. Только недавно технология мне приглянулась с точки зрения прямого доступа к данным 1С:Предприятие 8.x, размещенным на сервере MS SQLServer. Дело в том, что нет абсолютно никакого соглашения о том, как 1С называет свои поля и таблицы, когда хранит их внутри базы данных. Именно здесь облегчит жизнь относительно новая технология Microsoft. К статье прилагается пример на Asp.Net MVC 2, демонстрирующий прямой доступ к данным 1С, работающей с установленной конфигурацией Управление Торговлей.

Появление в .Net framework технологии LinqToSql вызвало у многих и у меня, в том числе, резонный вопрос: «А зачем это нужно?». Ведь многие как использовали SQL-выражения или хранимые процедуры для доступа к MSSQL-базе, так и продолжают использовать их даже после выхода LinqToSql. Только недавно технология мне приглянулась с точки зрения прямого доступа к данным 1С:Предприятие 8.x, размещенным на сервере MS SQLServer. Дело в том, что нет абсолютно никакого соглашения о том, как 1С называет свои поля и таблицы, когда хранит их внутри базы данных. Именно здесь облегчит жизнь относительно новая технология Microsoft. К статье прилагается пример на Asp.Net MVC 2, демонстрирующий прямой доступ к данным 1С, работающей с установленной конфигурацией Управление Торговлей.

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

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

Файлы обработки:

-