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

См. также

Шаблон дополнительной обработки, работающей по расписанию

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

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

сегодня в 16:00    159    3    Shvapsss    4    

Структура хранения БД в виде дерева конфигурации

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

Структура БД конфигурации в очень похожем виде, как в самом конфигураторе.

20.04.2021    3692    156    JIEX@    2    

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

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

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

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

Чтение метаданных 1С в SQL Server

Структура метаданных v8 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    3255    zhichkin    63    

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

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

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

11.01.2021    3544    zhichkin    14    

Микро сервис для работы с запросами SQL

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

Альтернатива COM соединению с SQL базой, обработка запроса.

13.12.2020    4958    46    ivan1703    14    

Графит. Правщик 1С морд от kuzkov.info.2

Прочие инструменты разработчика v8 Бесплатно (free)

Вторая часть записок о разработке программы Графит, векторного правщика для быстрого рисования 1С морд. Обзор сделанного в виде текста описания, гифках и приложенных svg файлах для пощелкать в обозревателе.

02.12.2020    2716    16    Steelvan    6    

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

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

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

30.06.2020    5774    43    q_i    16    

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

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

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

12000 руб.

16.06.2020    4447    0    15    

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

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

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

20.05.2020    12711    175    user1404129    19    

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

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

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

14.05.2020    11878    446    CyberCerber    39    

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

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

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

1 стартмани

20.04.2020    10895    12    zhichkin    19    

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

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

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

21.01.2020    48344    3958    cprit    160    

Пример работы с SQLDMO

Администрирование СУБД v8 Бесплатно (free)

SQLDMO из 1С.

27.06.2013    4761    28    imm0rtal    2