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

19.06.23

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?]
DaJet Studio v0.2
.zip 6,60Mb
80
80
0 SM
Скачать
DaJet web server v0.1
.zip 44,26Mb
33
33
0 SM
Скачать
DaJet Exchange Agent 1.0
.zip 31,69Mb
21
21
0 SM
Скачать
Сервер для выполнения 1QL
.zip 13,81Mb
3
3
0 SM
Скачать
Инструкция по установке 1QL сервера
.pdf 178,76Kb
3
3
0 SM
Скачать

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 интеграция обмен данными свертка данных конвертация оптимизация производительности

См. также

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

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

10000 руб.

02.09.2020    140429    770    391    

802

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

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

18000 руб.

06.10.2023    11513    31    6    

60

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

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

5400 руб.

17.05.2024    13667    31    27    

75

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

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

10000 руб.

10.11.2023    7250    27    4    

50

SALE! %

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

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

3600 2880 руб.

14.01.2013    181810    1103    0    

876

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15977    3    12    

39

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

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

5000 руб.

07.02.2018    101108    242    97    

303

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

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

2400 руб.

24.09.2019    24491    17    15    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1720 12.11.20 15:34 Сейчас в теме
(0) видео снимите пож-та, что это такое?
2. zhichkin 1505 13.11.20 23:16 Сейчас в теме
(1) Обязательно сниму, только немного позже. Ссылки добавлю в текст публикации.
3. zhichkin 1505 14.11.20 18:55 Сейчас в теме
(1) Добавил ссылку на видео инструкцию и краткое описание того, что умеет делать DaJet Studio.
4. Asmody 01.12.20 00:23 Сейчас в теме
Проект, несомненно, интересный. Был бы, если бы работал не только на компьютере автора.
5. zhichkin 1505 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 1505 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 1505 17.02.21 12:34 Сейчас в теме
(9) Попробуйте Windows аутентификацию. Возможно у меня косяк с SQL аутентификацией.
В последней версии DaJet Studio на GitHub я помнится что-то такое правил и условие [owner_sid] > 0x01 убирал.
Если умеете собирать проект, то пересобирите с GitHub. Если всё будет плохо, то напишите мне - я выложу последнюю версию с SQL аутентификацией.
11. zhichkin 1505 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 1505 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Чел 237 12.02.24 12:59 Сейчас в теме
Ссылка на видео (Видео инструкция для начала работы с DaJet Studio на YouTube) нерабочая:
Прикрепленные файлы:
17. zhichkin 1505 12.02.24 13:09 Сейчас в теме
(16) Добрый день! Многое поменялось за последних 2 года =)
Теперь всё здесь: Школа DaJet
Можете начать с видео "Первое знакомство с платформой DaJet".
dimaster; +1 Ответить
Оставьте свое сообщение