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

Публикация № 1323827 10.11.20

Администрирование - Администрирование СУБД

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

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

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 будет реализована в последующих версиях.

 
Изменение от 07.01.2021

 

Добавил подсистему DaJet Exchange для 1С:Предприятие 8.

Кратко суть:

1. Интегрируемая конфигурация 1С объединяется с конфигурацией DaJetExchange.cf.

2. Создаётся файл настроек dajet-exchange-settings.json, который управляет регистрацией изменений в интегрируемой конфигурации.

3. Все изменения попадают в справочник - очередь исходящих сообщений DaJetExchangeQueue.

4. Регистрация изменений работает очень быстро и без блокировок СУБД.

5. Сообщения сериализуются в JSON.

6. Внешняя система забирает сообщения из очереди исходящих сообщений.

7. Внешняя система берёт на себя всю логику обработки и маршрутизации сообщений по узлам РИБ, если они есть, или в адрес других информационных систем.

 

 

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

Наименование Файл Версия Размер
DaJet Studio v0.2

.zip 6,60Mb
43
.zip 0.2 6,60Mb 43 Скачать бесплатно
DaJet web server v0.1

.zip 44,26Mb
21
.zip 0.1 44,26Mb 21 Скачать бесплатно
DaJet Exchange Agent 1.0

.zip 31,69Mb
8
.zip 1.0 31,69Mb 8 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1835 12.11.20 15:34 Сейчас в теме
(0) видео снимите пож-та, что это такое?
2. zhichkin 1082 13.11.20 23:16 Сейчас в теме
(1) Обязательно сниму, только немного позже. Ссылки добавлю в текст публикации.
3. zhichkin 1082 14.11.20 18:55 Сейчас в теме
(1) Добавил ссылку на видео инструкцию и краткое описание того, что умеет делать DaJet Studio.
4. Asmody 01.12.20 00:23 Сейчас в теме
Проект, несомненно, интересный. Был бы, если бы работал не только на компьютере автора.
5. zhichkin 1082 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 1082 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 222 17.02.21 12:09 Сейчас в теме
(8) Не только в этом видимо. У меня такая же картина, хотя Management Studio возвращает список имен баз.
Тоже SQL-аутентификация.
10. zhichkin 1082 17.02.21 12:34 Сейчас в теме
(9) Попробуйте Windows аутентификацию. Возможно у меня косяк с SQL аутентификацией.
В последней версии DaJet Studio на GitHub я помнится что-то такое правил и условие [owner_sid] > 0x01 убирал.
Если умеете собирать проект, то пересобирите с GitHub. Если всё будет плохо, то напишите мне - я выложу последнюю версию с SQL аутентификацией.
11. zhichkin 1082 17.02.21 13:05 Сейчас в теме
(9) Можно писать в Телеграмм канал: https://t.me/dajet_studio для тех. поддержки.
12. alex_bob 222 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 1082 21.02.21 17:18 Сейчас в теме
(12) Спасибо большое за Ваше сообщение!
Добавил на канале группу (чат): https://t.me/dajet_studio_group
Оставьте свое сообщение

См. также

"Откат" данных без транзакций. Расширение для легкого возврата к "исходному" или выбранному состоянию после любых изменений данных

Сервисные утилиты Чистка базы Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

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

06.04.2021    3385    57    Алексей Воробьев    12    

DaJet Exchange: обмен данными с 1С (часть 1)

Внешние источники данных v8 Бесплатно (free)

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

11.01.2021    3529    zhichkin    14    

Файл тестов для xUnitFor1C: тестирование проведения документов

Тестирование и исправление Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

Тестирование проведения документов. Проверяется, что: а) документ проводится; б) движения документа после перепроведения не изменились.

30.06.2020    5752    43    q_i    16    

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

Обмен данными 1С Интеграция v8 Платные (руб)

DaJet MQ – это асинхронный обмен сообщениями, основанный на компоненте Service Broker ядра Microsoft SQL Server. Простой, эффективный, надёжный. Отлично справляется с сообщениями любого размера. Максимальный размер одного сообщения равен 2 Гб.

12000 руб.

16.06.2020    4424    0    15    

Нейроконструктор

Интеграция Искусственный интеллект (AI) Прочие инструменты разработчика v8 Бесплатно (free)

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

20.05.2020    12663    176    user1404129    19    

Загрузка, редактирование и установка цветовых схем (раскраски кода) в Конфигуратор и EDT

Работа с интерфейсом Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

В современных IDE и текстовых редакторах есть удобная работа с цветовыми схемами: их можно загружать из файлов, выбирать из списка и сразу устанавливать в оболочку. К сожалению, в Конфигураторе и EDT цвета кода можно настроить только вручную. Этой разработкой хочу исправить эту проблему.

14.05.2020    11809    442    CyberCerber    39    

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

Интеграция WEB v8 Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    10815    12    zhichkin    19    

Универсальные инструменты 1С

Универсальные обработки Прочие инструменты разработчика Консоль запросов v8 v8::УФ 1cv8.cf Бесплатно (free)

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

21.01.2020    48115    3928    cprit    160