Инспектор объектов IS-Builder

12 16

Когда разработчик пишет код на ISBL, ему постоянно требуется информация о логической структуре данных системы, к которой он обращается. Он должен знать, какие справочники и типы карточек имеются в базе, какие у них наименования, какие реквизиты в каких разделах, логические и физические имена этих реквизитов и пр. Для получения этой информации можно открыть несколько компонент "Типы справочников" и "Типы карточек электронных документов", можно так же пользоваться меню "Вставка" в редакторе ISBL. Но, по-моему, удобнее использовать специализированный инспектор объектов, которым я хочу поделиться.

Инспектор объектов подключается к любой базе данных на базе IS-Builder 7, используя аутентификацию по паролю (другие виды аутентификации пока не поддерживаются) и отображает информацию о структуре справочников, типах карточек документов и их реквизитах. Еще раз отмечу, что отображаются не данные, а структура данных.

Работает навигация по дереву курсором и мышкой, поддерживается like-поиск в текущем выбранном узле дерева. Инспектор объектов сворачивается в трей и имеет опциональный режим always on top. Поддерживается копирование текста по Ctrl+C и Ctrl+Ins.

Справочники и типы карточек документов разнесены на разные закладки. На каждой закладке можно отобразить до 3х независимых деревьев. На приведенном скриншоте открыта закладка справочников и разделена на 2 дерева.

Ниже деревьев расположена строка like-поиска, в которой для удобства показаны его текущие параметры. Справа от строки like-поиска расположены кнопки (по порядку): увеличения и уменьшения разбивки закладки, переключения имен/кодов реквизитов, обновления деревьев, копка always on top.

http://club.directum.ru/docs/zip/isbobjectinspectior.zip

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

С удовольствием отвечу на вопросы, если они возникнут.

12
Авторизуйтесь, чтобы оценить материал.
2
Дмитрий Тарасов

Респект! Забираю :)

Надо бы чего-нибудь такое же в стандартную разработку прикрутить в следующих версиях DIRECTUM, а то приходиться открывать по несколько компонент "Типы справочников" и "Типы карточек электронных документов" :(

Иван Стебленко

Очень пригодится :). На чем писали?

Денис Баранов
Очень пригодится . На чем писали?

Delphi 7

Андрей Рязанцев

Без комментов - Диса молоток! Ты лучший! :)

По-поводу прикрутить в систему - это да - оч. полезно будет!

Арслан Абакаров

Сссупер! Просто супер. Надоело уже скакать через "Типы справочников" по окнам и вкладкам чтобы выцепить название реквизита, затем открывать еще пару окон чтобы получить SQL поле и т.д.

Программа месяца.

Арслан Абакаров

Хотелось бы еще чтобы на вкладке REF в дополнение к коду справочника высвечивалось полное наименование справочника.

Сергей Жолобов
Хотелось бы еще чтобы на вкладке REF в дополнение к коду справочника высвечивалось полное наименование справочника.

Поддержу. "Всякая работающая программа требует доработки".

Денис, так держать!

Денис Баранов
Хотелось бы еще чтобы на вкладке REF в дополнение к коду справочника высвечивалось полное наименование справочника.

Согласен, этого не хватает. В новых версиях появится... Раз появились пользователи, придется развивать дальше.

Константин Белов

Respect

Алексей Пестов

Все время пишет Login failed for user "XXXX" Нахмуренный 

Денис Баранов

Работает только для аутентификации "по паролю" (не по перекодированному). Попробуйте для начала заходить под пользователем, у которого гарантированно есть права на всю базу и аутентификация по паролю. sa, например.

Алексей Пестов

Всё ОК :) Сенкс!

Алексей Пестов

Прикрутите пожалуйста win-аутентификацию. Или её как-то можно включить?

Константин Дружков

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

Иван Середкин

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

select
       'Раздел реквизита' = 
       CASE Req.Razd
             WHEN 'Ш' THEN 'Карточка'
             WHEN 'Т' THEN 'Таблица'
             WHEN 'С' THEN 'Таблица 2'
             WHEN 'Р' THEN 'Таблица 3'
             WHEN 'О' THEN 'Таблица 4'
             WHEN 'Н' THEN 'Таблица 5'
             WHEN 'М' THEN 'Таблица 6'
             WHEN 'Q' THEN 'Таблица 7'
             WHEN 'W' THEN 'Таблица 8'
             WHEN 'U' THEN 'Таблица 9'
             WHEN 'R' THEN 'Таблица 10'
             WHEN 'I' THEN 'Таблица 11'
             WHEN 'Y' THEN 'Таблица 12'
       END
       , ReqAn.Name as 'Имя реквизита'
       , 'Тип реквизита' = 
       CASE Req.Type
             WHEN 'Д' THEN 'Дата'
             WHEN 'Ч' THEN 'Дробное число'
             WHEN 'П' THEN 'Признак'
             WHEN 'А' THEN 'Справочник'
             WHEN 'С' THEN 'Строка'
             WHEN 'М' THEN 'Текст'
             WHEN 'Ц' THEN 'Целое число'
       END
       , 'Форматирование' = 
       CASE Req.Align
             WHEN 'Е' THEN 'Без разрядов'
             WHEN 'Л' THEN 'Влево'
             WHEN 'П' THEN 'Вправо'
             WHEN 'Д' THEN 'Дата'
             WHEN 'Ц' THEN 'Дата и время'
             WHEN 'Т' THEN 'По разрядам'
       END
       , Req.Len as 'Длина значения реквизита'
       , isnull(Ref2.Name, '') as 'Ссылка на справочник'
       , Req.PriznValues as 'Признак'
       , 'Обязательный' = 
       CASE ReqAn.IsNull
             WHEN 'Д' THEN 'Да'
             WHEN 'Н' THEN 'Нет'
       END
from
  MBVidAnRecv as ReqAn
  join MBVidAn as Ref on (Ref.Vid = ReqAn.Vid)
  join MBRecvAn as Req on (Req.Kod = ReqAn.Kod and Req.Razd <> 'К')
  left join MBVidAn as Ref2 on (Req.VidAn = Ref2.Vid)
where
  not exists (select 1 from SBEDocTypes where SBEDocTypes.TypeID = ReqAn.Vid)
  and Ref.Kod = 'РАБ' -- Код справочника
order by Req.Razd desc

go

 

Владислав Вороновский

Как скачать?

Авторизуйтесь, чтобы написать комментарий