СКД добавление условия
☑
0
Sasha_H
28.09.11
✎
20:34
Необходимо на форму добавить флажок по нажатию которого в запрос СКД должно добавится условие. Как это сделать?!
И НАЧАЛОПЕРИОДА(ВзаиморасчетыРазвернуто.ДоговорКонтрагента.СрокДействия, ДЕНЬ) >= НАЧАЛОПЕРИОДА(ВзаиморасчетыРазвернуто.Регистратор.Дата,ДЕНЬ)
соотв-но удалится условие после снятия флажка.
1
Mort
28.09.11
✎
20:36
Сделай параметр в запросе
2
Никола_
Питерский
28.09.11
✎
20:37
(1) +100 В типовых сделано через параметр
3
Mort
28.09.11
✎
20:37
НЕ &ТвойМопедТфуФлажок ИЛИ (НАЧАЛОПЕРИОДА(ВзаиморасчетыРазвернуто.ДоговорКонтрагента.СрокДействия, ДЕНЬ) >= НАЧАЛОПЕРИОДА(ВзаиморасчетыРазвернуто.Регистратор.Дата,ДЕНЬ) )
4
Sasha_H
28.09.11
✎
20:39
А как в настройках СКД куда написать необходимый текст?!
5
Sasha_H
28.09.11
✎
20:43
каким образом вписать сюда это условие? и где необходимо в параметрах СКД флажок прописать, чтоб корректно работало.
|ГДЕ
|(НЕ ВзаиморасчетыРазвернуто.Регистратор.ТипЦен = ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка))
| //УСЛОВИЕ_АКТУАЛЬНЫХ_РЕАЛИЗАЦИЙ
6
Mort
28.09.11
✎
20:49
Процедура УстановитьПараметр(КомпоновщикНастроек, Поле, Значение)
//1. Поиск среди параметров
ПараметрПриемник = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Поле));
Если ПараметрПриемник <> Неопределено Тогда
ИдНастройкиПриемника = КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьИдентификаторПоОбъекту(ПараметрПриемник);
ПараметрПНПриемника = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдНастройкиПриемника);
Если ПараметрПНПриемника <> Неопределено Тогда
ПараметрПНПриемника.Значение = Значение;
ПараметрПНПриемника.Использование = Истина;
Иначе
ПараметрПриемник.Значение = Значение;
ПараметрПриемник.Использование = Истина;
КонецЕсли;
Возврат;
КонецЕсли;
//2. Поиск среди отбора
Если КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных(Поле)) <> Неопределено Тогда
ЭлеменОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлеменОтбора.Использование = Истина;
ЭлеменОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Поле);
ЭлеменОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлеменОтбора.ПравоеЗначение = Значение;
КонецЕсли;
КонецПроцедуры
// Пример вызова
УстановитьПараметр(Отчет.КомпоновщикНастроек, "Отбирать", ФлагОтбирать);
А с запросом сам давай.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой