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






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

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

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

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

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

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

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

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

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

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

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

Установка:

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

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

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

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

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

38 Comments

  1. bulpi

    У меня версия SSMS 10.50.1600.1 . Какая именно группа цифр должна быть не ниже 18 ?

    Reply ↓
  2. akpaevj

    (1) Первая группа. С 18 версии студия является отдельным приложением, не входящим в пакет MSSQL Server. Можете смело ставить бесплатную версию с сайта Microsoft и пользоваться ей. Ссылка для скачивания — https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

    Reply ↓
  3. YPermitin

    (0) Очень интересное решение. Надо как-нибудь потестить.

    Reply ↓
  4. killermss

    Добрый день, а исходники данной публикации иметься или там только скомпилированный файл

    Reply ↓
  5. akpaevj

    (4) Исходный код расширения закрыт.

    Reply ↓
  6. killermss

    (5) а есть возможность получения исходника? более детально можно в личке

    Reply ↓
  7. akpaevj

    (6) Пока я не готов его открыть. Это было бы неуважением по отношению к тем людям, которые покупают расширение.

    Reply ↓
  8. Virikus

    (7) но и использовать расширение без понимания насколько оно безопасно никто не будет.

    Reply ↓
  9. killermss

    (7) а можешь в публикацию кинуть и исходники? и поставь скажем 15sm

    Reply ↓
  10. akpaevj

    (8) С точки зрения работы с данными БД — ни одного, какого-либо insert запроса в расширении нет. С точки зрения простого недоверия автору — Вы на самом деле у каждого проприетарного ПО требуете исходный код?

    Reply ↓
  11. Virikus

    (10) а Вы лично на рабочее пространство себе ставите все без проверки безопасности?

    Кредита доверия ваше расширение пока не наработало и поэтому вопрос об исходниках звучит нормально, их же никто не просит бесплатно. Не надо так негативно реагировать.

    Если у вас на предприятие политика безопасности позволяет ставить любое ПО без согласования, это не значит что у всех такое состояние дел.

    Reply ↓
  12. akpaevj

    (11) К сожалению интонацию не передать, я в очень дружелюбной манере общаюсь. И Вас прекрасно понимаю, но это не повод для открытия исходников. Я работал над ними 2 месяца не просто так, что-бы продать за 3 копейки. Единственное, что могу Вам предложить — поставьте сниффер и проверьте исходящий трафик от приложения, от там отсутствует вовсе.

    Reply ↓
  13. akpaevj

    (9) Ответ на вопрос дал выше, уважаемому Virikus. Какая часть исходников Вас конкретно интересует? Приложение состоит из нескольких составляющих, основные из которых — модуль парсинга внутренних структур 1С и собственно само расширение, добавляющее пункты меню и осуществляющее взаимодействие с GUI студии.

    Reply ↓
  14. akpaevj

    (9) По поводу модуля парсинга — его не выложу. Пакет расширения для SSMS сам по себе очень интересен, так как информация о его написании практически отсутствует в интернете, на этот счет могу написать отдельную статью.

    Reply ↓
  15. akpaevj

    (11) В моей компании все тестируется на серверах разработки и только потом попадает в рабочую среду.

    Reply ↓
  16. Virikus

    (14) Статья была бы очень интересна по пакету расширения, модуль парсинга легко воспроизвести, там все достаточно просто.

    Reply ↓
  17. akpaevj

    (16) Это уже конструктивный разговор, я подготовлю статью и дам развернутый ответ на Ваши вопросы.

    Reply ↓
  18. w.r.

    (14) ну как бы это не правда. 4я ссылка в гугле https://www.codeproject.com/Articles/1243356/Create-Your-Own-SQL-Server-Management-Studio-SSMS

    Reply ↓
  19. akpaevj

    (18) Создание пакета аналогично обычному созданию VSPackage (для 18 версии ssms). Разговор шёл не об этом, а о работе с объектами SSMS изнутри пакета.

    Reply ↓
  20. w.r.

    (19)

    Автор статьи в конце даёт ссылки на исходные коды проектов. Если поразбираться, то там можно все найти

    Reply ↓
  21. dmitrydemenew

    (20)на просторах интернета можно найти тучи рекомендаций, описаний, инструкций и т. п., но далеко не у всех есть время и терпение придумать, спроектировать и собрать что-то необычное и полезное. Автору — плюс.

    Reply ↓
  22. akpaevj

    (20) Именно поэтому я и написал что практически отсутствует. Эти несколько проектов и есть те крупицы информации что удалось найти на просторах. Я не считаю пару-тройку проектов, написанных методом тыка, нормальной документацией. Большая часть времени разработки — это тыканье носом и дебаг

    Reply ↓
  23. akpaevj

    (20) Отсутствие нормальных, официальных гайдов серьёзно усложняет и тормозит процесс, приходится многое реверсить.

    Reply ↓
  24. ByNiko1984

    (0) А есть какая-нибудь бесплатная демоверсия с ограниченным функционалом? Просто попробовать?

    Reply ↓
  25. akpaevj

    (24) Не предусмотрено

    Reply ↓
  26. ByNiko1984

    (25) понимаю.

    Тогда буду копить золото :)))

    Reply ↓
  27. akpaevj

    (26) И древесину) А некоторые и кодами пытаются воспользоваться)

    Reply ↓
  28. ByNiko1984

    (27) недостаточно материалов для строительства :))))

    Reply ↓
  29. user830227

    Подскажите где кэш расширения чистить, пожалуйста. Удалили базу и теперь обновление кэша на ней зависает.

    Reply ↓
  30. user830227

    (29) Нашел, спасибо. %AppData%RoamingOneSToolsSsmsExtension

    Reply ↓
  31. akpaevj

    (30) Все правильно, там. Спасибо за кейс, исправлю неправильное поведение и залью новую версию. Не учел такое развитие событий)

    Reply ↓
  32. user830227

    А добавленные в расширении объекты никак не распознать? Сейчас эти таблицы отображаются как «СистемнаяТаблица».

    Reply ↓
  33. akpaevj

    (32) На базах с расширением не проверял работу, исправлю некорректное поведение и обновлю статью.

    Reply ↓
  34. user830227

    Есть пожелание. В «Использовании дисковой памяти таблицами (1С)» сделайте, пожалуйста, выравнивание цифр по правому краю и с разделителями разрядов.

    Reply ↓
  35. akpaevj

    (34) Сделаю, не проблема

    Reply ↓
  36. user830227

    Все сломалось.

    Обнаружил, что в последней версии файлов меньше, чем у меня в C:Program Files (x86)Microsoft SQL Server Management Studio 18Common7IDEExtensionsOneSToolsSsmsExtension. Все удалил, чтобы не искать несоответствия. Скопировал заново все файлы из архива и теперь мне SSMS выдает ошибку. Прикрепил к сообщению.

    Кеш чистил.

    Reply ↓
  37. user830227

    (36) Вернул предыдущую версию и обновил только изменившиеся файлы. Заработало.

    Reply ↓
  38. akpaevj

    (37) Шальная какая-то ошибка, надо логи смотреть, подобного не замечал.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *