Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

17.12.19

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

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

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

Наименование Файл Версия Размер
OneSToolsSsmsExtension
.zip 3,76Mb
59
.zip 1.1.2 3,76Mb 59 Скачать

При работе с более-менее крупными системами периодически возникают задачи, требующие взаимодействия с базой данных 1С напрямую. В круг таких задач входит расследование проблем производительности и это стало толчком к написанию объекта статьи.

Расширение создано для SSMS 18 версии, в более ранних версиях - не запустится. Тестировалось расширение на платформе 8.3.15.

С частями системы 1С расширение никак не взаимодействует, считывая структуру конфигурации напрямую из базы данных.

Более детально, возможности:

Просмотр структуры конфигурации в терминах метаданных 1С и терминах SQL с возможностью группировки по группам метаданных. Т.е. если у регистра накопления есть несколько таблиц БД (основная таблица, остатки, изменения), то они выводятся в одну группу. Из структуры конфигурации по правому клику мыши возможно перейти к объекту в дереве обозревателя.

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

Всплывающие подсказки над названиями таблиц и колонок в терминах метаданных 1С.

Порядок работы:

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

По найденным ошибкам и замечаниям пишите в комментариях, буду исправлять.

Установка:

Поместить папку "OneSToolsSsmsExtension" из архива в каталог "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions"

Если в работе с расширением наблюдаются какие-то необъяснимые явления, очистите папку кеша расширения по пути %appdata%/OneSToolsSsmsExtension

Upd 27.11.2019: Исправил небольшую ошибку в релизе, приводящую к к новому циклу обновлению кеша баз при смене контекста сервера.

Upd 29.11.2019: Устранено некорректное поведение программы при удалении базы данных. Добавлено отображение названия и версии конфигурации в нижней части окна отображения структуры.

Upd 04.12.2019: Изменено оформление отчета об использованном дисковом пространстве (выравнивание текста в колонках и выделение групп цифр). Доработан код для возможности работы с расширением при ограниченных правах пользователя на сервере.

SSMS MSSQL база данных анализ диагностика оптимизация администрирование

См. также

SALE! 20%

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

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

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

13000 10400 руб.

02.09.2020    121599    670    389    

711

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7260    21    6    

39

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3499    11    1    

33

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177724    1073    0    

849

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

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

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

5000 руб.

07.02.2018    99338    239    97    

296

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

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

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

3000 руб.

27.08.2019    18102    6    8    

39

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

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

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

2040 руб.

27.12.2017    28091    3    10    

15

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

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

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

2400 руб.

24.09.2019    23595    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. bulpi 215 27.11.19 17:31 Сейчас в теме
У меня версия SSMS 10.50.1600.1 . Какая именно группа цифр должна быть не ниже 18 ?
2. akpaevj 202 27.11.19 17:36 Сейчас в теме
(1) Первая группа. С 18 версии студия является отдельным приложением, не входящим в пакет MSSQL Server. Можете смело ставить бесплатную версию с сайта Microsoft и пользоваться ей. Ссылка для скачивания - https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
3. пользователь 27.11.19 18:31
(0) Очень интересное решение. Надо как-нибудь потестить.
ImHunter; akpaevj; wowik; +3 Ответить
4. kirill_sh 1 28.11.19 10:48 Сейчас в теме
Добрый день, а исходники данной публикации иметься или там только скомпилированный файл
5. akpaevj 202 28.11.19 10:50 Сейчас в теме
(4) Исходный код расширения закрыт.
6. kirill_sh 1 28.11.19 11:07 Сейчас в теме
(5) а есть возможность получения исходника? более детально можно в личке
7. akpaevj 202 28.11.19 11:10 Сейчас в теме
(6) Пока я не готов его открыть. Это было бы неуважением по отношению к тем людям, которые покупают расширение.
8. Virikus 61 28.11.19 11:57 Сейчас в теме
(7) но и использовать расширение без понимания насколько оно безопасно никто не будет.
10. akpaevj 202 28.11.19 12:07 Сейчас в теме
(8) С точки зрения работы с данными БД - ни одного, какого-либо insert запроса в расширении нет. С точки зрения простого недоверия автору - Вы на самом деле у каждого проприетарного ПО требуете исходный код?
sm.artem; skalex; +2 Ответить
11. Virikus 61 28.11.19 12:35 Сейчас в теме
(10) а Вы лично на рабочее пространство себе ставите все без проверки безопасности?
Кредита доверия ваше расширение пока не наработало и поэтому вопрос об исходниках звучит нормально, их же никто не просит бесплатно. Не надо так негативно реагировать.

Если у вас на предприятие политика безопасности позволяет ставить любое ПО без согласования, это не значит что у всех такое состояние дел.
12. akpaevj 202 28.11.19 12:48 Сейчас в теме
(11) К сожалению интонацию не передать, я в очень дружелюбной манере общаюсь. И Вас прекрасно понимаю, но это не повод для открытия исходников. Я работал над ними 2 месяца не просто так, что-бы продать за 3 копейки. Единственное, что могу Вам предложить - поставьте сниффер и проверьте исходящий трафик от приложения, от там отсутствует вовсе.
15. akpaevj 202 28.11.19 13:21 Сейчас в теме
(11) В моей компании все тестируется на серверах разработки и только потом попадает в рабочую среду.
9. kirill_sh 1 28.11.19 12:05 Сейчас в теме
(7) а можешь в публикацию кинуть и исходники? и поставь скажем 15sm
akpaevj; Vlad_M; +2 Ответить
13. akpaevj 202 28.11.19 12:52 Сейчас в теме
(9) Ответ на вопрос дал выше, уважаемому Virikus. Какая часть исходников Вас конкретно интересует? Приложение состоит из нескольких составляющих, основные из которых - модуль парсинга внутренних структур 1С и собственно само расширение, добавляющее пункты меню и осуществляющее взаимодействие с GUI студии.
14. akpaevj 202 28.11.19 12:55 Сейчас в теме
(9) По поводу модуля парсинга - его не выложу. Пакет расширения для SSMS сам по себе очень интересен, так как информация о его написании практически отсутствует в интернете, на этот счет могу написать отдельную статью.
bendarik; SirStefan; +2 Ответить
16. Virikus 61 28.11.19 14:18 Сейчас в теме
(14) Статья была бы очень интересна по пакету расширения, модуль парсинга легко воспроизвести, там все достаточно просто.
17. akpaevj 202 28.11.19 14:22 Сейчас в теме
(16) Это уже конструктивный разговор, я подготовлю статью и дам развернутый ответ на Ваши вопросы.
18. w.r. 643 28.11.19 19:15 Сейчас в теме
19. akpaevj 202 28.11.19 19:32 Сейчас в теме
(18) Создание пакета аналогично обычному созданию VSPackage (для 18 версии ssms). Разговор шёл не об этом, а о работе с объектами SSMS изнутри пакета.
20. w.r. 643 28.11.19 19:52 Сейчас в теме
(19)

Автор статьи в конце даёт ссылки на исходные коды проектов. Если поразбираться, то там можно все найти
21. dmitrydemenew 641 28.11.19 20:34 Сейчас в теме
(20)на просторах интернета можно найти тучи рекомендаций, описаний, инструкций и т. п., но далеко не у всех есть время и терпение придумать, спроектировать и собрать что-то необычное и полезное. Автору - плюс.
22. akpaevj 202 28.11.19 20:56 Сейчас в теме
(20) Именно поэтому я и написал что практически отсутствует. Эти несколько проектов и есть те крупицы информации что удалось найти на просторах. Я не считаю пару-тройку проектов, написанных методом тыка, нормальной документацией. Большая часть времени разработки - это тыканье носом и дебаг
23. akpaevj 202 28.11.19 21:09 Сейчас в теме
(20) Отсутствие нормальных, официальных гайдов серьёзно усложняет и тормозит процесс, приходится многое реверсить.
24. ByNiko1984 29.11.19 07:30 Сейчас в теме
(0) А есть какая-нибудь бесплатная демоверсия с ограниченным функционалом? Просто попробовать?
user1228639; +1 Ответить
25. akpaevj 202 29.11.19 07:40 Сейчас в теме
(24) Не предусмотрено
ByNiko1984; +1 Ответить
26. ByNiko1984 29.11.19 07:44 Сейчас в теме
(25) понимаю.

Тогда буду копить золото :)))
27. akpaevj 202 29.11.19 08:08 Сейчас в теме
(26) И древесину) А некоторые и кодами пытаются воспользоваться)
28. ByNiko1984 29.11.19 08:10 Сейчас в теме
(27) недостаточно материалов для строительства :))))
29. user830227 29.11.19 18:37 Сейчас в теме
Подскажите где кэш расширения чистить, пожалуйста. Удалили базу и теперь обновление кэша на ней зависает.
30. user830227 29.11.19 19:31 Сейчас в теме
(29) Нашел, спасибо. %AppData%\Roaming\OneSToolsSsmsExtension\
31. akpaevj 202 29.11.19 20:15 Сейчас в теме
(30) Все правильно, там. Спасибо за кейс, исправлю неправильное поведение и залью новую версию. Не учел такое развитие событий)
32. user830227 02.12.19 08:29 Сейчас в теме
А добавленные в расширении объекты никак не распознать? Сейчас эти таблицы отображаются как "СистемнаяТаблица".
33. akpaevj 202 02.12.19 08:45 Сейчас в теме
(32) На базах с расширением не проверял работу, исправлю некорректное поведение и обновлю статью.
user830227; +1 Ответить
34. user830227 04.12.19 09:14 Сейчас в теме
Есть пожелание. В "Использовании дисковой памяти таблицами (1С)" сделайте, пожалуйста, выравнивание цифр по правому краю и с разделителями разрядов.
35. akpaevj 202 04.12.19 09:15 Сейчас в теме
(34) Сделаю, не проблема
user830227; +1 Ответить
36. user830227 05.12.19 16:21 Сейчас в теме
Все сломалось.
Обнаружил, что в последней версии файлов меньше, чем у меня в C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\OneSToolsSsmsExtension. Все удалил, чтобы не искать несоответствия. Скопировал заново все файлы из архива и теперь мне SSMS выдает ошибку. Прикрепил к сообщению.
Кеш чистил.
Прикрепленные файлы:
37. user830227 05.12.19 17:43 Сейчас в теме
(36) Вернул предыдущую версию и обновил только изменившиеся файлы. Заработало.
38. akpaevj 202 05.12.19 19:13 Сейчас в теме
(37) Шальная какая-то ошибка, надо логи смотреть, подобного не замечал.
44. onlypatriot 04.03.20 13:32 Сейчас в теме
(37) можете скинуть прошлую версию или подсказать как от сюда скачать. У меня есть только актуальная и она выдает ту-же ошибку что была у Вас.
45. akpaevj 202 04.03.20 17:20 Сейчас в теме
(44) Постараюсь сегодня воспроизвести ошибку и исправить.
39. rvs-slim 232 25.12.19 16:50 Сейчас в теме
Думаю отдельным лотом можно было бы выставить для скачивания и исходники... может немного дороже чем просто расширение...
Было бы неплохо :)
40. user1228639 15.01.20 17:34 Сейчас в теме
Поясните, что она делает? Она может показать запрос для view с джойнами, чтобы не выводило только guid поля в регистрах, а уже сджойненные значения? Или просто названия полей.
41. akpaevj 202 27.01.20 11:02 Сейчас в теме
(40) Возможности расширения описаны и проиллюстрированы в статье. Конструктор запросов - в разработке.
42. Virikus 61 27.01.20 14:13 Сейчас в теме
(41) отображение колонок удалось уже починить или пока в процессе?
43. akpaevj 202 30.01.20 08:57 Сейчас в теме
(42) Вывод моего отчета соответствует выводу встроенного отчета и выводу команды sp_spaceused, т.е. у меня ошибка не воспроизводится. Покажите ваши скрины отчета расширения и sp_spaceused 'TABLE_NAME', будем разбираться.
47. S_L_O_N_U_K 16.02.22 16:13 Сейчас в теме
Очень полезное расширение. Помогает в анализе скульных запросов. Обратного преобразования 1С->SQL полно, начиная от планов запросов, тех.журналов, инструментов разработчика и заканчивая профайлером. А вот SQL->1С (пусть и частично) что то кроме этого и не нашел.
Чего мне сразу стало не хватать при использовании, например, отчета по размерам таблиц - это 1. сохранить отчет в каком-нить виде (хотя для этого в наличии и другие инструменты, но тут быстрее), 2. сортировки не сохраняются, каждый раз кликаю по столбцу Данные (КБ), 3. нельзя общий список таблиц посмотреть и упорядочить, только отдельно по типам объектов (доки, спр, р.св. и т.д.)
48. akpaevj 202 16.02.22 19:51 Сейчас в теме
(47) Да там преобразование sql в 1с - так, для галочки) запрос в терминах 1С получается не валидный, а сделал я такую возможность исключительно лишь для более простого понимания, хоть с какой таблицей запрос работает. Да и актуализировать расширение надо под новые версии 1с и ssms
49. S_L_O_N_U_K 17.02.22 14:40 Сейчас в теме
(48) Понятно, что запрос не выполнишь в 1С ) Именно быстрое понимание источников данных - цель достигается
50. kirill_sh 1 05.06.23 17:47 Сейчас в теме
Добрый день, установил на новую версию MS SSMS 19.1.56 выдает ошибку
Прикрепленные файлы:
Оставьте свое сообщение