Главбух - форум бухгалтеров, бухгалтерский форум про налоговый учет ОСНО, УСНО, ЕНВД, форум 1С.


Вернуться   Главбух форум бухгалтеров, бухгалтерский форум Главбух по налогам, учету, 1С. > Автоматизация > Программы: 1C 8.0, 8.1, 8.2, 8.3


Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2011, 05:09   #1
статус: начинающий бухгалтер
 
Регистрация: 23.06.2010
Сообщений: 4
Спасибо: 0
По умолчанию проблема с СКД, программное заполнение отбор

доброе утро

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


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

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

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

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

если вызвать эту процедуру при открытии формы, то все нормально, например так:
Нажмите на изображение для увеличения
Название: Screenshot - 23.jpg
Просмотров: 1133
Размер:	15.2 Кб
ID:	9527

но при следующем ручном изменении счета, отбор не меняется:
Нажмите на изображение для увеличения
Название: Screenshot - 23.09.jpg
Просмотров: 1095
Размер:	14.6 Кб
ID:	9528

если при открытии формы процедуру не вызывать, то все хорошо работает, только вместо наименования вида субконто выходит просто
Субконто1,Субконто2,Субконто3:
Нажмите на изображение для увеличения
Название: Screenshot - 23.092.jpg
Просмотров: 1062
Размер:	14.8 Кб
ID:	9529


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

P.S.: код собрал из типовой ОСВ в Бух 2.0
roger677 вне форума   Ответить с цитированием
Старый 23.09.2011, 11:05   #2
статус: начинающий бухгалтер
 
Регистрация: 23.06.2010
Сообщений: 4
Спасибо: 0
По умолчанию Re: проблема с СКД, программное заполнение отбор

прилагаю отчет, работает в Бух 2.0, 8.2
skd.rar
roger677 вне форума   Ответить с цитированием
Старый 23.09.2011, 14:10   #3
статус: начинающий бухгалтер
 
Регистрация: 23.06.2010
Сообщений: 4
Спасибо: 0
По умолчанию Re: проблема с СКД, программное заполнение отбор

проблема решена, надо было просто добавить после цикла эту строку:

Код:
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
roger677 вне форума   Ответить с цитированием
2020
Glavbyh.ru
Ответ



« Предыдущая тема | Следующая тема »

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Полезности: Что лучше: ООО или ИП? калькулятор НДС Книги по бухгалтерскому учету Иностранец в России: на что стоит обратить внимание при трудоустройстве
Какие понятия и определения используются в спорах о взыскании неосновательного обогащения в коттеджных поселках

Текущее время: 21:52. Часовой пояс GMT +3.


Реклама на форуме Главбух.ру

Правила форума


Goon Каталог сайтов
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot