Графическая нотация описания языка запросов 1С (черновик)

25.04.21

Разработка - Запросы

Сразу хочу предупредить, что это не окончательный, не готовый к использованию продукт. Это лишь наброски, черновик, прототип. Этот документ я нашел в своих старых записях и решил им поделиться. И представляет он чисто академический интерес. Возможно, кого-то он на что-то вдохновит. Я буду только рад.

Скачать файл

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

Наименование Бесплатно
Графическая нотация описания языка запросов 1С (черновик) - PDF
.pdf 267,72Kb
23
23 Скачать бесплатно
Графическая нотация описания языка запросов 1С (черновик) - DOCX
.docx 39,72Kb
15
15 Скачать бесплатно

Этот документ датирован 2010 годом. Я тогда хотел придумать графическую нотацию, чтобы можно было наглядно изображать структуру запроса на языке 1С. А заодно и на любом SQL-подобном языке.

Я даже предпринимал несколько попыток создать визуализатор, который на вход получает текст запроса, а на выходе выдаёт графическую схему. Желательно, интерактивную. В идеале, даже с возможностью редактирования схемы запроса.

Начинал я эту нотацию придумывать наверное еще в 2009 или в 2008 году. Тогда еще не было пакетных запросов. И большинство более-менее серьезных запросов представляли собой дикую комбинацию соединений, объединений и вложенных запросов. Разобраться в таком монструозном запросе было тем еще квестом.

С появлением пакетных запросов и временных  таблиц читабельность запросов сильно возросла, и потребность в этой нотации стала уже не такой острой.

В общем, решил поделиться с комьюнити этим документом. Возможно, кому-то этот артефакт покажется интересным. Благодарю за внимание.

P.S. Обратите внимание! Нотация не представляет собой законченный продукт. Некоторые моменты могут оказаться непродуманными. И вообще, документ не завершён. Примеры в конце не до конца расписаны, потому что ручное создание таких диаграмм достаточно трудоемко. Именно поэтому была мысль создать программу-визуализатор, чтобы не составлять такие диаграммы вручную.

нотация запрос графика

См. также

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

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

12000 руб.

02.09.2020    169311    937    403    

905

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    11396    sergey279    18    

65

Запросы Программист Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    6341    XilDen    36    

83

Запросы Программист Запросы Бесплатно (free)

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

16.08.2024    9071    user1840182    5    

28

Математика и алгоритмы Запросы Программист Платформа 1С v8.3 Запросы Бесплатно (free)

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

08.07.2024    2727    ivanov660    9    

22

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    10221    implecs_team    6    

48

Запросы Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    3625    andrey_sag    10    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Olenevod 34 25.04.21 14:51 Сейчас в теме
А как можно было бы применять такие нотации (где)? Или, наверное, больше вопрос для кого?
Сама задумка интересная. вот только пока в голову не приходит идея применения такой нотации.
3. Anything 92 25.04.21 23:33 Сейчас в теме
(1) Изначально она планировалась для визуализации (анализа) сложных запросов. Когда еще не было пакетных запросов и временных таблиц. Когда в запросе могло быть 10 вложенных запросов, и отследить путь какого-либо поля из самого глубокого вложенного запроса наружу было достаточно затруднительно. В данной нотации предполагается, что путь поля изнутри наружу можно проследить, просматривая схему слева направо.

Сейчас это уже не так актуально. Запросы стали проще. Но при желании подобную нотацию можно применять, например, в обучающих целях. Например, как используют блок-схемы для визуализации алгоритмов при программировании. Можно на её основе сделать визуальный редактор запросов. В отличие от нынешнего штатного редактора такой редактор отображал бы все составные части запроса на одном экране, а не на разных закладках.
2. Yashazz 4801 25.04.21 15:14 Сейчас в теме
Интереснее визуализировать планируемую и реальную схемы исполнения запроса, только не в терминах СУБД, а уже в контексте 1С. Но, насколько помню, этот подвиг уже кто-то совершил. Там ничего сложного - выцепить схему в хмл-виде из профайлера скуля (насчёт Оракла и других, думаю, тоже можно), отрисовать в графической схеме, "переведя" все нотации в контекст и термины 1С. Полезно весьма.
4. Adeptus 239 27.04.21 08:43 Сейчас в теме
5. sergpn 29.04.21 07:59 Сейчас в теме
не увидел оператора ИМЕЮЩИЕ
Anything; +1 Ответить
7. Anything 92 29.04.21 14:21 Сейчас в теме
(5) Хорошее замечание. В то время еще не было конструкции ИМЕЮЩИЕ, поэтому и в нотации её нет.
6. sergpn 29.04.21 07:59 Сейчас в теме
Не увидел оператор ИМЕЮЩИЕ
8. ccapt 30.04.21 09:46 Сейчас в теме
Чисто для развития представлений о мире вне ниши 1С - посмотрите, например, на описание концепций и BNF-диаграммы синтаксиса SQL в документации Oracle. К примеру, https://docs.oracle.com/cd/B19188_01/doc/B15917/sqsyntax.htm
9. Anything 92 30.04.21 18:03 Сейчас в теме
(8) Спасибо. Но описание синтаксиса - это немного другое. В нашем случае речь идет не про синтаксис запросов, а про создание диаграммы конкретного запроса с конкретными именами полей и таблиц, связями и т. д. Т. е. задача этой нотации - превратить текст конкретного запроса в наглядную диаграмму.
10. ccapt 03.05.21 14:41 Сейчас в теме
(9) Стало понятнее. Интересная идея. Спасибо.
Оставьте свое сообщение