Имя: Пароль:
1C
1С v8
при изменении поля в отборе СКД
0 ХочуСпец
 
16.04.12
15:15
В настройках СКД есть отборы:
Поле1
Поле2

На форму вывел табличное поле (КомпоновщикНастроек.Настройки.Отбор)

Как при изменении первого поля отбора, заполнять второе?
1 Divemaster
 
16.04.12
15:40
КомпоновщикНастроек.Настройки.Структура.получить(1).Настройки.Отбор.элементы[0].Использование = КомпоновщикНастроек.Настройки.Отбор.Элементы[1].Использование;
   КомпоновщикНастроек.Настройки.Структура.получить(1).Настройки.Отбор.элементы[0].ПравоеЗначение = КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ПравоеЗначение;
   КомпоновщикНастроек.Настройки.Структура.получить(1).Настройки.Отбор.элементы[0].ВидСравнения = КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ВидСравнения;

как то так если правильно тебя понял...
2 ХочуСпец
 
16.04.12
15:53
как узнать какое именно значение отбра менять в табличном поле?
3 Divemaster
 
16.04.12
16:07
Для Сч = 0 По ОтчетРасшифровка.КомпоновщикНастроек.Настройки.Отбор.Элементы.Количество() - 1 Цикл
           
           Если ОтчетРасшифровка.КомпоновщикНастроек.Настройки.Отбор.Элементы[Сч].ЛевоеЗначение = ТекПолеОтбора Тогда
               НашлиЭлементОтбора = Истина;
               ТекПараметр = ОтчетРасшифровка.КомпоновщикНастроек.Настройки.Отбор.Элементы[Сч];
               Прервать;    
           КонецЕсли;
           
       КонецЦикла;
       
       Если НЕ НашлиЭлементОтбора Тогда
           ТекПараметр = ОтчетРасшифровка.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       КонецЕсли;
       
       ТекПараметр.ЛевоеЗначение = ТекПолеОтбора;
       ТекПараметр.Использование = Истина;
       ТекПараметр.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
       ТекПараметр.ПравоеЗначение = ТекЭлементОтбора;