Конструктор запросов для SQL

Программирование - Инструментарий

Конструктор запросов SQL

104
Предназначен для формирования запросов к SQL с помощью механизма 1С "Конструктор запросов" в пользовательском режиме.

Конструктор запроса для SQL. Предназначен для формирования запросов к SQL с помощью механизма 1С "Конструктор запросов" в пользовательском режиме.

  1. Для начала работы на закладке Настройки укажите данные для подключения к SQL
  2. Форма обработки разделена на три окна
    1. Окно таблиц из SQL
    2. Окно редактирования текста запроса
    3. Окно результата запроса

  1. Заполните таблицы из базы SQL
  2. Выберите основную таблицу и нажмите кнопку SELECT. Обработка сформирует шаблон текста запроса.

  1. Выберите присоединяемую таблиц и нажмите кнопку LEFT JOIN. Обработка добавит к основному тексту запроса выбранную таблицу.
  1. При нажатии кнопки «Конструктор запросов» будет вызван типовой механизм 1С «Конструктор запросов» в котором будут доступны весь список полей в заявленных нами таблицах в пп. 3 и 4.
  2. Редактируем запрос и сохраняем
     
  3. По кнопке проверить обработка вернет нам данные из базы SQL

Разрабатывалось и тестировалось на 1С:Предприятие 8.3.11.2867.

104

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

Наименование Файл Версия Размер
Конструктор запросов для SQL:
.epf 15,51Kb
18.09.18
69
.epf 0.0.2 15,51Kb 69 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
2. nvv1970 28.01.18 08:38 Сейчас в теме
Интересно как виртуальные таблицы вы преобразуете в запросы sql ? )))
Учитываете ли разделение данных? )))
sulfur17; +1 Ответить
6. lastpioneer 121 29.01.18 12:21 Сейчас в теме
(2) Это не обработка прямого подключения к SQLной базе 1С (хотя идея интересная ;) ). Это обработка написания произвольного (с большими ограничениями) запроса к SQLной базе. Поэтому она не предполагает использование в конструкторе ветки метаданных 1С, только обработкой сформированные временные таблицы.
user811769; AlexGroovy; user785732; +3 Ответить
27. insurgut 192 23.11.18 07:52 Сейчас в теме
3. user790109 4 28.01.18 10:15 Сейчас в теме
Задумка интересная, но есть много вопросов по поводу обработки таблиц) и версия 0.0.2, надеюсь не остановишься на этом.
cleaner_it; +1 Ответить
7. lastpioneer 121 29.01.18 12:24 Сейчас в теме
(3) не остановлюсь, если вы будете оставлять свои пожелания и комментарии, желательно в развернутом виде и они будут дополнять первоначальную концепцию. Данный механизм мной был написан и успешно внедрен (с некоторыми дополнениями) на проекте. Так как я его долго искал по просторам интернета и не нашел, решил выложить, может я не один ищущий.
shard; cleaner_it; AlexGroovy; +3 Ответить
4. qwinter 515 29.01.18 10:51 Сейчас в теме
Зачем такие сложности с виртуальными таблицами, если есть описание временной таблицы?
5. lastpioneer 121 29.01.18 12:11 Сейчас в теме
(4) Как раз через описание временных таблиц все и сделано, а сложности для того, что бы пользователь мог видеть в конструкторе все доступные поля, и эта информация ни как не влияла на создаваемый (конечный) текст запроса.
AlexGroovy; +1 Ответить
8. AlexGroovy 30.01.18 08:48 Сейчас в теме
Классная штука=) Будем тестить!)
9. KAV2 16.03.18 10:22 Сейчас в теме
А зачем нужны два режима: нетиповой (слева) и типовой (справа) и маппинг между ними в виде временных таблиц. Не удобнее ли было реализовать типовой конструктор для таблиц SQL?
10. lastpioneer 121 22.03.18 15:53 Сейчас в теме
(9) Это вопрос ради вопроса?

В моей обработке один режим.
Маппинга тоже нет, есть представление таблиц SQL в виде временных таблиц, для возможности иметь доступ к полям присоединяемых таблиц.
Возможно, для каких то задач было бы удобнее, ваше предложение. Убедительная просьба, когда реализуете, оставьте здесь ссылку на вашу работу.

Типовой конструктор (на сколько мне известно, могу ошибаться) не работает с таблицами SQL, если вы не используете подключенные внешние источники данных.
11. KAV2 23.03.18 07:23 Сейчас в теме
(10) Извините, в самом деле, конечно же реализовать свой конструктор запросов задача еще та, поэтому предложенное Вами решение это разумный компромис между функционалом и сложностью реализации.
12. IvSchekin 23.03.18 09:44 Сейчас в теме
Конструктор всегда будет иметь ограничения. если умеешь писать запросы то лучше их писать вручную, только в таком случае можно использовать все нюансы.
Сколько запросов писал на T-SQL и сколько видел для них конструкторов - ни один не позволял делать сложных запросов. То же самое и в 1С.
Если начнете писать запросы в конструкторах не сможете использовать все возможности и писать сложные запросы.
zarucheisky; +1 3 Ответить
14. IvanPoh 13 25.03.18 09:43 Сейчас в теме
(12) Можете примерчик такого "сложного" запроса?
16. IvSchekin 25.03.18 12:44 Сейчас в теме
(14) К примеру понадобится выбрать элементы справочника у которых в табличной части в одном из полей встречаются ссылки на другой элемент справочника, но только те что встречаются в табличной части определенного списка документов. Это достаточно простой запрос но часто требуются посложнее.
17. lastpioneer 121 26.03.18 00:23 Сейчас в теме
(12) Думаю, что многие, я в том числе :), пользуются конструкторами, что бы не заморачиваться с вводом имен полей. Набросал, через конструктор "мясо" а потом можно и котлетки-конфетки лепить, хоть конструктором, хоть руками. И самое важно, конструктор помогает не делать грамматических ошибок ;). Да и форматнуть структуру проще через конструктор, чем руками ТАБы выставлять :)
19. IvSchekin 26.03.18 01:42 Сейчас в теме
(17) В таком случае разве недостаточно стандартного конструктора чтобы кубики наделать а потом из них уже не в конструкторе собрать домик?

Лучше создать универсальный механизм позволяющий делать любое кол-во иерархи в справочниках.
Чтобы группировать одни и те же элементы справочника по разному и при этом никогда не корректировать конфигурацию и ничего не зашивать в код.
13. yurazyuraz 23.03.18 11:05 Сейчас в теме
15. Xershi 413 25.03.18 10:20 Сейчас в теме
20. yurazyuraz 27.03.18 06:30 Сейчас в теме
(15) Читал , может что то упустил , где написано что код открыт ?

Как то было дело скачал одну из обработок , а там код был закрыт.
Вижу автор отписал уже , что открыт.
18. lastpioneer 121 26.03.18 00:23 Сейчас в теме
(13) Открыто, входите :)
yurazyuraz; +1 Ответить
21. yurazyuraz 27.03.18 06:30 Сейчас в теме
24. mikukrnet 165 18.09.18 15:18 Сейчас в теме
(0) Повторяете функционал внешних источников данных ) Без необходимости изменения конфигурации, конечно
25. Dzenn 273 22.11.18 12:08 Сейчас в теме
26. Shmell 79 22.11.18 13:08 Сейчас в теме
Интересная реализация. В избранное однозначно.
28. nikita0832 164 23.11.18 09:56 Сейчас в теме
Нет исполняемых функций, это жаль. Ещё я себе добавил ТЗ.Сортировать("TABLE_NAME"); чтобы отсортировать таблицы по имени перед загрузкой их на форму
29. nikita0832 164 23.11.18 12:32 Сейчас в теме
Короче дописал чтобы заполнял ещё и функции с параметрами и не ругался конструктор при работе с ними.
Оставьте свое сообщение