Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
VasyaRyjikov Участник
Вступление в Клуб: 28.02.2013
|
Вт Мар 05, 2013 21:53  Можно ли получить в коде операции SQL запрос представления? |
|
Полезность: Нет оценки
|
Добрый день!
Если в ИБСО в "Настройках" отметить "Служебный интерфейс", то в представлении появляется кнопка SQL, в которой можно просмотреть SQL запрос данного представления с параметрами фильтров пользователя. Возможно ли как-то прочитать этот SQL запрос целиком вместе с параметрами в коде операции в некоторую переменную? И если есть такая возможность, буду весьма признателен за пример, как это сделать.
Спасибо. |
|
 |
maestro Профи
Вступление в Клуб: 12.10.2010
|
Ср Мар 06, 2013 14:28   |
|
Полезность: Нет оценки
|
Нельзя!
Если объясните зачем вам это требуется, то, возможно, Вам предложат другой метод решения проблемы. |
|
 |
VasyaRyjikov Участник
Вступление в Клуб: 28.02.2013
|
Ср Мар 06, 2013 19:02   |
|
Полезность: Нет оценки
|
Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции). |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Ср Мар 06, 2013 21:53   |
|
Полезность: Нет оценки
|
VasyaRyjikov пишет: | Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции). |
В чом проблема сделать операцию отчот в EXCEL с килограммом параметров для фильтрации ? |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Чт Мар 07, 2013 06:05   |
|
Полезность: Нет оценки
|
VasyaRyjikov пишет: | Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции). |
Представление и количество выбранных экземпляров для операции - это разное.
Операция запускается над выбранными экземплярами. У простой количество не больше 1, у списочной - количество равно
Код: |
cnt integer;
begin
cnt:=this.count;
end;
|
У списочной операции есть ограничение на количество списка - строка с ID всех экземпляров и разделителями не должна превышать 32K. При 9-10-тизначных ID, это около 3-х тысяч .
Если количество будет превышено - навигатор сам взорвет ошибку. |
|
 |
VasyaRyjikov Участник
Вступление в Клуб: 28.02.2013
|
Чт Мар 07, 2013 11:48   |
|
Полезность: Нет оценки
|
vtar пишет: | В чом проблема сделать операцию отчот в EXCEL с килограммом параметров для фильтрации ? |
А этот килограмм параметров где и как описывать в таком случае? На форме операции?
devor пишет: | Представление и количество выбранных экземпляров для операции - это разное.
Операция запускается над выбранными экземплярами. У простой количество не больше 1, у списочной - количество равно
У списочной операции есть ограничение на количество списка - строка с ID всех экземпляров и разделителями не должна превышать 32K. При 9-10-тизначных ID, это около 3-х тысяч .
Если количество будет превышено - навигатор сам взорвет ошибку. |
Вот это ограничение и не позволяет использовать такие операции для большого количества выделенных пользователем строк (например, тысяч 15 строк). И если задать количество отфильтрованных строк руками в переменной и в цикле вызывать простую операцию, то тоже навигатор взрывается ошибкой.  |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Чт Мар 07, 2013 12:04   |
|
Полезность: Нет оценки
|
VasyaRyjikov пишет: |
Вот это ограничение и не позволяет использовать такие операции для большого количества выделенных пользователем строк (например, тысяч 15 строк). И если задать количество отфильтрованных строк руками в переменной и в цикле вызывать простую операцию, то тоже навигатор взрывается ошибкой.  |
Зачем выделять 15 тысяч строк? Ерунда какая-то.
Сделай групповую операцию и у ней на морде нужные фильтры.
И уже потом в цикле запускай простую, если надо. |
|
 |
VasyaRyjikov Участник
Вступление в Клуб: 28.02.2013
|
Чт Мар 07, 2013 12:45   |
|
Полезность: Нет оценки
|
devor пишет: |
Сделай групповую операцию и у ней на морде нужные фильтры.
|
Т.е. вариант один - по сути повторять на форме групповой операции все поля с возможными вариантами наложения на них условий И и ИЛИ, а также Равно, !Равно, Больше, Меньше и т.д. |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Чт Мар 07, 2013 12:53   |
|
Полезность: Нет оценки
|
VasyaRyjikov пишет: | devor пишет: |
Сделай групповую операцию и у ней на морде нужные фильтры.
|
Т.е. вариант один - по сути повторять на форме групповой операции все поля с возможными вариантами наложения на них условий И и ИЛИ, а также Равно, !Равно, Больше, Меньше и т.д. |
Я бы на твоем месте поговорил с заказчиком. Думаю, конечная задача гораздо проще. Бизнес должен сформулировать бизнес-задачу, а уж технологию реализации им на откуп отдавать нельзя - надо самому подключаться к процессу. |
|
 |
VasyaRyjikov Участник
Вступление в Клуб: 28.02.2013
|
Чт Мар 07, 2013 13:10   |
|
Полезность: Нет оценки
|
Всем спасибо. Посмотрим, что скажет заказчик на то, что есть, и если что, будем уменьшать количество фильтруемых полей. |
|
 |
|