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

25.04.21

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

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

10000 руб.

02.09.2020    127009    687    389    

738

Пропорциональное распределение в запросе с использованием АвтоНомерЗаписи()

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

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

11.04.2024    2400    andrey_sag    10    

29

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    6098    KawaNoNeko    23    

26

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2184    2    Yashazz    0    

31

Запрос 1С copilot

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

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6775    32    mkalimulin    30    

53

PrintWizard: поддержка представлений ЗУП в конструкторе

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

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

14.12.2023    1936    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

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

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5684    user1923546    26    

46

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16715    skovpin_sa    14    

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

Сейчас это уже не так актуально. Запросы стали проще. Но при желании подобную нотацию можно применять, например, в обучающих целях. Например, как используют блок-схемы для визуализации алгоритмов при программировании. Можно на её основе сделать визуальный редактор запросов. В отличие от нынешнего штатного редактора такой редактор отображал бы все составные части запроса на одном экране, а не на разных закладках.
2. Yashazz 4727 25.04.21 15:14 Сейчас в теме
Интереснее визуализировать планируемую и реальную схемы исполнения запроса, только не в терминах СУБД, а уже в контексте 1С. Но, насколько помню, этот подвиг уже кто-то совершил. Там ничего сложного - выцепить схему в хмл-виде из профайлера скуля (насчёт Оракла и других, думаю, тоже можно), отрисовать в графической схеме, "переведя" все нотации в контекст и термины 1С. Полезно весьма.
4. Adeptus 225 27.04.21 08:43 Сейчас в теме
5. sergpn 29.04.21 07:59 Сейчас в теме
не увидел оператора ИМЕЮЩИЕ
Anything; +1 Ответить
7. Anything 89 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 89 30.04.21 18:03 Сейчас в теме
(8) Спасибо. Но описание синтаксиса - это немного другое. В нашем случае речь идет не про синтаксис запросов, а про создание диаграммы конкретного запроса с конкретными именами полей и таблиц, связями и т. д. Т. е. задача этой нотации - превратить текст конкретного запроса в наглядную диаграмму.
10. ccapt 03.05.21 14:41 Сейчас в теме
(9) Стало понятнее. Интересная идея. Спасибо.
Оставьте свое сообщение