|
Параметр в отборе отчета СКД | ☑ | ||
---|---|---|---|---|
0
mirror1982
20.02.14
✎
12:03
|
Отчет по остаткам продукции, самописный. В СКД этого отчета есть поле "дата готовности". Как мне сделать так, чтобы отчет показывал остатки продукции, которая изготовлена уже более 3-х месяцев назад. Технически сегодня мне надо в отборе отчета поставить, что дата готовности<=20.11.13. Но завтра это дата изменится. Как сделать так, чтобы в отборе можно поставить вместо даты, выражение, которое будет вычисляться по определенной формуле?
|
|||
1
barrgand
20.02.14
✎
12:14
|
Задавать параметр программно
|
2 |
||
2
mirror1982
20.02.14
✎
16:33
|
(1) каким образом?
|
3 |
||
3
vicof
20.02.14
✎
16:35
|
(2) На вкладке "параметры"
|
|||
4
mirror1982
20.02.14
✎
16:51
|
ну а как этот параметр засунуть в отбор? этот отчет имеете около 5 настроек, и только в одной из них я хочу использовать этот параметр для отбора.
|
5 |
||
5
vicof
20.02.14
✎
16:54
|
(4) для начала советую курс по скд посмотреть
|
6 |
||
6
mirror1982
20.02.14
✎
17:04
|
(5) я смотрел. помогите, может че не понимаю
|
|||
7
vicof
20.02.14
✎
17:05
|
КомпоновщикНастроек.настройки.Отбор.Элементы.Добавить()
как-то так |
|||
8
barrgand
20.02.14
✎
17:09
|
ЭлементОтбора=КомпоновщикНастроек.Настройки.Отбор.Элементы. Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаГотовности"); ЭлементОтбора.ПравоеЗначение = ДобавитьМесяц(ТекущаяДата(), -3); |
9 11 |
||
9
barrgand
20.02.14
✎
17:11
|
(8) Вид сравнения только МеньшеИлиРавно
|
|||
10
vicof
20.02.14
✎
17:11
|
ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
|
|||
11
mirror1982
20.02.14
✎
17:15
|
(8) а это будет дейстовать только на определенную настройку отчета? мне на все не надо.
|
|||
12
barrgand
20.02.14
✎
17:16
|
Где добавишь там и будет действовать.
|
|||
13
mirror1982
20.02.14
✎
17:17
|
а не программным способом это возможно сделать?
|
|||
14
barrgand
20.02.14
✎
17:30
|
В вычисляемых полях доступна функция ТекущаяДата() и ПрибавитьКДате. В качестве значения отбора можно указать поле компоновки данных. Дальше сам пробуй, может получится.
|
16 |
||
15
vmv
20.02.14
✎
17:37
|
1. Параметры ввести "НеИспользватьОтборПоДатеГотовновности" И "ДатаГотовности"
2. В запросе КД в Условии ГДЕ или условии-параметре виртуальной таблицы написать ГДЕ (&НеИспользватьОтборПоДатеГотовновности ИЛИ Остатки.ДатаГотовности <= &ДатаГотовности 3. В трех настройках где отбор по указанной дате не нужен установить параметр НеИспользватьОтборПоДатеГотовновности = Истина и запретить его редакцию 4. В астройке где отбор по указанной дате не нужен установить параметр НеИспользватьОтборПоДатеГотовновности = Ложь и запретить его редакцию, установить параметр ДатаГотовности и включить его в пользовательские настройки. Все, легким движением руки мы ничего не ломаем и получаем результаты |
|||
16
mirror1982
20.02.14
✎
18:29
|
(14) про поле компоновки данных - хорошая идея. Только функция прибавитькдате зачем? мне наоборот надо убавить
|
17 18 |
||
17
Defender aka LINN
20.02.14
✎
19:36
|
(16) Найдешь функцию "УбавитьОтДаты" - свисти.
|
|||
18
barrgand
20.02.14
✎
19:40
|
(16) Не поверишь, но если прибавить к дате -3 месяца, то получится то что тебе надо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |