gifts2017

Связи Метаданных. Простой построитель запросов.

Опубликовал олег шишкин (shishkin1966) в раздел Программирование - Инструментарий

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

Данная обработка строит таблицу взаимосвязей следующих объектов Метаданных:

- Справочники (Реквизиты, ТабличныеЧасти, Владельцы)

- Документы (Реквизиты, ТабличныеЧасти)

- РегистрыНакопления (Измерения, Реквизиты, Ресурсы, Виртуальные таблицы)

- РегистрыСведений (Измерения, Реквизиты, Ресурсы, Виртуальные таблицы)

- РегистрыБухгалтерии (Измерения, Реквизиты, Ресурсы, Виртуальные таблицы)

- РегистрыРасчета (Измерения, Реквизиты, Ресурсы, Планы Видов Расчета)

- ЖурналыДокументов (РегистрируемыеДокументы,Графы)

- Задачи (Реквизиты, ТабличныеЧасти)

- БизнесПроцессы (Реквизиты, ТабличныеЧасти, ВедущаяЗадача)

Обработка позволяет:

- при построении запроса контролировать взаимосвязи таблиц

- визуально строить условие "ГДЕ" с поддержкой всех стандартных видов условий запросов (включая списки - условие "В")

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

- выполнить построенный запрос и передать результат в MS Excel

- сохранить условия запроса/выбранные колонки/текст запроса в XML формате

При наличие справочника "СправочникСвязиМетаданных" со следующей структурой:

ПервичнаяТаблицаПолноеИмя                           СТРОКА(255)
ПервичнаяТаблицаИмяТаблицыХранения         СТРОКА(128)
ПервичнаяТаблица                                             СТРОКА(255)
КолонкаПервичнойТаблицы                               СТРОКА(128)
КолонкаПервичнойТаблицыИмяПоляХранения  СТРОКА(128)
СвязаннаяТаблицаПолноеИмя                            СТРОКА(255)
СвязаннаяТаблицаИмяТаблицыХранения          СТРОКА(128)
СвязаннаяТаблица                                              СТРОКА(255)
КолонкаСвязаннойТаблицы                                СТРОКА(128)
КолонкаСвязаннойТаблицыИмяПоляХранения   СТРОКА(128)
ТипСвязи                                                              СТРОКА(64)

Все поля индексированы и переменной длины. Программа заполняет данный справочник и обращается уже к нему (сокращая тем самым время загрузки - время загрузки ВО для УПП редакции 1.2 составляет 2 мин). Для обновления его - нажмите пункт меню  "Обновить информацию о Метаданных".

 

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

Наименование Файл Версия Размер
Связи Метаданных. Простой построитель запросов 269
.epf 30,81Kb
14.12.10
269
.epf 30,81Kb Скачать
Описание обработки 33
.doc 739,00Kb
28.11.10
33
.doc 739,00Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Влад Кацманевич (cool.clo) 18.11.10 14:31
О, :!: ты все таки выложил как и обещал обработку, пока не проверял но заранее плюс
2. олег шишкин (shishkin1966) 18.11.10 15:02
пока надо отладить заполнение поля Значение. С ним глюки по приведению типов. На закладке Текст Запроса добавлю дерево объектов и дерево связей объектов.
3. Андрей Осин (anosin) 18.11.10 16:24
А не проще писать запросы ручками?
4. Влад Кацманевич (cool.clo) 18.11.10 17:25
(3) посмотри http://infostart.ru/public/78155/?PAGEN_1=2#comm - можно то и ручками, но не всегда получается написать грамотный запрос, а через эту обработку удобнее отслеживать взаимосвязи, а соответственно и отлаживать запрос(возможно когда-нибудь появится интеллектуальный запросник)
5. олег шишкин (shishkin1966) 18.11.10 22:11
Добавил деревья метаданных и связей метаданных
6. Яков Коган (Yashazz) 19.11.10 00:31
Имхо, излишняя круть. Я вот себе написал антисклерозник попроще, только само дерево метаданных и всё. Ибо в ряде случаев и правда проще ручками...
Но, конечно, труды тут предъявлены немалые.
7. Аркадий Кучер (Abadonna) 19.11.10 01:55
(6)
вот себе написал антисклерозник попроще, только само дерево метаданных и всё

И чего ж народ так деревья любит? ;) Я склерозник давно написал, только он плоский: закладки на каждый вид МД. Имхо, удобнее
8. олег шишкин (shishkin1966) 19.11.10 08:51
Добавлено:
- при перетаскивании связи в "ручном" редактировании запроса, если определение первичной таблицы уже есть, то копируется только СОЕДИНЕНИЕ
- в визуальном построителе главная таблица автоматически выбирается при выборе колонок запроса. Также при выборе из списка главной таблицы добавлены таблицы из списка колонок.
9. олег шишкин (shishkin1966) 20.11.10 08:46
У меня есть 2 вопроса к народу !!!
- нужен ли простой построитель запросов уже в терминах SQL ?
- нужно ли добавить редактирование/добавление/удаление в полученных данных запроса ?
10. олег шишкин (shishkin1966) 20.11.10 08:49
и еще вопрос нужно ли добавить к результатам запроса визуальное
- наложение фильтра
- сортировка
чтобы не писать вручную ?
11. олег шишкин (shishkin1966) 20.11.10 22:09
20.11.2010
Добавлено (исправлено) формирование связей в журнале документов (ссылка по 2 полям) и табличным частям (отсутствие описания ссылки).
12. Яков Коган (Yashazz) 21.11.10 19:46
(9) Вот если ты сделаешь аналог внутреннего интерпретатора 1С, который исходные запросы в чистый скуль конвертит, это выйдет оченно симпатично и нужно. Именно по их принципам.

(7) Дык, главное окно конфы приучило. Да и место на экране экономится. :)
13. олег шишкин (shishkin1966) 21.11.10 23:50
(12) Выпустил редактор SQL запросов
http://infostart.ru/public/78413/
Это объединение MS Query Analyzer с SQL Assistant. У меня нет задачи делать, как это делает 1С. Потому что смотря на профайлер тихо приходишь в ужас. А была задача сделать мелкий и удобный редактор по типу MS Query Analyzer с информацией о связях, как это делает SQL Assistant. Чтобы писать правильные запросы. Т.е. не монстр, а удобная и быстрая вещь. Единственно не знаю как сделать подсветку синтаксиса. Если есть примеры - кидайте - сделаю - будет просто супер.
14. олег шишкин (shishkin1966) 23.11.10 08:24
Изменения:
- добавлено формирование типа служебного поля "Период"
- наименование параметров изменено на "П0,П1, ..."
15. олег шишкин (shishkin1966) 23.11.10 23:20
Исправлено:
- у владельцев исправлено поле связанной таблицы вместо ссылка теперь правильно пишется владелец. Физ. связь правильная.
16. OBEH (OBEH) 24.11.10 18:24
На рисунке тут, вроде, видно что в павом верхнем углу возможность сворачивать обработку и делать ее во весь экран.
А почему форма не разворачивается во весь экран?
17. олег шишкин (shishkin1966) 25.11.10 08:10
(16)
привязки плохо работают
то они есть, то они исчезают - устал я с ними бороться
Сделаю полную развертку на весь экран. Как построителе SQL запросов.
18. олег шишкин (shishkin1966) 25.11.10 08:23
(16)
Изменил разделители. Окно разработки теперь максимизируется
19. олег шишкин (shishkin1966) 26.11.10 12:23
Мелкие улучшения в перетаскивании
20. Yuri (Virsy) 26.11.10 14:56
Неудобно, что кнопка выполнить запрос на одной закладке, а результат - на другой.
И описание в справке обработки не повредило бы..
21. олег шишкин (shishkin1966) 26.11.10 16:52
(20)
для результата места нет. Слишком все сжато по вертикали будет. Описание будет на следующей неделе. Тестирую на удобство на толстой конфигурации. Прошу подождать чуть - чуть. При выполнении запроса буду переходить на закладку с результатами.
22. олег шишкин (shishkin1966) 28.11.10 00:24
Добавлено:
- описание работы с обработкой
- взаимосвязи с виртуальными таблицами
23. OBEH (OBEH) 28.11.10 07:30
(20)"Неудобно, что кнопка выполнить запрос на одной закладке, а результат - на другой"
В принципе, запуск в таком режиме вполне логичен. И я, обычно, в таких ситуациях просто после выполнения запроса перевожу окно программно на окно результата запроса.
24. олег шишкин (shishkin1966) 28.11.10 08:52
25. олег шишкин (shishkin1966) 29.11.10 09:09
Добавлено
- возможность вставки в текст запроса элементов языка запросов (функций, операторов)
26. олег шишкин (shishkin1966) 29.11.10 15:39
Извиняюсь:
- из-за отсутствия описания стандартных реквизитов в 8.1 в некоторых версиях отсутствовало определение типов реквизитов "Ссылка" и других стандартных реквизитов (вынесенных в 8.2) при описании параметров запроса. Исправил.
27. олег шишкин (shishkin1966) 30.11.10 10:50
Добавлено:
- описание задач
28. Илья (husky) 02.12.10 08:06
На УПП 1.3.5 (8.2) не открывается, вешает намертво программу....(((
29. олег шишкин (shishkin1966) 02.12.10 10:58
(28)
Попробуйте скачать последнюю версию - я в строке статуса отображаю, что в данный момент обрабатывается. И если повиснет - отпишите, когда на чем повисла - полный текст в строке статуса
30. олег шишкин (shishkin1966) 02.12.10 11:01
я проверял на бухгалтерии 1.6 - проход по всем деревьям метаданных занимает порядка 3 минут
31. олег шишкин (shishkin1966) 02.12.10 12:20
Исправлено:
- при выборе виртуальных таблиц список колонок виртуальной таблицы стал отображаться
32. Илья (husky) 13.12.10 08:31
В строке состояния на последней версии обработки не показывает что обрабатывается, одни песочные часы весят....((( И ни туды и ни сюды....( (УПП 1.3 платформа 8.2)
33. олег шишкин (shishkin1966) 13.12.10 12:31
34. олег шишкин (shishkin1966) 14.12.10 22:24
(32)
Выложил новую версию - со справочником связей Метаданных (можно и без него). Тестировал на УПП 1.2 на файловой версии. Все прошло.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа