|
Заменить запрос СКД тонкий клиент | ☑ | ||
---|---|---|---|---|
0
ghostrid3r
27.09.13
✎
18:53
|
Доброго времени суток уважаемые форумчане помогите решить проблему, столкнулся вот с чем, есть отчет на СКД со своей формой под тонкий клиент, там есть Реквизит - С наработкой (тип булево). Так вот когда галочка не стоит пытаюсь поменять запрос обычным методом :
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Отчет").СхемаКомпоновкиДанных; Если НЕ СНаработкой Тогда СхемаКомпоновкиДанных.НаборыДанных[0].Запрос = СтрЗаменить(СхемаКомпоновкиДанных.НаборыДанных[0].Запрос,"ГДЕ ИСТИНА", "ГДЕ ИСТИНА И ВыпускПродукции.Стоимость <> 0"); КонецЕсли; В резултате сей манипуляции получаю точно такой же запрос как и был, те СтрЗаменить не срабатывает. |
|||
1
User_Agronom
27.09.13
✎
18:56
|
Предположу: может во фразе "ГДЕ ИСТИНА" пробелов несколько не столько?
|
|||
2
User_Agronom
27.09.13
✎
18:57
|
Вообще смысл "ГДЕ Истина" несколько непонятен.
Всё равно же истина. |
|||
3
discovery science
27.09.13
✎
18:59
|
где истина что?
|
|||
4
fisher
27.09.13
✎
18:59
|
Знатный изврат. Никогда так не пробовал.
А не проще в запросе написать ГДЕ НЕ &СНаработкой ИЛИ ВыпускПродукции.Стоимость <> 0? |
|||
5
ghostrid3r
27.09.13
✎
19:01
|
(2) оно понятно что истина, где истина тут используются больше для СТРЗаменить чтобы знать где и что менять.
|
|||
6
discovery science
27.09.13
✎
19:01
|
(4)имха, это не изврат, а косяк
|
|||
7
Franchiser
гуру
27.09.13
✎
19:09
|
(4) +, сам так делаю, подсмотрел в типовой, так запрос не портится
|
|||
8
Franchiser
гуру
27.09.13
✎
19:10
|
Либо можно использовать оператор Выбора
|
|||
9
Franchiser
гуру
27.09.13
✎
19:12
|
Выбор когда не &снаработкой тогда истина иначе выпускпродукции.стоимость<>0 конец
|
|||
10
Fragster
модератор
27.09.13
✎
19:33
|
(4) еще проще в отбор это добавить безо всяких ИЛИ, ВЫБОР и НЕОПРЕДЕЛЕНО
|
|||
11
Fragster
модератор
27.09.13
✎
19:34
|
а все от того, что никто построитель не учил, когда только он был
|
|||
12
ghostrid3r
27.09.13
✎
19:47
|
(4) Ок с вашим варинтом согласен, но тут есть одна загвоздка, это в том что СНаработкой это должна быть галочка на форме отчета, вот тут и загвоздка как передать эту галочку в пользовательские настройки. Поставить на этом параметре в отчете включить в пользовательские настройки не разрешают, говорят отдельно галочека на форме.
|
|||
13
Noroving
27.09.13
✎
22:34
|
(0) Честно говоря, все это мне кажется бредовой идеей. Лично я решал этот вопрос посредством СКД. Все что нужно прописываеш в запросе СКД. Выводиш параметр в настройках СКД, но не доступный для пользователя. В модуле формы при открытии и изменении твоего флага срабатывает процедурка:
&НаКлиенте Процедура УстановитьПараметрыОтчета() Настройки = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы; //получаем настройки СКД ПарамСНаработкой = Настройки.Найти("СНаработкой"); Если ПарамСНаработкой <> Неопределено Тогда ПарамСНаработкой.Использование = Истина; ПарамСНаработкой.Значение = СНаработкой; КонецЕсли; ЭтаФорма.ВариантМодифицирован = Ложь; КонецПроцедуры // УстановитьПараметрыОтчета() Если Параметр выведен в польз. настройках, тогда нужно еще получеть его по идентификатору: ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; //получаем пользовательские настройки ПарамСНаработкойПольз = ПользовательскиеНастройки.Найти(ПарамСНаработкой.ИдентификаторПользовательскойНастройки); Если ПарамСНаработкойПольз <> Неопределено Тогда ПарамСНаработкойПольз.Использование = Истина; ПарамСНаработкойПольз.Значение = СНаработкой; КонецЕсли; Радуемся) |
|||
14
GANR
27.09.13
✎
23:09
|
(0) Не знаю! Я пробовал в событии модуля объекта (отчета) ПриКомпоновкеДанных (не помню точно название) подсунуть другой запрос - все прекрасно работает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |