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

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

77
Предназначен для формирования запросов к 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.

77

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

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

См. также

Комментарии
Сортировка: Древо
2. nvv1970 28.01.18 08:38 Сейчас в теме
Интересно как виртуальные таблицы вы преобразуете в запросы sql ? )))
Учитываете ли разделение данных? )))
sulfur17; +1 Ответить
6. lastpioneer 92 29.01.18 12:21 Сейчас в теме
(2) Это не обработка прямого подключения к SQLной базе 1С (хотя идея интересная ;) ). Это обработка написания произвольного (с большими ограничениями) запроса к SQLной базе. Поэтому она не предполагает использование в конструкторе ветки метаданных 1С, только обработкой сформированные временные таблицы.
AlexGroovy; user785732; +2 Ответить
3. user790109 3 28.01.18 10:15 Сейчас в теме
Задумка интересная, но есть много вопросов по поводу обработки таблиц) и версия 0.0.2, надеюсь не остановишься на этом.
cleaner_it; +1 Ответить
7. lastpioneer 92 29.01.18 12:24 Сейчас в теме
(3) не остановлюсь, если вы будете оставлять свои пожелания и комментарии, желательно в развернутом виде и они будут дополнять первоначальную концепцию. Данный механизм мной был написан и успешно внедрен (с некоторыми дополнениями) на проекте. Так как я его долго искал по просторам интернета и не нашел, решил выложить, может я не один ищущий.
shard; cleaner_it; AlexGroovy; +3 Ответить
4. qwinter 506 29.01.18 10:51 Сейчас в теме
Зачем такие сложности с виртуальными таблицами, если есть описание временной таблицы?
5. lastpioneer 92 29.01.18 12:11 Сейчас в теме
(4) Как раз через описание временных таблиц все и сделано, а сложности для того, что бы пользователь мог видеть в конструкторе все доступные поля, и эта информация ни как не влияла на создаваемый (конечный) текст запроса.
AlexGroovy; +1 Ответить
8. AlexGroovy 2 30.01.18 08:48 Сейчас в теме
Классная штука=) Будем тестить!)
9. KAV2 16.03.18 10:22 Сейчас в теме
А зачем нужны два режима: нетиповой (слева) и типовой (справа) и маппинг между ними в виде временных таблиц. Не удобнее ли было реализовать типовой конструктор для таблиц SQL?
10. lastpioneer 92 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 11 25.03.18 09:43 Сейчас в теме
(12) Можете примерчик такого "сложного" запроса?
16. IvSchekin 25.03.18 12:44 Сейчас в теме
(14) К примеру понадобится выбрать элементы справочника у которых в табличной части в одном из полей встречаются ссылки на другой элемент справочника, но только те что встречаются в табличной части определенного списка документов. Это достаточно простой запрос но часто требуются посложнее.
17. lastpioneer 92 26.03.18 00:23 Сейчас в теме
(12) Думаю, что многие, я в том числе :), пользуются конструкторами, что бы не заморачиваться с вводом имен полей. Набросал, через конструктор "мясо" а потом можно и котлетки-конфетки лепить, хоть конструктором, хоть руками. И самое важно, конструктор помогает не делать грамматических ошибок ;). Да и форматнуть структуру проще через конструктор, чем руками ТАБы выставлять :)
19. IvSchekin 26.03.18 01:42 Сейчас в теме
(17) В таком случае разве недостаточно стандартного конструктора чтобы кубики наделать а потом из них уже не в конструкторе собрать домик?

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

Как то было дело скачал одну из обработок , а там код был закрыт.
Вижу автор отписал уже , что открыт.
18. lastpioneer 92 26.03.18 00:23 Сейчас в теме
(13) Открыто, входите :)
yurazyuraz; +1 Ответить
21. yurazyuraz 27.03.18 06:30 Сейчас в теме
Оставьте свое сообщение