×
Показано с 1 по 4 из 4
  1. Клерк
    Регистрация
    12.05.2009
    Сообщений
    19

    проблема с СКД

    доброе утро

    есть внешний отчет.
    в схеме компоновки данных есть набор данных-объект с названием "ОСВ"
    в нем поля Субконто1, Субконто2, Субконто3 - тип значения "Любая ссылка"


    есть реквизит "Счет", при его изменении пытаюсь программно заполнить отбор компоновщика настроек

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

    при изменении счета вызывается следующая процедура:

    Код:
    Процедура ОбработкаИзмененияСчета() Экспорт	
    	Отбор=КомпоновщикНастроек.Настройки.Отбор;
    	Отбор.Элементы.Очистить();
    	
    	Если ЗначениеЗаполнено(Счет) Тогда		
    		КоличествоСубконто = Счет.ВидыСубконто.Количество();		
    		ИмяПоляПрефикс = "Субконто";						
    		Для Индекс = 1 По КоличествоСубконто Цикл
    			ВидСубконто=Счет.ВидыСубконто[Индекс - 1].ВидСубконто;					
    			//представление поля
    			ТекПолеНабораДанных = СхемаКомпоновкиДанных.НаборыДанных.ОСВ.Поля.Найти(ИмяПоляПрефикс + Индекс);			
    			ТекПолеНабораДанных.ТипЗначения = ВидСубконто.ТипЗначения;				
    			ТекПолеНабораДанных.Заголовок   = ВидСубконто.Наименование;
    			
    			//отбор
    			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    			НовыйЭлемент.Использование  = Ложь;
    			НовыйЭлемент.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных(ИмяПоляПрефикс + Индекс);
    			НовыйЭлемент.ПравоеЗначение=ВидСубконто.ТипЗначения.ПривестиЗначение(Неопределено);
    			НовыйЭлемент.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;			
    		КонецЦикла;			
    	КонецЕсли;	
    КонецПроцедуры

    если вызвать эту процедуру при открытии формы, то все нормально, например так:
    Нажмите на изображение для увеличения. 

Название:	Screenshot - 23.jpg 
Просмотров:	218 
Размер:	15.2 Кб 
ID:	47556

    но при следующем ручном изменении счета отбора не меняется:
    Нажмите на изображение для увеличения. 

Название:	Screenshot - 23.09.jpg 
Просмотров:	237 
Размер:	14.6 Кб 
ID:	47557


    если при открытии формы процедуру не вызывать, то все хорошо работает, только вместо наименования вида субконто выходит просто Субконто1,Субконто2,Субконто3:
    Нажмите на изображение для увеличения. 

Название:	Screenshot - 23.092.jpg 
Просмотров:	194 
Размер:	14.8 Кб 
ID:	47558


    Как сделать чтобы представление полей отбора изменялось вместе со счетом??
    Поделиться с друзьями

  2. Клерк
    Регистрация
    12.05.2009
    Сообщений
    19
    Цитата Сообщение от roger677 Посмотреть сообщение
    но при следующем ручном изменении счета отбора не меняется:
    сорри ошибка правильно так:
    но при следующем ручном изменении счета, отбор не меняется

  3. Клерк
    Регистрация
    12.05.2009
    Сообщений
    19
    прилагаю отчет, работает в Бух 2.0, 8.2
    skd.rar

  4. Клерк
    Регистрация
    12.05.2009
    Сообщений
    19
    проблема решена, надо было просто добавить после цикла эту строку:
    Код:
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)