|
СКД | ☑ | ||
---|---|---|---|---|
0
Wolkness
20.11.12
✎
15:37
|
На форме КомпоновщикНастроек.Настройки.Отбор
Как в нем сделать связь по типу для характеристик. Чтобы при выборе из правого значения выходили значения именно для данной характеристики из справочника ЗначенияСвойствОбъектов. А сейчас выдает все значения. |
|||
1
Wolkness
21.11.12
✎
10:38
|
Может кто подскажет - в СКД на форме отчета как сделать отбор по характеристике и чтобы выходили открывались только нужные свойства владельца а не все значения.
|
|||
2
Wolkness
21.11.12
✎
10:42
|
Мне нужна подсказка как это реализовать
|
|||
3
Irek-kazan
21.11.12
✎
10:43
|
запросом, получить еще одно поле хар-ка?
|
|||
4
Wolkness
21.11.12
✎
10:47
|
С запросом проблем нет. Используется закладка характеристики в самой схеме компоновки. У меня проблема как для пользователя удобно реализовать интерфейс отбора по характеристикам. Все значения хранятся в справочнике значениСвойств и при отборе открываются все значения из этого справочника. а это не нужно. Нужны только нужные значения как при отборе по владельцу.
|
|||
5
Defender aka LINN
21.11.12
✎
11:05
|
(4) Поле отбора - это обычное табличное поле. А у обычного табличного поля обычно есть всяческие события
|
|||
6
vmv
21.11.12
✎
11:19
|
+(5)
&НаКлиенте Процедура КмнНсПлзНсПриИзменении(Элемент) ЗнчПараметраНсКд = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(Элементы.КмнНсПлзНс.ТекущаяСтрока); Если ЗнчПараметраНсКд = Неопределено Тогда Возврат; КонецЕсли; Если ТипЗнч(ЗнчПараметраНсКд) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ЗнчПараметраНсКдПараметр = ЗнчПараметраНсКд.Параметр; Если ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("Организация")) Тогда ЗнчОрганизация = Add_ComM_ОтчетыС.ПолучитьЗнчПараметраПн(Отчет.КомпоновщикНастроек, "Организация", Истина); Если ЗнчОрганизация = Неопределено Тогда РфОрганизация = ПредопределенноеЗначение("Справочник.Организации.ПустаяСсылка"); Иначе РфОрганизация = ЗнчОрганизация; КонецЕсли; ИначеЕсли ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("СтнПериод")) Тогда УспешнаяПроверка = СтнПериодУспешнаяПроверка(ЗнчПараметраНсКд.Значение, РфСтнПериод.ДатаНачала, РфСтнПериод.ДатаОкончания); ИдентичныГраницыПериодов = (РфСтнПериод.ДатаНачала = ЗнчПараметраНсКд.Значение.ДатаНачала) И (РфСтнПериод.ДатаОкончания = ЗнчПараметраНсКд.Значение.ДатаОкончания); Если НЕ ИдентичныГраницыПериодов Тогда Если НЕ ЗнчПараметраНсКд.Использование Тогда ЗнчПараметраНсКд.Использование = Истина; КонецЕсли; Если НЕ ЗнчПараметраНсКд.Значение = РфСтнПериод Тогда Если ЗнчПараметраНсКд.Значение.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод Тогда РфСтнПериод = Новый СтандартныйПериод(ЗнчПараметраНсКд.Значение.ДатаНачала, ЗнчПараметраНсКд.Значение.ДатаОкончания); Иначе РфСтнПериод = Новый СтандартныйПериод(ЗнчПараметраНсКд.Значение.Вариант); КонецЕсли; КонецЕсли; СерверИнициализацияРфСтнПериод(); КонецЕсли; ИначеЕсли ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("Периодичность")) Тогда ЗнчПериодичность = Add_ComM_ОтчетыС.ПолучитьЗнчПараметраПн(Отчет.КомпоновщикНастроек, "Периодичность", Истина); Если ЗнчПериодичность = Неопределено Тогда РфПериодичность = ПредопределенноеЗначение("Перечисление.Периодичность.ПустаяСсылка"); Иначе РфПериодичность = ЗнчПериодичность; КонецЕсли; ИначеЕсли ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("СсылкаГруппы")) Тогда СерверИнициализацияЗаголовок(); КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура КмнНсПлзНсВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ЗнчПараметраНсКд = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ВыбраннаяСтрока); Если ЗнчПараметраНсКд = Неопределено Тогда Возврат; КонецЕсли; Если ТипЗнч(ЗнчПараметраНсКд) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ЗнчПараметраНсКдПараметр = ЗнчПараметраНсКд.Параметр; Если ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("СтнПериод")) Тогда СтандартнаяОбработка = Ложь; СтнПериодВыбран = Add_ComM_ОтчетыК.ПолучитьВыборСтандартногоПериода(ЗнчПараметраНсКд.Значение); Если СтнПериодВыбран <> Неопределено Тогда ЗнчПараметраНсКд.Значение = СтнПериодВыбран; КмнНсПлзНсПриИзменении(Неопределено); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // ----- Обработчики элементов формы: ТаблицаФормы "КмнНсПлзНс.Значение", обработчики колонки таблицы формы &НаКлиенте Процедура КмнНсПлзНсЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // КмнНсПлзНс - КомпоновщикНастроек, ПользовательскиеНастройкиКомпоновкиДанных ЗнчПараметраНсКд = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(Элементы.КмнНсПлзНс.ТекущаяСтрока); Если ЗнчПараметраНсКд = Неопределено Тогда Возврат; КонецЕсли; Если ТипЗнч(ЗнчПараметраНсКд) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ЗнчПараметраНсКдПараметр = ЗнчПараметраНсКд.Параметр; Если ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("СтнПериод")) Тогда СтандартнаяОбработка = Ложь; ДанныеВыбора = Новый СписокЗначений; ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйМесяц)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйКвартал)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлоеПолугодие)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйГод)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотМесяц)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотКвартал)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтоПолугодие)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотГод)); ДанныеВыбора.Добавить(Новый СтандартныйПериод(ЗнчПараметраНсКд.Значение.ДатаНачала, ЗнчПараметраНсКд.Значение.ДатаОкончания)); ИначеЕсли ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("Периодичность")) Тогда СтандартнаяОбработка = Ложь; ДанныеВыбора = ПериодичностьПолучитьДанныеВыбора(); КонецЕсли; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |