|
Построитель отчета: замена текста в запросе |
☑ |
0
Блондинка_
19.02.15
✎
09:45
|
Доброе утро! Такая проблема - в построителе отчетов в процедуре ЗаполнитьНачальныеНастройки, где формируется текст запроса, в тексте добавляю строку с условием, которую затем заменяю на нужное условие в процедуре СформироватьОтчет. Так вот если условие не нужно применять и текст запроса не менять, все выполняется нормально, а если строка с условием меняется, то в ПостроительОтчета.ИзмерениеСтроки пусто. Хотя сам запрос верен и в ПостроительОтчета.ПолучитьЗапрос().Выполнить().Выгрузить() строки есть. Причем никакое новое поле в запрос не добавляется и все группировки точно такие же.
В чем может быть дело?
|
|
1
mikecool
19.02.15
✎
09:51
|
при смене текста запроса очищаются все настройки и инициализацию надо выполнять заново
не меняй текст запроса - используй параметры, будь мужиком )
|
|
2
Блондинка_
19.02.15
✎
09:59
|
(1) Да вот я даже попыталась тот же код вставить, который в первоначальных настройках, ну чтоб как раз инициализировалось все заново. Но не помогает.
А можно поподробнее про параметры? Их же все равно надо в запрос вставлять?
|
|
3
Defender aka LINN
19.02.15
✎
10:00
|
(0) Это называется "Отбор"
|
|
4
FIXXXL
19.02.15
✎
10:00
|
(2) условия юзай через Построитель.Отбор
|
|
5
FIXXXL
19.02.15
✎
10:00
|
дуплет :)
|
|
6
Блондинка_
19.02.15
✎
10:03
|
(3) (4) А, ну да кстати) Что-то об этом я не подумала) Сейчас попробую
|
|
7
D_E_S_131
19.02.15
✎
10:08
|
"ЗаполнитьНачальныеНастройки" — Вы делаете отчет с помощью механизма "УниверсальныйОтчет"? Почему нельзя условие использовать в запросе не меняя текста запроса?
|
|
8
Блондинка_
19.02.15
✎
10:11
|
(7) Не поняла, а как использовать условие в запросе, не меняя текста?
|
|
9
D_E_S_131
19.02.15
✎
10:23
|
(8) Например так:
Выбор Когда НЕ ЗаданоУсловие Тогда Истина
Когда Сумма > 0 Тогда Истина
Иначе Ложь
|
|
10
Блондинка_
19.02.15
✎
11:07
|
(9) Большое спасибо! Так и сделала, была вчера мысль так сделать но что-то я ее оставила) Бросила я разбираться с отборами по построителю и решила все-таки так попробовать.
Очень конечно странно что когда я пишу вот так в параметрах регистра
Номенклатура <> &ПустаяНоменклатура
И ВЫБОР
КОГДА &ЕстьОтбор = ИСТИНА
ТОГДА ДокументПродажи.Склад = &Склад
ИНАЧЕ
КОНЕЦ
Если условие по складу не задается - результат пустой
А вот когда вот так
Номенклатура <> &ПустаяНоменклатура
И ВЫБОР
КОГДА &ЕстьОтбор = ИСТИНА
ТОГДА ДокументПродажи.Склад = &Склад
ИНАЧЕ ИСТИНА
КОНЕЦ
Все работает)) Интересно почему?)) Иначе этого условия нет, вроде же правильно все.
|
|
11
Defender aka LINN
19.02.15
✎
11:32
|
Рукалицо...
|
|
12
D_E_S_131
19.02.15
✎
11:44
|
(10) "Иначе этого условия нет" - условие должно быть всегда. "ИСТИНА" как раз и означает, что будет выполнено условие в любом случае.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший