DaJet Studio является инструментом, позволяющим использовать сервис-ориентированную архитектуру для баз данных (Service Oriented Database Architecture), которая была впервые реализована и представлена Microsoft в СУБД SQL Server 2005.
Основной упор был сделан на использование языка запросов SQL, модифицированного таким образом, чтобы его можно было использовать в контексте платформы 1С:Предприятие 8. При этом доступно использование всего функционала T-SQL, включая версию SQL Server 2016.
DaJet Studio является продолжением и развитием таких публикаций как:
DaJet QL - расширяемый язык запросов
DaJet MQ - надёжный обмен данными
Использование таблиц SQL Server в качестве очередей сообщений
Репозиторий исходного кода проекта на GitHub: https://github.com/zhichkin/DaJet
В текущей версии проект имеет качество прототипа. Весь заявленный функционал реализован и "размазан" по вышеуказанным публикациям. Целью проекта DaJet Studio является собрать всё это в едином инструменте.
Видео инструкция для начала работы с DaJet Studio на YouTube.
Канал Телеграмм для обсуждения и предложений: https://t.me/dajet_studio
В данный момент поддерживается работа со справочниками, документами, регистрами сведений и накопления. Добавление возможности работы с другими объектами метаданных 1С будет реализовываться по мере возможностей автора DaJet Studio.
Работа с очередями SQL Server возможна при помощи материалов публикаций, указанных выше. Работа с очередями непосредственно из DaJet Studio будет реализована в последующих версиях.
1. Реализовано предложение INTO для команд SELECT и CONSUME. Работает аналогично соответствующему синтаксису для классических СУБД, то есть создаются временные таблицы и в них копируются записи из родительской выборки.
2. Реализован пакетный режим запросов DaJet, то есть получение нескольких наборов записей одним запросом. На уровне web интерфейса или web api пакетный режим не реализован - доступен только средствами C#.
3. Реализован блок OneDbStream подсистемы DaJet Flow, использующий функционал пакетного режима запросов. В этом блоке реализован только один из сценариев, а именно получение шапки (ведущая выборка) + табличные части + другие зависимые данные, добавляемые к шапке в качестве табличных частей.
4. Дополнен функционал сериализатора DataRecordJsonConverter с тем, чтобы корректно конвертировать данные пакетных запросов (сложные объекты с табличными частями) в/из JSON.