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

30.06.23

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Структура запроса v.001:
.epf 12,04Kb
39
39 Скачать (1 SM) Купить за 1 850 руб.
Структура запроса v.002:
.epf 14,39Kb
22
22 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

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

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

 

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

 

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

 

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

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

См. также

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

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

12000 руб.

02.09.2020    169258    937    403    

905

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12583    99    42    

101

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26522    90    48    

134

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

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

22200 руб.

06.10.2023    16820    41    15    

75

SALE! %

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

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

4800 3840 руб.

14.01.2013    190541    1150    0    

918

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

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

15000 руб.

10.11.2023    11390    40    27    

66

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    768    2    0    

4

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

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

5000 руб.

07.02.2018    103924    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7245 21.06.23 11:50 Сейчас в теме
Где то я уже это все видел =) Для самообразования написать такой инструмент - полезно.
alexey123perm; awk; user1876070; +3 Ответить
3. obmailok 194 21.06.23 13:28 Сейчас в теме
(1)Согласен с Вами. Но самообразование - это один раз, а вот экономия времени - это регулярно. ;)
5. tormozit 7245 21.06.23 13:42 Сейчас в теме
(3) Тоже согласен с тобой. Сам когда то очень давно написал аналогичную поделку. Многие ею пользуются. Тоже регулярно экономит время.
12. tormozit 7245 22.06.23 09:13 Сейчас в теме
(5) В моей поделке кстати нет ограничения "текст запроса должен соответствовать метаданным текущей конфигурации"
17. obmailok 194 22.06.23 15:46 Сейчас в теме
(12) Если не ошибаюсь, то речь об обработке "Парсер текста запроса". Как-то так кажется? Хорошая обработка, я бы даже усилил тезис до супер, но тут принципы совсем другие. Не текст запроса, а его схема - значительно упрощает жизнь. У меня буквально 5 процедур по 20 строк. Зато ограничения (на практике не существенные).
19. obmailok 194 23.06.23 08:04 Сейчас в теме
(12) Я когда-то скачивал https://infostart.ru/1c/tools/137294/. Тоже разбирает текст, не зависимо от конфигурации. Я так понимаю, что Ваша похожа и наверняка не хуже, тем более, что своя.
20. tormozit 7245 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 7245 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 7245 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 167 21.06.23 12:59 Сейчас в теме
Наглядно и удобно! Спасибо!
4. obmailok 194 21.06.23 13:29 Сейчас в теме
6. tormozit 7245 22.06.23 08:14 Сейчас в теме
Проблема с позиционированием (на самом деле прокруткой) в поле текстового документа внесена в 8.3.22 и исправлена в актуальной 8.3.23 https://www.hostedredmine.com/issues/958531
9. obmailok 194 22.06.23 09:05 Сейчас в теме
(6) Спасибо. У меня как раз 8.3.22
Сам был удивлен поведением, но решил.
7. acces969 365 22.06.23 08:20 Сейчас в теме
Интересно, спасибо.
Жду, когда кто-нибудь напишет консоль запросов ODATA
10. tormozit 7245 22.06.23 09:11 Сейчас в теме
(7) Да, лучше ждать много лет и мучаться из-за отсутствия нужного инструмента и затем потерять интерес к решаемой задаче, чем сделать усилие сейчас и написать инструмент самому и обкатать на реальной задаче.
ixijixi; obmailok; starik-2005; +3 Ответить
13. starik-2005 3096 22.06.23 09:57 Сейчас в теме
(10) Ну мало-ли кто на Инфостарте слова пишет. Кто-то просто аналитик, кто-то просто бухгалтер, кто-то просто РПшник или менеджер иной какой. Вряд ли они способны что-то такое написать, но идею подкинуть -чем плохо?
15. acces969 365 22.06.23 10:19 Сейчас в теме
(13) У меня есть эта обработка, я писал ее, когда работал с этим. Но как обычно во взрослой жизни - нет времени довести ее до ума. Может быть когда-нибудь, на пенсии, причешу ее и выложу в свою коллекцию полезных инструментов. Но будет это не скоро - много времени нужно потратить на нее.
14. starik-2005 3096 22.06.23 09:58 Сейчас в теме
(7)
консоль запросов ODATA
Excel?
8. olololeg 22.06.23 08:33 Сейчас в теме
Будем тестировать, идея хорошая, давно хотел реализовать подобный инструмент, но руки так и не дошли, хорошо, что у вас вышло!
11. tormozit 7245 22.06.23 09:12 Сейчас в теме
(8) Теперь уже не станешь первым =). Хотя возможно и автор не стал.
16. Evg-Lylyk 4894 22.06.23 12:27 Сейчас в теме
Подобный механизм есть в Infostart Toolkit и Управляемой консоли отчетов как раз базируется на схеме.
https://infostart.ru/1c/articles/1392009/

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

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

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

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

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

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

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