DaJet Studio: расширенный язык запросов 1С, очереди сообщений и web сервисы

19.06.23

Разработка - Инструментарий разработчика

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

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

Наименование Файл Версия Размер
DaJet Studio v0.2
.zip 6,60Mb
80
.zip 0.2 6,60Mb 80 Скачать бесплатно
DaJet web server v0.1
.zip 44,26Mb
33
.zip 0.1 44,26Mb 33 Скачать бесплатно
DaJet Exchange Agent 1.0
.zip 31,69Mb
21
.zip 1.0 31,69Mb 21 Скачать бесплатно
Сервер для выполнения 1QL
.zip 13,81Mb
3
.zip 1.0.0 13,81Mb 3 Скачать бесплатно
Инструкция по установке 1QL сервера
.pdf 178,76Kb
3
.pdf 1.0.0 178,76Kb 3 Скачать бесплатно

DaJet Studio является инструментом, позволяющим использовать сервис-ориентированную архитектуру для баз данных (Service Oriented Database Architecture), которая была впервые реализована и представлена Microsoft в СУБД SQL Server 2005.

Основной упор был сделан на использование языка запросов SQL, модифицированного таким образом, чтобы его можно было использовать в контексте платформы 1С:Предприятие 8. При этом доступно использование всего функционала T-SQL, включая версию SQL Server 2016.

DaJet Studio является продолжением и развитием таких публикаций как:

1C# – 1С моей мечты

DaJet QL - расширяемый язык запросов

DaJet MQ - надёжный обмен данными

JSON в запросах DaJet QL

Использование таблиц SQL Server в качестве очередей сообщений

Репозиторий исходного кода проекта на GitHub: https://github.com/zhichkin/DaJet

В текущей версии проект имеет качество прототипа. Весь заявленный функционал реализован и "размазан" по вышеуказанным публикациям. Целью проекта DaJet Studio является собрать всё это в едином инструменте.

Видео инструкция для начала работы с DaJet Studio на YouTube.

Канал Телеграмм для обсуждения и предложений: https://t.me/dajet_studio

 
DaJet Studio - краткая инструкция
 
DaJet web server - краткая инструкция

 

В данный момент поддерживается работа со справочниками, документами, регистрами сведений и накопления. Добавление возможности работы с другими объектами метаданных 1С будет реализовываться по мере возможностей автора DaJet Studio.

Работа с очередями SQL Server возможна при помощи материалов публикаций, указанных выше. Работа с очередями непосредственно из DaJet Studio будет реализована в последующих версиях.

 
18.06.2023 Новая версия платформы DaJet 2.2.2

1. Реализовано предложение INTO для команд SELECT и CONSUME. Работает аналогично соответствующему синтаксису для классических СУБД, то есть создаются временные таблицы и в них копируются записи из родительской выборки.

2. Реализован пакетный режим запросов DaJet, то есть получение нескольких наборов записей одним запросом. На уровне web интерфейса или web api пакетный режим не реализован - доступен только средствами C#.

3. Реализован блок OneDbStream подсистемы DaJet Flow, использующий функционал пакетного режима запросов. В этом блоке реализован только один из сценариев, а именно получение шапки (ведущая выборка) + табличные части + другие зависимые данные, добавляемые к шапке в качестве табличных частей.

4. Дополнен функционал сериализатора DataRecordJsonConverter с тем, чтобы корректно конвертировать данные пакетных запросов (сложные объекты с табличными частями) в/из JSON.

 
28.05.2023 Новая версия платформы DaJet 2.2.1
 
11.04.2023 Новая версия DaJet Studio 2.1.0
 
27.02.2023 Новая версия DaJet Studio 2.0.2
 
16.09.2022 Новая версия языка запросов 1QL
 
Новая версия DaJet Studio 1.7.5 от 09.01.2022
 
Изменение от 07.01.2021

 

язык запросов SQL очереди сообщений web сервисы DaJet интеграция обмен данными свертка данных конвертация оптимизация производительности

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122122    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7288    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3525    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177738    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99345    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18108    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28107    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    23601    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1351 12.11.20 15:34 Сейчас в теме
(0) видео снимите пож-та, что это такое?
2. zhichkin 1438 13.11.20 23:16 Сейчас в теме
(1) Обязательно сниму, только немного позже. Ссылки добавлю в текст публикации.
3. zhichkin 1438 14.11.20 18:55 Сейчас в теме
(1) Добавил ссылку на видео инструкцию и краткое описание того, что умеет делать DaJet Studio.
4. Asmody 01.12.20 00:23 Сейчас в теме
Проект, несомненно, интересный. Был бы, если бы работал не только на компьютере автора.
5. zhichkin 1438 01.12.20 11:46 Сейчас в теме
(4) Что конкретно у Вас не получилось ? Напишите - помогу запустить и на Вашей машине.
На моей машине установлено следующее ПО:
1. Windows 10 Pro 20H2
2. SQL Server 2014 Developer Edition
3. SQL Server 2016 Express
4. 1С:Предприятие 8.3 (8.3.15.1534)
5. .NET Core 3.1
Платформа: win-x64
6. Asmody 01.12.20 21:56 Сейчас в теме
(5) WinServer 2012, SQL 2008R2, 1Сок маленький зоопарк: 8.1 и 3 релиза 8.3, NET Core свежескаченный 3.1

Если не указывать в свойствах сервера БД имя пользователя, то при добавлении базы выходит сообщение "список выбора баз пуст", если указать имя пользователя, то при добавлении базы выходит appcrash.

На WinServ 2008R2 аналогичное поведение.
7. zhichkin 1438 02.12.20 09:25 Сейчас в теме
(6)
1. У меня на SQL Server настроена Windows аутентификация. Честно скажу, что SQL Server аутентификацию особо не тестировал.

2. Список баз получается следующим запросом:
SELECT [name] FROM [sys].[databases] WHERE [owner_sid] > 0x01 ORDER BY [name] ASC;
Если Вам программа говорит, что "список баз пуст", то это значит, что нет прав на [sys].[databases], хотя это очень странно, так как согласно документации Microsoft: "По умолчанию роль public имеет VIEW ANY DATABASE разрешение, что позволяет всем именам входа просматривать сведения о базе данных."

3. appcrash - печаль =( Я честно признался, что "В текущей версии проект имеет качество прототипа." Обработка ошибок сделана прямо скажу не лучшим образом.

4. Попробуйте настроить Windows аутентификацию на SQL Server, чтобы понять насколько DaJet Studio вообще Вам нужна.

Если решите использовать DaJet на продакшене, то потребуются некоторые доработки. Обработка ошибок и логирование это некоторые из них. Кроме этого, очень вероятно, что потребуется сопровождение продукта, так как самостоятельно копаться в исходниках, тем более на C#, не всем удобно или хочется.

К сожалению, на текущем месте работы у меня нет возможности использовать DaJet в производственном или тестовом контурах. Обратной связи от сообщества, тех кто скачивает дистрибутивы, у меня тоже нет. В совокупности, это означает для меня, что практическая ценность DaJet низкая. Это лишает мотивации развивать продукт. Я выложил свои наработки "как есть", чтобы просто не забылись и не потерялись. Я уверен, что в будущем, лет через 10-15, они будут широко востребованы в среде 1С.
8. Asmody 02.12.20 12:46 Сейчас в теме
WHERE [owner_sid] > 0x01 в этом причина.
У меня у всех баз owner sa.
Знаю, что идеологически неправильно, но "так исторически сложилось".
9. alex_bob 246 17.02.21 12:09 Сейчас в теме
(8) Не только в этом видимо. У меня такая же картина, хотя Management Studio возвращает список имен баз.
Тоже SQL-аутентификация.
10. zhichkin 1438 17.02.21 12:34 Сейчас в теме
(9) Попробуйте Windows аутентификацию. Возможно у меня косяк с SQL аутентификацией.
В последней версии DaJet Studio на GitHub я помнится что-то такое правил и условие [owner_sid] > 0x01 убирал.
Если умеете собирать проект, то пересобирите с GitHub. Если всё будет плохо, то напишите мне - я выложу последнюю версию с SQL аутентификацией.
11. zhichkin 1438 17.02.21 13:05 Сейчас в теме
(9) Можно писать в Телеграмм канал: https://t.me/dajet_studio для тех. поддержки.
12. alex_bob 246 19.02.21 12:03 Сейчас в теме
(10) С Windows аутентификацией заработало. Что сделал:
1. Поставил локально SQLExpress.
2. С помощью 1с-сервера создал пустую базу данных, кстати 1с-сервер не понимает Windows аутентификацию.
3. Загрузил конфигуратором маленькую конфу,
4. Добавил пользователя базы с Windows аутентификацией.
5. Указал в Dajet Studio параметры сервера с пользователем с Windows аутентификацией.
База добавилась. Сейчас экспериментирую со скриптами.

Попробовал собрать текущую версию с Github, для SQL аутентификации крашится всё равно. Судя по сообщениям в системном журнале на строке соединения. В одном из форумов пишут, что лучше совсем убрать из строки соединения параметр "Integrated Security".

PS: подписался на телеграмм-канал, но писать туда не могу, только получать уведомления.
13. zhichkin 1438 21.02.21 17:18 Сейчас в теме
(12) Спасибо большое за Ваше сообщение!
Добавил на канале группу (чат): https://t.me/dajet_studio_group
14. user1931337 03.04.23 12:43 Сейчас в теме
Дмитрий, здравствуйте! Скажите, каким способом с вами можно связаться на предмет обсуждения вариантов сотрудничества?
15. пользователь 03.04.23 13:45
Сообщение было скрыто модератором.
...
16. Дмитрий74Чел 234 12.02.24 12:59 Сейчас в теме
Ссылка на видео (Видео инструкция для начала работы с DaJet Studio на YouTube) нерабочая:
Прикрепленные файлы:
17. zhichkin 1438 12.02.24 13:09 Сейчас в теме
(16) Добрый день! Многое поменялось за последних 2 года =)
Теперь всё здесь: Школа DaJet
Можете начать с видео "Первое знакомство с платформой DaJet".
dimaster; +1 Ответить
Оставьте свое сообщение