|
Передать параметр в запрос | ☑ | ||
---|---|---|---|---|
0
Patrio_
O_Muerte 30.09.11
✎
15:39
|
Добрый день.
Уважаемые, подскажите, каким образом передать параметр в запрос, если параметр - это реквизит отчета (на форме его нет), а сам отчет выполняется при помощи схемы компоновки данных (при создании формы я установил галочку использовать СКД, то есть в самом модуле формы нет ни слова про выполняемый запрос). |
|||
1
butterbean
30.09.11
✎
15:44
|
что значит "реквизит отчета"??
|
|||
2
Patrio_
O_Muerte 30.09.11
✎
15:50
|
(1)В режиме конфигуратора при создании нового отчета\обработки появляется форма создания данной обработки: там есть несколько полей, в нижней части есть большое поле, в котором перечислены "Реквизиты, Табличные части, Формы, Макеты".
Так вот в пункте Реквизиты и присутствует мой реквизит, который надо передать как парамет в СКД. |
|||
3
shuhard
30.09.11
✎
15:51
|
(2) выполняй СКД программно
устанавливай параметры примеров на мисте докуя |
|||
4
butterbean
30.09.11
✎
15:52
|
можно так:
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИмяПараметра"); Параметр.Значение = ТутЗначение; Параметр.Использование = Истина; |
|||
5
Darky
30.09.11
✎
15:53
|
я делал так (по памяти)
СКД.Параметры.МойПараметр.Значение = МойРеквизит естественно вывод отчета нужно делать программно Но если есть способ проще, буду рад узнать :) |
|||
6
Patrio_
O_Muerte 30.09.11
✎
16:03
|
(3)Если не получится выпендрится, то придется так и делать.
(4)А куда пихать эти строки? (5)+1:) |
|||
7
butterbean
30.09.11
✎
16:04
|
(6) после изменения твоего реквизита
|
|||
8
shuhard
30.09.11
✎
16:05
|
(6) есть и другие пути,
ты же не хранишь в учетной системе отчеты и содержимое реквизита где-то устанавливаешь сделай его константой и не парься |
|||
9
Patrio_
O_Muerte 30.09.11
✎
16:18
|
(7)Процедура МинусМесяц(Элемент)
Месяц = Месяц - 1; ВремДата = ДобавитьМесяц(ВремДата,-1); ЭлементыФормы.Месяц.Заголовок = Формат(ВремДата,"ДФ = ММММ"); Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Месяц"); Параметр.Значение = Месяц; Параметр.Использование = Истина; КонецПроцедуры Процедура ПриОткрытии() Месяц = Месяц(ТекущаяДата()); ВремДата = ТекущаяДата(); ЭлементыФормы.Месяц.Заголовок = Формат(ТекущаяДата(),"ДФ = ММММ"); Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Месяц"); Сообщить(Параметр); Параметр.Значение = Месяц; Сообщить(Месяц); Параметр.Использование = Истина; КонецПроцедуры Процедура ПлюсМесяц(Элемент) Месяц = Месяц + 1; ВремДата = ДобавитьМесяц(ВремДата,1); ЭлементыФормы.Месяц.Заголовок = Формат(ВремДата,"ДФ = ММММ"); Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Месяц"); Параметр.Значение = Месяц; Параметр.Использование = Истина; КонецПроцедуры Вот модуль формы моего отчета - вставил то, что написано, при любых изменениях нужного реквизита. Отладчиком хожу получает параметр присваивает нужные значения. Но при формировании отчета валится с ошибкой: Ошибка исполнения отчета по причине: Ошибка в выражении "Месяц" Где еще подпилить? (8)Не понял, реквизит меняется в диалоге путем нажатию двух кнопок - "+" и "-". |
|||
10
butterbean
30.09.11
✎
16:21
|
где ругается-то??
|
|||
11
butterbean
30.09.11
✎
16:21
|
(10)+ может у тебя в запросе проблема
|
|||
12
Patrio_
O_Muerte 30.09.11
✎
16:21
|
(10)При нажатии на кнопку "сформировать".
|
|||
13
Patrio_
O_Muerte 30.09.11
✎
16:21
|
(11)В консоли нормально выполняется
|
|||
14
Patrio_
O_Muerte 30.09.11
✎
16:36
|
В качестве апа.
Подозреваю, что где-то не поставил какую-то галочку. |
|||
15
Darky
30.09.11
✎
16:41
|
Покажи кусок кода запроса, где есть параметр Месяц
|
|||
16
Patrio_
O_Muerte 30.09.11
✎
16:44
|
ВЫБРАТЬ
РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, РаботникиОрганизацийСрезПоследних.Организация, РаботникиОрганизацийСрезПоследних.Должность, РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК СотрудникНаименование, МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) КАК Месяц {ВЫБРАТЬ Месяц} ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, ) КАК РаботникиОрганизацийСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&Дата, ) КАК СостояниеРаботниковОрганизацийСрезПоследних ПО РаботникиОрганизацийСрезПоследних.Сотрудник = СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник И РаботникиОрганизацийСрезПоследних.Организация = СостояниеРаботниковОрганизацийСрезПоследних.Организация И РаботникиОрганизацийСрезПоследних.Период = СостояниеРаботниковОрганизацийСрезПоследних.Период ГДЕ РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок > 0 И МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = &Месяц УПОРЯДОЧИТЬ ПО СотрудникНаименование |
|||
17
НЕА123
30.09.11
✎
16:49
|
(16)
{ВЫБРАТЬ Месяц} ? |
|||
18
Patrio_
O_Muerte 30.09.11
✎
16:58
|
(17)Если ты про то что его надо убрать, то результата нет - убрать убрал, а ошибка осталась.
Но суть в том, что я добавил эти строки когда уже после того как ошибка возникла - это я типа пытался понять что где не поставил. |
|||
19
НЕА123
30.09.11
✎
17:07
|
ВЫБОР КОГДА (РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) IS NULL Тогда 0
Иначе МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) КОНЕЦ КАК Месяц |
|||
20
НЕА123
30.09.11
✎
17:08
|
+(19) в ГДЕ тоже самое.
и параметр может стоит переименовать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |