|
Динамический список: программный произвольный запрос с параметрами
| ☑ |
0
mashunka
08.10.12
✎
17:09
|
Имеется динамический список с произвольным запросом с параметрами. Он работает, пока тест запроса задан вручную. Если же задать тест запроса с помощью "Список.ТекстЗапроса = ТекстЗапроса", то список выходит пустым. Хотя при просмотре отладчиком все параметры остаются на месте и имеют заполненные значения.
Если программно задать текст запроса без параметров, то все работает.
Можно, конечно, вставить готовый текст запроса вручную, но текст большой и сложный и его формирует внешняя процедура в зависимости от ряда переданных извне условий. К тому же этот же запрос используется в нескольких других местах, поэтому как бы источник должен быть один, иначе в одном месте поменяют, а в этом несчастном динамическом списке - забудут...
Вопрос, соответственно: в чем разница, почему перестает работать?
|
|
1
mashunka
08.10.12
✎
17:10
|
(0) - сорри, в первом предложении не "тест запроса", а "текст", естественно!
|
|
2
DrShad
08.10.12
✎
17:15
|
а параметры в тексте запроса правильно прописаны? скобки фигурные стоят?
|
|
3
mashunka
08.10.12
✎
17:32
|
(2) эээ, если я задаю текст запроса вручную, там нет никаких фигурных скобок. То есть, если я программно это делаю, то нужно как-то по особому их задавать? Пример можно? А еще - я после строки "Список.ТекстЗапроса = ТекстЗапроса" я отладчиком считываю параметры, например, "Список.Параметры.Элементы[0].Значение" - и они все инициализированы. Значит вроде ж как правильно прописаны?
|
|
4
DrShad
08.10.12
✎
17:35
|
Демонический список работает через СКД
и что значит [если я задаю текст запроса вручную]?
|
|
5
mashunka
08.10.12
✎
17:40
|
(4) ну вручную - это выделяю список в форме, ставлю флажок "Произвольный запрос", жму "Редактирование списка", туда вставляю запрос. Если программно - то захожу в модуль, с процедуре "ПриСозданииНаСервере" пишу "Список.ТекстЗапроса = НекийТекстЗапроса". Значения Параметров в обоих случаях задаю в модуле в процедуре "ПриСозданииНаСервере" колхозным способом "Список.Параметры.Элементы[0].Значение = Значение1", "Список.Параметры.Элементы[1].Значение = Значение2" и т.п. Так вот, в первом случае работает, во втором - нет...
пы.сы. Я знаю, что через СКД, не вижу связи с фигурными скобками. Фигурные - это ж { и }? И куда их пихать?
|
|
6
DrShad
08.10.12
✎
17:42
|
(5) ну так вот когда ты делаешь [ставлю флажок "Произвольный запрос", жму "Редактирование списка", туда вставляю запрос] то скобки расставляет платформа, а когда [роцедуре "ПриСозданииНаСервере" пишу "Список.ТекстЗапроса = НекийТекстЗапроса"] то этого она не делает
|
|
7
mashunka
08.10.12
✎
17:45
|
(6) если я отладчиком считываю текст запроса, который вставила вручную, то там тоже скобок не вижу фигурных... А где примерчик можно посмотреть? Я ж в (3) с этого и начала :) Не знаю я, куда их ставить :(
|
|
8
DrShad
08.10.12
✎
17:47
|
тогда учите СКД прежде чем с демоническими списками работать
|
|
9
mashunka
08.10.12
✎
17:49
|
(8) мне казалось, просьба простая - кинуть примером или ссылкой на методические материалы. Хорошо, спасибо и на этом.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший