Улучшенный конструктор запроса тонкого клиента (Infostart Toolkit)

17.11.21

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

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

Конструктор появился в платформе 8.3.5 вместе с объектной моделью запроса СхемаЗапроса это важно т.к. он базируется на этом объекте.

Представляется в виде обработки, встроенной в платформу, она платформозависимая (в каждой платформе своя, и они там постоянно что-то меняют) и написана на английском языке.

Как выгружать/загружать платформенные обработки уже написано здесь, здесь и здесь

Берем идею, улучшаем, лечим конструктор :). Посмотрите что я улучшил, поправил основную боль ;)

 

Контекстная подсказка и подцветка синтаксиса запросов в редакторе текста запроса и выражении (с версии 1.7)

 

Передача входных таблиц внутрь конструктора

 

Добавление картинки типа к полям

 

Связи редактируются аналогично классическому конструктору

 

Добавлена возможность менять порядок условий

 

"Перейти к полю в выбранных" на странице Объединения/Псевдонимы

 

Выделение жирным активного запроса пакета, оператора (объединения)

 

В редакторе текста, выражения добавлен помощник вставки предопределенных

 

В редакторе текста, выражения добавлена функция преобразовать выделенный запрос во вложенный

В конструктор выражения добавлена возможность вызывать конструктор запроса для выделенного текста

Есть такая функция в толстом конструкторе, тонкий родился уже без нее

 

Другие небольшие изменения, исправления ошибок

  • При открытии активируется последний запрос пакета (стандартно первый)
  • При добавлении в ГДЕ поля типа булево по умолчанию не используется параметр (Например, вместо: "Документ.Проведен = &Проведен", заполняется: Документ.Проведен)
  • Более информативные заголовки страниц
  • В основное окно добавлены кнопки Назад, Далее. Запрос перенесена в левый нижний угол более похоже на классический конструктор
  • Добавлено чередование цветов строк выбранных полей, условий, полей объединения, индексов, полей итогов, пакетов
  • Сворачивание/Разворачивание ветки метаданных при двойном щелчке (ошибка)
  • Удаление кнопкой Del в группировочных полях (ошибка)
  • Удаление кнопкой Del в таблицах для изменения (ошибка)
  • Удаление кнопкой Del в индексах (ошибка)
  • При открытии редактора текста запроса устанавливается более удобный размер формы
  • В редакторе текста не понимал изменения текста (ошибка)
  • В редакторе текста не работал признак модифицированности (ошибка)
  • При изменении на выборка/помещение странице Дополнительно исправлено обновление элементов страниц (ошибка)
  • Включен многострочный режим для условий (ошибка)
 
 Как сделано внедрение конструктора в расширение (некоторые технические нюансы)

Описанный улучшенный конструктор используется в продукте Infostart Toolkit

Конструктор запроса Тонкий клиент Запрос Улучшенный конструктор

См. также

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

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

10000 руб.

02.09.2020    153282    838    398    

846

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

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

11.10.2024    3278    XilDen    34    

59

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

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

16.08.2024    7026    user1840182    5    

28

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

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

08.07.2024    2152    ivanov660    9    

22

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

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

15.05.2024    7446    implecs_team    6    

46

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

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

11.04.2024    3231    andrey_sag    10    

35

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

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

13.02.2024    7379    KawaNoNeko    23    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. lefthander 07.09.20 11:46 Сейчас в теме
Я так понимаю отдельно, как консоль запроса, его не получить?
2. Evg-Lylyk 4821 07.09.20 11:50 Сейчас в теме
(1) Он используется в составе инструментов
Уточните что вы имеете ввиду? Отдельной обработкой? или вы хотите себе его куда то внедрить?
3. lefthander 07.09.20 12:18 Сейчас в теме
(2)Привык работать с просто консолью запросов. Мне вполне хватает Вашей консоли отчетов 3.8.9 ;) Когда совсем не понятно что то запускаюсь в толстом клиенте.
4. Evg-Lylyk 4821 07.09.20 12:40 Сейчас в теме
(3) Инструменты это продолжение разработки консоли в том числе. Много удобств образуется на взаимосвязи инструментов.
Развивать функциональность консоли запросов, отчетов не планирую. Развитие будет идти в новых инструментах.
15. FReIM 9 09.04.21 07:43 Сейчас в теме
(4)
Добрый день.
На скриншоте не видно как редактируются условия связи таблиц.
В классическом тонком клиенте это убогая убогость.
В толстом можно было быстро выбрать поля из таблиц и выбрать функцию для связи эти полей.
В этой обработке как с этим?
5. Xershi 1548 08.09.20 09:00 Сейчас в теме
А не пробовали написать в 1с?
Идеи просто огонь, то чего не хватает.
DrAku1a; pavelpribytkin96; +2 Ответить
7. Evg-Lylyk 4821 08.09.20 09:35 Сейчас в теме
(5) Не писал, ИМХО они очень редко делают что то для разработчиков
cheburashka; DrAku1a; Agrozentr; 7OH; pavelpribytkin96; +5 Ответить
14. DrAku1a 1741 28.09.20 10:19 Сейчас в теме
(7) На самом деле, что-то из просимого делают. Только медленно. И на письма не отвечают, так что такой себе UDP-запрос ))
6. John_d 5878 08.09.20 09:14 Сейчас в теме
Где его взять для внедрения?
8. Evg-Lylyk 4821 08.09.20 09:38 Сейчас в теме
(6) Используется в составе инструментов.
Куда вы хотите внедрить? Скорее всего это нужно индивидуально обсуждать
9. пользователь 09.09.20 15:50
Сообщение было скрыто модератором.
...
10. 7OH 70 09.09.20 23:25 Сейчас в теме
а условия виртуальных таблиц можно сделать как обычные условия, набором строк ?
не понимаю, почему это самой 1С не сделано.
11. Evg-Lylyk 4821 10.09.20 09:16 Сейчас в теме
(10) Насколько знаю: Схема запроса выражения не разбирает на части
Т.е. сделать можно, но только разбирая выражение самостоятельно
12. 7OH 70 10.09.20 09:20 Сейчас в теме
(11) ну реально ведь тупо сделали 1с-овцы.
Такое же условие по сути как и обычное или в соединении.
То ли мышкой один раз пнуть то ли два раза и ещё апмерсанд поставить с первого раза правильно
13. Evg-Lylyk 4821 10.09.20 09:23 Сейчас в теме
(12) Согласен. Запишу как пожелание
Что понял модифицируя конструктор 1С они делали как проще. Тут я за них (уже настолько привык что это не доставляет неудобств)
16. Evg-Lylyk 4821 09.04.21 08:47 Сейчас в теме
(15) Как в классическом с установленной галкой произвольное выражение + в нем есть контекстная подсказка.
Выбор поля с деревом в списке в управляемых формах никак
17. FReIM 9 09.04.21 08:53 Сейчас в теме
(16)Ну почему же никак. Можно до определенного уровня вложения.
А потом придется мучаться с сохранением текущей позиции в древе и углублять вложенность с перерисовкой этого древа.
Просто сие будет не список а отдельная форма с древом.
Как то так.
18. Evg-Lylyk 4821 09.04.21 08:56 Сейчас в теме
(17) Ааа да можно формой выбора, запишу
19. tolyan_ekb 105 17.08.21 13:01 Сейчас в теме
Добрый день. Подскажите есть преобразование текста запроса в SQL?
20. Evg-Lylyk 4821 17.08.21 13:30 Сейчас в теме
(19) Нет, это отдельная задача. Здесь на ИС видел что то такое, поищите
21. Lancelot-2M 115 11.08.22 18:56 Сейчас в теме
Я правильно понимаю, что дамп запроса из под отладчика не доступен?
В смысле, я люблю делать так: Обработки.Запросник2_0.Создать().Дамп(Запрос),
а потом в режиме предприятия загружаю дамп по кнопке - и там у меня все прелести, включая ТЗ в параметрах и временные таблицы.
Тут так можно?
А когда будет можно?
22. Evg-Lylyk 4821 11.08.22 20:19 Сейчас в теме
23. Serg2000mr 626 31.01.23 16:55 Сейчас в теме
(0) Можете еще добавить в конструктор такую функцию?

Есть пакет запросов, например, две временные таблицы и выборка.
Во временной таблице меняем, скажем, Док.Номенклатура на функцию ЕстьNull(Док.Номенклатура, "Отсутствует")

Конструктор автоматически меняет псевдоним на Поле1 и все нижние запросы и пакеты, использующие эту временную таблицу, незаметно редуцируются, связи и поля исчезают. Сразу можно и не заметить, приходится переделывать всю работу.

Решение - при изменении псевдонима поля предупреждать, что автопсевдоним меняется и что есть зависимые связи и поля, которые исчезнут при таком переименовании.
24. Evg-Lylyk 4821 31.01.23 17:15 Сейчас в теме
(23) Хорошая идея, записал https://github.com/infostart-hub/toolkit/issues/689
проблема известная
SagittariusA; Serg2000mr; +2 Ответить
Оставьте свое сообщение