Про 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. Мобильные инструменты разработчика
На правах саморекламы 🙂
Визуальная структура запроса
Отладчик запросов (содержит в себе 1)
1.
2.
У Вас насколько я понимаю строится дерево, аналогично голд парсеровскому? (только не интерактивное вроде, а картинкой)
Это несколько не та задача. Мне надо было, например, вывести пользователю базу с начала года. По Yed’овской структуре более менее видно, что надо подкрутить ДоходыЗаГодыИтого и ВТБазаНарастающимИтогом подключить в ПоляОтчета и Запрос1. Из дерева это видно гораздо хуже.
А вот то, что если хочешь отрезать пособия от запроса , то можно грохнуть ВТУчетнаяПолитикаНалоговыйУчет, но нельзя ВТНалоговый учет из дерева не видно совсем.
yEd — мощная штука, хотя и глючная. Жаль у него нет COM интерфейса, а то можно было бы сделать полностью автоматическую генерацию графа.
Кстати пользуясь случаем хочу отметить, что в конструкторе запросов ИР приведенный в статье запрос выглядел бы заметно более читабельно. Если кинешь текст запроса, я сделаю скриншот. А вообще лучше текст запроса включить в статью.
Запрос — типовой ЗУПовский «Анализ начисленных налогов и взносов». Не включил его в статью из соображений соблюдения авторских прав.
Кстати, конструктор запросов ИР в комплект мобильных ИР где-то включен? А то кнопка «Конструктор» в консоли запросов ИР вызывает вроде обычный конструктор.
(5)http://devtool1c.ucoz.ru/index/konstruktor_zaprosa/0-38
(5)
можно вас попросить выслать текст запроса tormozit (по почте или в личку если так важно соблюдение авторских прав).
а то мне хотелось бы взглянуть на то как он выглядит в конструкторе запросов ИР
Уже отправил. Самому интересно.
Очень интересно!
Правда построенная диаграмма тоже достаточно необъятна.
😉
Нда,
конструктор запросов порой просто убивает
своей неадекватностью решаемым задачам.
Иногда он может в буквальном смысле убить сеанс 1С,
когда в запросе вроде того, что на скриншоте выше,
переименовать какой-нибудь подзапрос в выше стоящих батчах пакета запросов.
(9) Я не виноват, это типовая ЗУП 🙂
И боюсь нагляднее этот запрос уже не нарисовать.
Интересно, почему 1С штатно такой механизм визуализации запросов не имеет в конфигураторе. Иной раз об их «трехэтажные» голову разбить можно.
Вот текст этого запроса в конструкторе запроса ИР. Благодаря ему исправил несколько ошибок в своем конструкторе. Т.е. в предпоследней версии 3.02 он не открывается из-за них. В свежей версии 3.03 они уже исправлены.
(картинка может не показываться из-за глюка сайта)
(12) потому что они дятлы. у них мозги не в ту сторону повернуты. по живому не работали. пишут сферических коней на свой мкс…
Да не то чтобы дятлы, просто у них наверное на каждый запрос нанята одна штатная единицы с двумя высшими математическими образованиями и они не понимают что люди которые разбирают их код работают со всеми их ними запроса ми и конфами в одиночку.
Иногда стыдно за поделки 1С перед пользователями. Начинали работать с УПП в 2006 году, так там блок ЗУП вообще никакой был. Штатные программисты, написавшие старую ЗП на ФоксПро, вместо которой должно было встать УПП, смеялись, глядя на это чудо. «Почему это так сделано?» — спрашивали они
При загрузке файлы оказываются не полными. В чем проблема?
Предположительно в Инфостарте глюк произошел. Я когда скачал в начале файла был HTML код заголовка инфостарта.
Я с техподдержкой связался, чтобы не ждать ответа пришли мыло, скину напрямую.
Ответ от техподдержки
>======================= СООБЩЕНИЕ ===================================
Добрый день!
Проблема исправлена, попробуйте скачать файл повторно, загрузка будет бесплатной.
>=========================================================== ==========
Относилась ли бесплатность ко мне как автору обращения, или к любому пользователю, скачавшему файл я ХЗ.
«сновной набор данных этого запроса содержит 34 запроса в пакете.»
подскажите как вы пакеты вытягиваете в один общий запрос?
(20) headMade, в данном случае никак. Просто беру текст запроса для набора данных и копипащу в консоль запросов из Инструментов Разработчика. Там 33 команды «поместить в».
Обновлена обработка и общий архив.
Парсер теперь вместо имени подчиненного узла «<ChooseTable>» стал отдавать «<TableWithName>»
Соответственно, если вы качали прошлую версию, то надо заменить строку 19:
на