bdd2

Альтернативный конструктор запросов JUG

Опубликовал Михаил Калимулин (mkalimulin) в раздел Программирование - Инструментарий

Структуризация сложных запросов, использование шаблонов и волшебная кнопка!

А всего-то и хотелось - добавить комментарии в текст запроса... (шутка).

Изначальной идеей было - немного отредактировать типовой конструктор, так, чтобы можно было использовать шаблоны запросов. Обдумывание того, что конкретно следует поменять в конструкторе, привело, как это нередко случается, к полному пересмотру концепции.

В новом конструкторе все действия выполняются в "рабочем поле". Сами действия должны быть очевидны: добавляете элемент из палитры элементов, задаете его свойства. Если надо разместить один элемент в другом - перетаскиваете. Палитра элементов зависит от уровня. Их всего два: уровень таблицы и уровень группы(объединения). На уровне таблицы вы конструируете запрос, используя элементы: ВЫБРАТЬ, ИЗ, ГДЕ, СГРУППИРОВАТЬ, УПОРЯДОЧИТЬ. На уровне группы вы объединяете запросы в группы (не путайте с ОБЪЕДИНЕНИЕМ) и выстраиваете структуру произвольной сложности.

Навигатор в правой части поможет ориентироваться в сложной структуре. Результат зпроса можно получить как для отдельной выбранной таблицы, так и для семейства результатов: таблица и все ее "предки".

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

Кнопка "Обновить" на закладке "Рабочее поле" работает по принципу второго закона Вышковского. Можете смеятся, но у меня это работает. 

И да, комментарии в запрос тоже можно добавлять.

Платформа - 8.3, управляемое приложение. Тестировалось на 8.3.8.1784. В режиме совместимости работает с 8.3.6 и выше. С 8.3.5 и ниже неработает.

В архиве сама обработка, описание, тестовая база к описанию и три шаблона. Библиотека шаблонов пока совсем маленькая, но будет постепенно расти.

Описание можно прочесть также и здесь: http://jugwill.livejournal.com/650.html

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

Наименование Файл Версия Размер
Обработка, описание, библиотека шаблонов
.rar 764,93Kb
19.01.17
12
.rar 764,93Kb 12 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Максим *** (premier) 129 02.01.17 14:20 Сейчас в теме
(0) Автор, а чем не устроил типовой конструктор запросов? Или альтернативный, которых на сайте - множество?
2. Михаил Калимулин (mkalimulin) 34 02.01.17 18:23 Сейчас в теме
3. Михаил Калимулин (mkalimulin) 34 02.01.17 18:26 Сейчас в теме
Да, кстати, пример еще какого-нибудь конструктора из этого множества можешь привести?
4. Сергей Старых (tormozit) 4060 03.01.17 09:16 Сейчас в теме
(3) В подсистеме "Инструменты разработчика" http://infostart.ru/public/15126 уже пару лет как есть свой конструктор запроса, но он не поддерживает расширение языка запросов для описания характеристик.
5. Михаил Калимулин (mkalimulin) 34 03.01.17 12:11 Сейчас в теме
(4) В моем есть волшебная кнопка )))
TreeDogNight; +1 Ответить
6. Илья Вильчик (TreeDogNight) 12 04.01.17 10:42 Сейчас в теме
(4) Подсистема "Инструменты разработчика" только для Обычных форм, а здесь Управляемые формы. Автору +, выглядит довольно интересно!
7. борян петров (TODD22) 15 04.01.17 10:45 Сейчас в теме
(6)
Подсистема "Инструменты разработчика" только для Обычных форм

А запустить толстого клиента и обычное приложение религия запрещает?
За тот функционал что есть в ИР можно на такие мелочи и глаза закрыть.
8. Михаил Калимулин (mkalimulin) 34 04.01.17 11:16 Сейчас в теме
(7) Запустить толстого клиента, не забыв перед этим включить модальность.
Но это и вправду - мелочи. Обратите внимание на шаблоны. Мне кажется, вы их недооцениваете.
Evg-Lylyk; Spacer; TreeDogNight; +3 Ответить 1
9. борян петров (TODD22) 15 04.01.17 11:18 Сейчас в теме
(8)
Но это и вправду - мелочи. Обратите внимание на шаблоны. Мне кажется, вы их недооцениваете.

Шаблоны чего я не до оцениваю?
Я только написал что за тот функционал который есть в ИР можно и толстого клиента запустить.
Вроде больше ничего я не писал....
10. Михаил Калимулин (mkalimulin) 34 04.01.17 11:23 Сейчас в теме
(9) В новом конструкторе есть шаблоны.
11. борян петров (TODD22) 15 04.01.17 11:35 Сейчас в теме
(10)
В новом конструкторе есть шаблоны.

В "новом" это в вашем?
12. Михаил Калимулин (mkalimulin) 34 04.01.17 11:40 Сейчас в теме
13. Сергей Старых (tormozit) 4060 04.01.17 12:11 Сейчас в теме
Рекомендую автору дать более индивидуальное название своему конструктору. Альтернативных уже больше одного и со временем меньше не станет. Также рекомендую указать минимальные требования к платформе.
14. Михаил Калимулин (mkalimulin) 34 04.01.17 13:08 Сейчас в теме
(13) Спасибо за советы! Название уже есть - JUG (сокр. от juggle, жонглировать). Насчет платформы учту.
15. Иван Коротеев (kiv1c) 126 10.01.17 14:22 Сейчас в теме
(14) автор, а чем так сильно помогают шаблоны?
16. Evgeniy T. (hashpnd) 13 10.01.17 14:31 Сейчас в теме
Скачал, запрос написал, работает. Юзабилити прям совсем неожиданное. Вы очень много в комментариях написали про шаблоны, но для меня эта тема осталась не раскрыта.
17. Михаил Калимулин (mkalimulin) 34 10.01.17 14:49 Сейчас в теме
(15) Я сейчас готовлю описание. В скором времени выложу. Там о шаблонах будет более менее подробно.
А если вкратце. Существует множество типовых ситуаций с запросами в 1С.
Например: срез последних на каждую дату в запросе, получение накопительного итога и т. д. Шаблоны и предназначены для записи и хранения решений таких типовых ситуаций.
В публикации я привожу пример шаблона "Перерыв в продажах". Вы можете использовать его для того, чтобы зафиксировать перерыв в продажах какого-либо товара. При чем, работать этот шаблон будет в абсолютно любой конфигурации, где есть хоть какая-либо информация о продажах. Регистр продажи - отлично. Нет регистра, есть только документ - тоже годится. Можно фиксировать перерыв в продажах какого-либо товара, а можно и перерыв в продажах какому-либо контрагенту, если вас интересует именно это.
18. Михаил Калимулин (mkalimulin) 34 10.01.17 14:53 Сейчас в теме
(16) Смотрите ответ на предыдущий пост, а также описание. Оно (описание) в скором времени появится.
19. Дмитрий Семенов (Sam13) 197 11.01.17 11:36 Сейчас в теме
В описании нужно дополнить: работает только при отключенном режиме совместимости.
По крайней мере у меня не запустилось в режиме совместимости 8.3.6
20. Михаил Калимулин (mkalimulin) 34 11.01.17 11:41 Сейчас в теме
21. Михаил Калимулин (mkalimulin) 34 11.01.17 18:05 Сейчас в теме
(19) Проверил. Запускается при режиме совместимости 8.3.6 и выше. При режиме совместимости 8.3.5 и ниже не запускается. Вы точно 8.3.6 пробовали? Какая была ошибка?
22. Дмитрий Семенов (Sam13) 197 12.01.17 12:30 Сейчас в теме
Я ошибся. У меня совместимость 8.3.4
23. Михаил Калимулин (mkalimulin) 34 19.01.17 06:10 Сейчас в теме
Немного доработал конструктор, добавил описание, тестовую базу и два шаблона в дополнение к тому, что уже был. Поскольку шаблонов стало три, назвал это гордым словом библиотека. В расчете на то, что количество будет постепенно расти и когда-нибудь оправдает свое название.
Описание можно читать также и здесь: http://jugwill.livejournal.com/650.html