![]() |
#1 |
Постигающий
|
Создать объект Query из QueryBuildDataSource
Добрый день. Есть необходимость из определeнного QBDS создать новый объект Query. Существуют ли способы кроме как полного перебора и копирования Ranges и Links?
вот простецкий способ (для qbds без джоинов и сортировок) набросал : X++: Query queryFromQbds(QueryBuildDataSource _sourceQbds) { Query ret = new Query(); QueryBuildDataSource dsDest = ret.addDataSource(_sourceQbds.table()); QueryBuildRange rangeDest, rangeSrc; int i, cntRange; ; cntRange = _sourceQbds.rangeCount(); for(i = 1; i <= cntRange; i++) { rangeSrc = _sourceQbds.range(i); rangeDest = dsDest.addRange(rangeSrc.field()); rangeDest.value(rangeSrc.value()); } return ret; } |
|
![]() |
#2 |
Ищущий знания...
|
Цитата:
![]() X++: Query q1 = new Query(); Query q2; ; // создание запроса q1... q2 = new Query(q1); // и тд...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 19.03.2012 в 16:43. |
|
![]() |
#3 |
Постигающий
|
у меня нет q1 )
у меня есть только qbds1 (допустим я его извлек из q1 , по номеру необходимой таблицы qbds1 = q1.tableDataSource(tableNum(empltable)), в q1 много других qbds) и на основе qbds1 нужно создать q2, а дальше qr2 гонять Последний раз редактировалось Андрей К.; 19.03.2012 в 16:45. |
|
![]() |
#4 |
Ищущий знания...
|
Цитата:
![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#5 |
Постигающий
|
Цитата:
и на основе qbds1 нужно создать q2, а дальше qr2 гонять |
|
![]() |
#6 |
Ищущий знания...
|
Цитата:
![]() способа прямого копирования qbds из одного query в другой я не знаю... может кто поделится опытом, мне тоже стало интересно, возможно такое или нет ![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#7 |
Роман Долгополов (RDOL)
|
ну совсем готового кода скорее всего в стандарте нет. на классе SysQuery есть несколько мелких копировщиков (mergeRanges, copyDynalinks и т.д.) Но возможно вам это даже и не нужно. Вместо копирования нужных датасорсов в новый запрос просто можно отключать ненужные через qbds.enabled()
|
|
![]() |
#8 |
Постигающий
|
Цитата:
Сообщение от db
![]() ну совсем готового кода скорее всего в стандарте нет. на классе SysQuery есть несколько мелких копировщиков (mergeRanges, copyDynalinks и т.д.) Но возможно вам это даже и не нужно. Вместо копирования нужных датасорсов в новый запрос просто можно отключать ненужные через qbds.enabled()
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|