Структура запроса

30.06.23

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

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

Скачать исходный код

Наименование Файл Версия Размер
Структура запроса v.001:
.epf 12,04Kb
39
.epf 12,04Kb 39 Скачать
Структура запроса v.002:
.epf 14,39Kb
18
.epf 14,39Kb 18 Скачать

Кто не сталкивался с громоздким запросом и хотел понять источник данных?

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

Прежде всего обработка позволяет быстро получить список источников данных:

 

 

Посмотреть создаваемые таблицы и связи источников внутри таблиц. Отдельно подсвечиваются вложенные запросы:

 

 

Для упрощения восприятия по текущему источнику данных подсвечиваются строки, где эта таблица ещё используется и где создавалась (если создавалась):

 

 

В запросах могут попадаться таблицы без источников:

 

 

Эти, да и любые другие случаи, можно сверить с текстом запроса. Спозиционировавшись на любой строке из веток "Создания таблицы", из контекстного меню или по кнопке панели можно перейти в начало фрагмента запроса по соответствующей таблице:

 

 

Для позиционирования используется "WScript.Shell", поэтому может возникать предупреждение:

 

 

Без разрешения позиционирование не сработает.

Обработка будет работать на любой платформе, которая поддерживает объект "СхемаЗапроса" (доступен, начиная с версии 8.3.5).

Код открыт. Пользуйтесь, дорабатывайте.

 

Изменения в версии 002:

 

Изменилось отображение списка источников. Теперь это таблица в свертываемой группе:

 

По каждому источнику данных для выбранного пользователя (по умолчанию текущий) отображается право на "Чтение" и "Просмотр":

обработка схема структура визуализация запрос источники данных СхемаЗапроса

См. также

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

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

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

10000 руб.

02.09.2020    127229    689    389    

740

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

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

18000 руб.

06.10.2023    8431    25    6    

46

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

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

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

10000 руб.

10.11.2023    4755    12    2    

38

SALE! %

PowerTools

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

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

3600 2280 руб.

14.01.2013    178960    1085    0    

863

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15123    3    12    

38

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

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

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

5000 руб.

07.02.2018    99900    240    97    

298

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

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

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

2040 руб.

27.12.2017    28434    4    10    

16

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

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

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

3000 руб.

27.08.2019    18528    6    8    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7146 21.06.23 11:50 Сейчас в теме
Где то я уже это все видел =) Для самообразования написать такой инструмент - полезно.
alexey123perm; awk; user1876070; +3 Ответить
3. obmailok 181 21.06.23 13:28 Сейчас в теме
(1)Согласен с Вами. Но самообразование - это один раз, а вот экономия времени - это регулярно. ;)
5. tormozit 7146 21.06.23 13:42 Сейчас в теме
(3) Тоже согласен с тобой. Сам когда то очень давно написал аналогичную поделку. Многие ею пользуются. Тоже регулярно экономит время.
12. tormozit 7146 22.06.23 09:13 Сейчас в теме
(5) В моей поделке кстати нет ограничения "текст запроса должен соответствовать метаданным текущей конфигурации"
17. obmailok 181 22.06.23 15:46 Сейчас в теме
(12) Если не ошибаюсь, то речь об обработке "Парсер текста запроса". Как-то так кажется? Хорошая обработка, я бы даже усилил тезис до супер, но тут принципы совсем другие. Не текст запроса, а его схема - значительно упрощает жизнь. У меня буквально 5 процедур по 20 строк. Зато ограничения (на практике не существенные).
19. obmailok 181 23.06.23 08:04 Сейчас в теме
(12) Я когда-то скачивал https://infostart.ru/1c/tools/137294/. Тоже разбирает текст, не зависимо от конфигурации. Я так понимаю, что Ваша похожа и наверняка не хуже, тем более, что своя.
20. tormozit 7146 23.06.23 08:19 Сейчас в теме
(19) Посмотри подсистему "Инструменты разработчика". В ней есть консоль запросов со структурой запроса. Больше всего картинок тут https://infostart.ru/1c/articles/1355985/ , но тут структура запроса называется по-старому "Дерево запроса". Там структура запроса имеет 2 режима: ведомая (супер быстрая и нестрогая) https://www.hostedredmine.com/issues/958592 и ведущая (медленная). Построители структуры запроса обоих режимов работают без схемы запроса и без жесткой привязки к метаданным.
mip128; obmailok; +2 Ответить
32. Созинов 11.07.23 07:01 Сейчас в теме
(20) Читаешь статью, все нравится, потом смотришь комментарии и это уже есть в ИР. Использую их редко (ITK в основном юзаю), но функционал поражает. Спасибо за качественный инструмент!
24. LosevI 29.06.23 02:06 Сейчас в теме
(1) На Инфостарте тяжело найти dev tool, под которым нет вашего комментария "я это уже делал!!"
А меня вот лично ни разу не заинтересовала ИР по той лишь причине, что в ней все написано на обычное приложение, как я понял. В чем прикол в 2023 возиться в привязочном интерфейсе я не выкупаю. Ничего хорошего, кроме нативно-подсвечиваемого синтаксиса в поле с текстовым документом, в обычных формах нет.
25. tormozit 7146 29.06.23 07:16 Сейчас в теме
(24)
тяжело найти dev tool, под которым нет вашего комментария "я это уже делал!!"

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

Понял ты неправильно. ИР написаны под толстый клиент в основном на обычных формах. Но работают они прекрасно и в обычном и в управляемом приложении.
ubnkfl; SirStefan; HolodZar; +3 Ответить
26. LosevI 29.06.23 09:08 Сейчас в теме
(25) Так получается я все правильно понял. Обычные формы же. То что работает в управляемом приложении "как то" это понятно. Хочется видеть тулзы, написанные для той платформы и мира, в котором живу я. Владельцы УПП живут на параллельной планете. Так что покуда люди будут стараться написать что-нибудь под УФ, пусть пишут, не демотивируйте их :)
user1233595; mort64ram; +2 1 Ответить
27. tormozit 7146 29.06.23 10:12 Сейчас в теме
(26) Про обычные формы ты правильно понял. Про обычное приложение ты понял неправильно. Поэтому утверждать "я все правильно понял" с твоей стороны некорректно.
работает в управляемом приложении "как то"

Видно, что не пробовал и не знаешь о чем пишешь. Может лучше сначала попробовать и потом уже делиться мудростью на эту тему?
не демотивируйте их

Согласен, что частично это может демотивировать. Но может и мотивировать сделать лучше и подсказывать удачные мелкие фичи, которые там уже отточены за многие годы.
SirStefan; HolodZar; +2 Ответить
28. LosevI 29.06.23 12:47 Сейчас в теме
(27) Да не тряситесь вы так. На этом форуме еще никому вас переспорить не удалось, да я в прочем то и не спорю. Просто пишу свои мнения. Мое право не хотеть использовать тулз на обычных формах под толстый клиент, разработка которого началась в 2007 и концептуально не изменилась за все это время. И да, я таки скачал вашу кодовую базу, чтобы убедиться в том, что я пишу. Неудобная информация: со времен УПП многое изменилось и в стандартах разработки, и в функциональности программ, и в построении интерфейсов. Перестало быть модным придумывать свои стандарты типа Есть Ложь. Появилось вообще осознание того, что такое промышленная разработка, слава богу, у самой фирмы 1С. Мое право без особого, заметьте, негатива, да и достаточно культурно не соглашаться с яростной пропагандой старых подходов и деморализации любых попыток (пусть и тоже дажеких до идеала) людей писать тулзы под УФ.

Я понимаю, что за 16 лет и 50к строчек УПП-кода открылась особая уверенность в собственном единственно истинном познании. Изредка могут появляться такие как я, которые будут что то говорить про "предъявляешь всем - соответствуй идеалу сам". Но им вы легко отрываете кабину с вершины своего опыта. Даже не буду вам ничего советовать, кто я такой, простая чернь, которая только и может, что ошибаться... Взял вот усомнился, что работоспособность вашего продукта - это заслуга разработчиков платформы с их постоянной вперед-совместимостью и необновляющимся 20 лет IDE. Простите. Не ставьте мне минусы, я очень расстраиваюсь.
user1233595; Pastor111; mort64ram; +3 2 Ответить
29. HolodZar 30.06.23 04:10 Сейчас в теме
(28) вы явно никогда не пользовались инструментами разработчика, либо вы консультант, которому они не нужны. Решение прекрасно интегрируется с конфигурациями на УФ
30. LosevI 30.06.23 04:16 Сейчас в теме
(29) То есть, у вас в голове это так работает: невозможно быть программистом 1С и не использовать в своей работе великий ИР от Сергея Старых? Так? А сертификат подтверждающий использование ИР можно получить где-нибудь? Чтобы перестать быть консультантом.
Я надеюсь, тут хотя бы бан не дают, если начинаешь такое мнение высказывать, а то пахнет уже какой-то сектой, вот честно. Я даже не буду спрашивать, почему смотреть в интерфейсы 2007 года и быть ограниченным режимом запуска базы это "прекрасная интеграция".
35. HolodZar 28.07.23 07:48 Сейчас в теме
(30) в моей голове это работает так - невозможно пользоваться штатной консолью запроса, которая предлагается в комплекте 1С, если ты видел более функциональное решение
Лично мне абсолютно не важно, как оно выглядит, мне важно, какие функции она выполняет
2. leosoft 165 21.06.23 12:59 Сейчас в теме
Наглядно и удобно! Спасибо!
4. obmailok 181 21.06.23 13:29 Сейчас в теме
6. tormozit 7146 22.06.23 08:14 Сейчас в теме
Проблема с позиционированием (на самом деле прокруткой) в поле текстового документа внесена в 8.3.22 и исправлена в актуальной 8.3.23 https://www.hostedredmine.com/issues/958531
9. obmailok 181 22.06.23 09:05 Сейчас в теме
(6) Спасибо. У меня как раз 8.3.22
Сам был удивлен поведением, но решил.
7. acces969 344 22.06.23 08:20 Сейчас в теме
Интересно, спасибо.
Жду, когда кто-нибудь напишет консоль запросов ODATA
10. tormozit 7146 22.06.23 09:11 Сейчас в теме
(7) Да, лучше ждать много лет и мучаться из-за отсутствия нужного инструмента и затем потерять интерес к решаемой задаче, чем сделать усилие сейчас и написать инструмент самому и обкатать на реальной задаче.
ixijixi; obmailok; starik-2005; +3 Ответить
13. starik-2005 3039 22.06.23 09:57 Сейчас в теме
(10) Ну мало-ли кто на Инфостарте слова пишет. Кто-то просто аналитик, кто-то просто бухгалтер, кто-то просто РПшник или менеджер иной какой. Вряд ли они способны что-то такое написать, но идею подкинуть -чем плохо?
15. acces969 344 22.06.23 10:19 Сейчас в теме
(13) У меня есть эта обработка, я писал ее, когда работал с этим. Но как обычно во взрослой жизни - нет времени довести ее до ума. Может быть когда-нибудь, на пенсии, причешу ее и выложу в свою коллекцию полезных инструментов. Но будет это не скоро - много времени нужно потратить на нее.
14. starik-2005 3039 22.06.23 09:58 Сейчас в теме
(7)
консоль запросов ODATA
Excel?
8. olololeg 22.06.23 08:33 Сейчас в теме
Будем тестировать, идея хорошая, давно хотел реализовать подобный инструмент, но руки так и не дошли, хорошо, что у вас вышло!
11. tormozit 7146 22.06.23 09:12 Сейчас в теме
(8) Теперь уже не станешь первым =). Хотя возможно и автор не стал.
16. Evg-Lylyk 4624 22.06.23 12:27 Сейчас в теме
Подобный механизм есть в Infostart Toolkit и Управляемой консоли отчетов как раз базируется на схеме.
https://infostart.ru/1c/articles/1392009/

Естественно он имеет смысл в консоли запросов, отдельно малополезен
18. obmailok 181 22.06.23 15:53 Сейчас в теме
(16) В консоле запросов как правило сам пишешь и структуру держишь в голове. А вот чужой перехваченный быстренько посмотреть... Впрочем перенести текст в/из консоли не проблема, как и перенести код этой обработки в какую-нибудь консоль. Там кода всего 200 строк включая оформления.
21. kser87 2441 23.06.23 10:26 Сейчас в теме
Честно говоря, это не кажется более простым, чем просто запрос раскуривать.
mip128; oleg-m; Evg-Lylyk; +3 Ответить
34. Serg2000mr 319 20.07.23 20:20 Сейчас в теме
(21) Иногда приходилось вручную строить такое дерево в консоли, чтобы ошибку найти.
22. triviumfan 93 26.06.23 20:47 Сейчас в теме
Мне не нравится объект "СхемаЗапроса", т.к. он не всегда получает текст запроса или параметры сложных запросов с выбором полей без разыменования (даже несоставных).
Обработка не нова, есть даже разборы запросов в виде графов, но всё равно спасибо.
23. tormozit 7146 26.06.23 21:25 Сейчас в теме
(22)
не всегда получает текст запроса

Можно пример?
obmailok; +1 Ответить
33. triviumfan 93 16.07.23 00:22 Сейчас в теме
(23) Текст не помню, какой-то сложный из erp, но он был.
А вот пример с параметрами - легко:
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
	
Запрос = Новый Запрос();
Запрос.Текст = 
"ВЫБРАТЬ
|	Таблица.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ Товары
|ИЗ
|	&Таблица КАК Таблица
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	Товары.Номенклатура.Артикул КАК Номенклатура
|ИЗ
|	Товары КАК Товары";

Запрос.УстановитьПараметр("Таблица", Таблица);

Запрос.Выполнить();

Схема = Новый СхемаЗапроса();
Схема.УстановитьТекстЗапроса(Запрос.Текст);

Попытка
	ПараметрыЗапроса = Схема.НайтиПараметры();
Исключение
	ОписаниеОшибки = ОписаниеОшибки();
	Сообщить(ОписаниеОшибки);
КонецПопытки;
Показать

И это раздражает, ведь редактор запроса его видит, а схема - нет. Понятное дело, что можно явно привести тип через оператор ВЫРАЗИТЬ, но в типовых конфигурациях такое сплошь и рядом.
Пришлось даже консоль запросов допиливать, чтобы "перехват" работал.
31. improg 576 01.07.23 10:31 Сейчас в теме
На больших запросах может быть полезен, увидеть список таблиц и свертка запросов в дереве, кратко увидеть струтктуру запроса.
Оставьте свое сообщение