0. lastpioneer 163 26.01.18 14:11 Сейчас в теме

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

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

Перейти к публикации

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

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

Как то было дело скачал одну из обработок , а там код был закрыт.
Вижу автор отписал уже , что открыт.
18. lastpioneer 163 26.03.18 00:23 Сейчас в теме
(13) Открыто, входите :)
yurazyuraz; +1 Ответить
21. yurazyuraz 27.03.18 06:30 Сейчас в теме
24. mikukrnet 167 18.09.18 15:18 Сейчас в теме
(0) Повторяете функционал внешних источников данных ) Без необходимости изменения конфигурации, конечно
25. Dzenn 344 22.11.18 12:08 Сейчас в теме
26. Shmell 257 22.11.18 13:08 Сейчас в теме
Интересная реализация. В избранное однозначно.
28. nikita0832 189 23.11.18 09:56 Сейчас в теме
Нет исполняемых функций, это жаль. Ещё я себе добавил ТЗ.Сортировать("TABLE_NAME"); чтобы отсортировать таблицы по имени перед загрузкой их на форму
29. nikita0832 189 23.11.18 12:32 Сейчас в теме
Короче дописал чтобы заполнял ещё и функции с параметрами и не ругался конструктор при работе с ними.
30. matveev.andrey.v 47 19.09.19 07:49 Сейчас в теме
Ошибка выходит на пустой конфе
{ВнешняяОбработка.КонструкторЗапросаДляSQL.Форма.Форма.Форма(67,16)}: Переменная не определена (СтроковыеФункцииКлиентСервер)
МассивПолей = <<?>>СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТекстЗапроса, ",");
на какой то типовой ее надо запускать?
31. lastpioneer 163 27.09.19 18:43 Сейчас в теме
(30) да похоже, что в пустой базе не взлетит. Перепишите вызов корректно, а данную процедуру возьмите из типовой конфигурации (возможно ещё какие-то процедуры и функции потребуются из типовых)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 200 000 руб.
Полный день