Использование yEd для понимания картины запроса

17.12.15

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

Как увидеть структуру запроса, если даже надписи на вкладках пакетника не видны.

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

Наименование Файл Версия Размер
Обработка
.epf 6,44Kb
15
.epf 1.1.1 6,44Kb 15 Скачать
Пример обработки запроса
.zip 39,69Kb
8
.zip 39,69Kb 8 Скачать
Общий архив
.zip 126,21Kb
48
.zip 1.1.1 126,21Kb 48 Скачать

Про yEd тут уже писали, но применительно к модулям. Я же вспомнил про него, когда понадобилось слегка переработать отчет ЗУП "Анализ начисленных налогов и взносов". Надо было вытащить некоторые промежуточные данные.
Основной набор данных этого запроса содержит 34 запроса в пакете. Понять, что с этим делать было слабо реально, но на помощь пришли проверенные инструменты (разработчика в мобильной версии) Консоль запросов с GOLD Parser'ом поскрипев разложила эту жуть в дерево ВТ, подзапросов и объединений. Однако в этот раз все оказалось хуже, чем обычно: ВТшек оказалось слишком много. Поэтому возникла идея получить более наглядную картину чем последовательность их создания. На помощь пришел диаграмме yEd с возможностью импорта данных графа из экселя.

В итоге родилась следующая последовательность действий, приводящая к красивой картинке:

1. Гружу запрос в консоль с ГолдПарсером (консоль запросов из комплекта мобильных инструментов разработчика в моем случае)

2. Вывожу список дерева запроса в текстовый документ интересует колонка "дерево запроса" "тип узла".  можно больше, но эти - обязательно.

 

3. Копипащу результат в спец обработку: в моем варианте она готовит данные о том какая таблица для какой используется объединения и внутренние запросы игнорируются

4. Результат работы обработки копипащу в эксель файл сохраняю и открываю yEd'ом

5. В диалоге настройки заполняю:

5.1 в Edge list Data - выделяем первый блок эксельки где несколько колонок Target - колонка A источник – B. Галку снимаем

5.2 в Node list - колонка А после списка связей. галку снимаем

 

5.3 На соседней странице (Presentation) из выпадушки Label Text выбираем Node data1 Layout – Hierarchical

 

 Получаем следующий красивый результат (чтобы не ломать глаза и не равть экран вот ссылка на 100% масштаб картинки):

 

Вот собственно и все. Для пущей красоты можно сделать автогруппировку. Natural Cluster дает ИМХО лучшую картинку. В приложенных файлах в последнем показан результат после исправления нескольких ошибок группировки. Как оно было изначально можно понять по цвету узла.

Ссылки:

1. yEd

2. Мобильные инструменты разработчика

3. Инструменты разработчика

 

 

yEd Запрос

См. также

SALE! 20%

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

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

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

13000 10400 руб.

02.09.2020    122091    670    389    

714

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7281    21    6    

39

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3521    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177733    1073    0    

849

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

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

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

5000 руб.

07.02.2018    99343    239    97    

296

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

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

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

3000 руб.

27.08.2019    18106    6    8    

39

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

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

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

2040 руб.

27.12.2017    28104    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23599    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1679 22.01.14 05:00 Сейчас в теме
2. Ndochp 103 22.01.14 06:28 Сейчас в теме
У Вас насколько я понимаю строится дерево, аналогично голд парсеровскому? (только не интерактивное вроде, а картинкой)
Это несколько не та задача. Мне надо было, например, вывести пользователю базу с начала года. По Yed'овской структуре более менее видно, что надо подкрутить ДоходыЗаГодыИтого и ВТБазаНарастающимИтогом подключить в ПоляОтчета и Запрос1. Из дерева это видно гораздо хуже.
А вот то, что если хочешь отрезать пособия от запроса , то можно грохнуть ВТУчетнаяПолитикаНалоговыйУчет, но нельзя ВТНалоговый учет из дерева не видно совсем.
3. tormozit 7136 22.01.14 09:18 Сейчас в теме
yEd - мощная штука, хотя и глючная. Жаль у него нет COM интерфейса, а то можно было бы сделать полностью автоматическую генерацию графа.
4. tormozit 7136 22.01.14 09:21 Сейчас в теме
Кстати пользуясь случаем хочу отметить, что в конструкторе запросов ИР приведенный в статье запрос выглядел бы заметно более читабельно. Если кинешь текст запроса, я сделаю скриншот. А вообще лучше текст запроса включить в статью.
5. Ndochp 103 22.01.14 12:02 Сейчас в теме
Запрос - типовой ЗУПовский "Анализ начисленных налогов и взносов". Не включил его в статью из соображений соблюдения авторских прав.
Кстати, конструктор запросов ИР в комплект мобильных ИР где-то включен? А то кнопка "Конструктор" в консоли запросов ИР вызывает вроде обычный конструктор.
6. tormozit 7136 22.01.14 13:02 Сейчас в теме
7. headMade 144 23.01.14 15:13 Сейчас в теме
(5)
можно вас попросить выслать текст запроса tormozit (по почте или в личку если так важно соблюдение авторских прав).
а то мне хотелось бы взглянуть на то как он выглядит в конструкторе запросов ИР
8. Ndochp 103 24.01.14 00:51 Сейчас в теме
Уже отправил. Самому интересно.
9. yuraos 991 24.01.14 05:50 Сейчас в теме
Очень интересно!
Правда построенная диаграмма тоже достаточно необъятна.
;)
11. Ndochp 103 24.01.14 08:58 Сейчас в теме
(9) Я не виноват, это типовая ЗУП :)
И боюсь нагляднее этот запрос уже не нарисовать.
10. Rothschild 24.01.14 05:51 Сейчас в теме
Нда,
конструктор запросов порой просто убивает
своей неадекватностью решаемым задачам.

Иногда он может в буквальном смысле убить сеанс 1С,
когда в запросе вроде того, что на скриншоте выше,
переименовать какой-нибудь подзапрос в выше стоящих батчах пакета запросов.
12. gendal 8 24.01.14 10:58 Сейчас в теме
Интересно, почему 1С штатно такой механизм визуализации запросов не имеет в конфигураторе. Иной раз об их "трехэтажные" голову разбить можно.
14. CheBurator 3119 05.02.14 13:05 Сейчас в теме
(12) потому что они дятлы. у них мозги не в ту сторону повернуты. по живому не работали. пишут сферических коней на свой мкс...
wolfsoft; +1 Ответить
13. tormozit 7136 25.01.14 10:14 Сейчас в теме
Вот текст этого запроса в конструкторе запроса ИР. Благодаря ему исправил несколько ошибок в своем конструкторе. Т.е. в предпоследней версии 3.02 он не открывается из-за них. В свежей версии 3.03 они уже исправлены.
(картинка может не показываться из-за глюка сайта)
Прикрепленные файлы:
15. Denis_Viktorovich 150 06.02.14 20:11 Сейчас в теме
Да не то чтобы дятлы, просто у них наверное на каждый запрос нанята одна штатная единицы с двумя высшими математическими образованиями и они не понимают что люди которые разбирают их код работают со всеми их ними запроса ми и конфами в одиночку.
16. gendal 8 08.02.14 14:33 Сейчас в теме
Иногда стыдно за поделки 1С перед пользователями. Начинали работать с УПП в 2006 году, так там блок ЗУП вообще никакой был. Штатные программисты, написавшие старую ЗП на ФоксПро, вместо которой должно было встать УПП, смеялись, глядя на это чудо. "Почему это так сделано?" - спрашивали они
17. gusen_it 6 10.02.14 13:00 Сейчас в теме
При загрузке файлы оказываются не полными. В чем проблема?
18. Ndochp 103 10.02.14 13:46 Сейчас в теме
Предположительно в Инфостарте глюк произошел. Я когда скачал в начале файла был HTML код заголовка инфостарта.
Я с техподдержкой связался, чтобы не ждать ответа пришли мыло, скину напрямую.
19. Ndochp 103 10.02.14 17:42 Сейчас в теме
Ответ от техподдержки
>======================= СООБЩЕНИЕ ===================================

Добрый день!
Проблема исправлена, попробуйте скачать файл повторно, загрузка будет бесплатной.

>===========================================================­==========

Относилась ли бесплатность ко мне как автору обращения, или к любому пользователю, скачавшему файл я ХЗ.
20. headMade 144 26.02.14 15:00 Сейчас в теме
"сновной набор данных этого запроса содержит 34 запроса в пакете."

подскажите как вы пакеты вытягиваете в один общий запрос?
21. Ndochp 103 26.02.14 15:52 Сейчас в теме
(20) headMade, в данном случае никак. Просто беру текст запроса для набора данных и копипащу в консоль запросов из Инструментов Разработчика. Там 33 команды "поместить в".
22. Ndochp 103 17.12.15 16:23 Сейчас в теме
Обновлена обработка и общий архив.
Парсер теперь вместо имени подчиненного узла "<ChooseTable>" стал отдавать "<TableWithName>"
Соответственно, если вы качали прошлую версию, то надо заменить строку 19:
Если Найти(строка, "<ChooseTable>") > 0  тогда

на
Если Найти(строка, "<ChooseTable>") > 0 
Или Найти(строка, "<TableWithName>") > 0 Тогда

Оставьте свое сообщение