![]() |
![]() |
![]() |
|
СКД. Установка параметра программно | ☑ | ||
---|---|---|---|---|
0
Slon747
07.05.16
✎
08:57
|
Есть запрос:
ВЫБРАТЬ ТоварыНаСкладахОстатки.* ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки({&НачалоПериода}) КАК ТоварыНаСкладахОстатки Параметр &НачалоПериода доступен в быстром отборе. Нужно, чтобы если не выбран параметр, запрос возвращал остатки не на сегодня, а на какую-то дату. Пробую устанавливать параметр вручную (убрал проверку на заполненность параметра): Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) ПараметрыДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы; МойПараметр = ПараметрыДанных.Найти("НачалоПериода"); МойПараметр.Значение = Дата('20010101'); МойПараметр.Использование = Истина; КонецПроцедуры Но отчет все равно формирует остатки на сегодня. Как исправить? P.S. Не спрашивайте зачем. Это один из запросов пакете запросов СКД. |
|||
1
Defender aka LINN
07.05.16
✎
09:10
|
УФ?
|
|||
2
Slon747
07.05.16
✎
09:14
|
(1) Да
|
|||
3
Defender aka LINN
07.05.16
✎
09:28
|
В пользовательских настройках и меняй.
А что вообще мешает назначить значению по умолчанию? |
|||
4
Slon747
07.05.16
✎
09:30
|
(3) А как менять в пользовательских настройка?
>А что вообще мешает назначить значению по умолчанию? Пользователь может оставить пустое значение начало периода. В этом случае запрос должен вернуть пустые остатки (на начало летосчисления). |
|||
5
Defender aka LINN
07.05.16
✎
10:10
|
(4) КомпоновщикНастроек.ПользовательскиеНастройки, как ни ВНЕЗАПНО
|
|||
6
Slon747
07.05.16
✎
11:00
|
(5) Спасибо. Сделал так.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Настройки = КомпоновщикНастроек.ПользовательскиеНастройки; ИдентификаторНастройки = Настройки.ПолучитьИдентификаторПоОбъекту(КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"))); ЭлементНастройки = Настройки.Элементы.Найти(ИдентификаторНастройки); Если Не ЭлементНастройки.Использование Тогда ЭлементНастройки.Значение = Дата('20010101'); ЭлементНастройки.Использование = Истина; КонецЕсли; КонецПроцедуры |
|||
7
Slon747
07.05.16
✎
11:05
|
Но возник вопрос. А можно так подставлять параметр, чтобы он не влиял на отображение в быстром отборе? Т.е. если в быстром отборе пусто, то запрос формировался на '20010101' или просто возвращал пустой результат?
|
|||
8
Defender aka LINN
07.05.16
✎
12:17
|
В поле "Выражение" прописать что-то типа
|
|||
9
Slon747
07.05.16
✎
17:28
|
(8) Так работает, если в быстром отборе установлена галочка (Использование), но не выставлен параметр. А если галочка не стоит, то пропускает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |