|
Отбор компоновки данных | ☑ | ||
---|---|---|---|---|
0
logman
16.01.22
✎
23:16
|
Всем добрый вечер.
Возникла задача, где в процессе нужно перетащить СКД-шные отборы в текст обычного запроса(не СКД). Попробовал много всякого, но ничего не получилось в нужном ключе, каждый раз все сводилось к огромному повторяющемуся сложному коду. Подскажите, такая реализация в принципе возможна? Например, какие нибудь функции или процедуры в БСП. Или все таки это невыполнимая задача Всем заранее спасибо за ответы! |
|||
1
logman
16.01.22
✎
23:26
|
Уточню, это обычные отборы компоновки данных, берутся не из самого СКД, а просто реализованы на кое-какой отдельной форме, с получением самих отборов проблем нет, но вот как их вставить в текст запроса, ума не приложу, учитывая то, что эти отборы можно группировать, и задавать абсолютно различные комбинации условий, которые очень тяжело воспроизвести в текст запроса.
|
|||
2
МихаилМ
16.01.22
✎
23:29
|
||||
3
acht
16.01.22
✎
23:47
|
(0) Возьми схему и настройки со своими отборами, вытащи готовый запрос из набора данных после компоновщика, типа:
Компоновщик = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = Компоновщик.Выполнить(Схема, Настройки); НаборДанных = Макет.НаборыДанных[0]; ТекстЗапроса = НаборДанных.Запрос; А потом окажется, что не все отборы/группировки можно оттранслировать в запрос напрямую... |
|||
4
logman
17.01.22
✎
00:33
|
(2) Извините, не совсем понял, как это может мне помочь
(3) Попробовал сделать как Вы сказали, но в наборах данных у меня пусто после выполнения запроса компоновщиком |
|||
5
osa1C
17.01.22
✎
08:11
|
(4) в (3) ответ, просто пройдись отладчиком, посмотри тот ли Макет и Схему подтягивает
|
|||
6
acht
17.01.22
✎
09:20
|
(4) 99.99% что схема или настройки кривые.
Если не осиливаешь, то засучивай рукава и пиши генерацию строки условия ГДЕ по отборам вручную. Через рекурсивный обход групп, весь отбор изначально - большая группа "И". Через расстановку скобок там, генерацию условий сравнения, набивку запроса параметрами. Для запроса по одной таблице там ничего особо сложного нет. Вот когда таблиц несколько или в отборе разыменование через точку будет... |
|||
7
FIXXXL
17.01.22
✎
11:11
|
(0) не проще выгрузить результат СКД в таблицу значений? если прям запрос нужен - готовую таблицу передать в запрос...
|
|||
8
DrShad
17.01.22
✎
11:12
|
(7) с языка снял
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |