проблема с СКД, программное заполнение отбора
23.09.2011
05:16
#1
"доброе утро
есть внешний отчет.
в схеме компоновки данных есть набор данных-объект с названием "ОСВ"
в нем поля Субконто1, Субконто2, Субконто3 - тип значения "Любая ссылка"
есть реквизит "Счет", при его изменении пытаюсь программно заполнить отбор компоновщика настроек
КомпоновщикНастроек.Настройки.Отбор выведен в форму
при изменении счета вызывается следующая процедура:
если вызвать эту процедуру при открытии формы, то все нормально (скрин1)
но при следующем ручном изменении счета, отбор не меняется (скрин2)
если при открытии формы процедуру не вызывать, то все хорошо работает, только вместо наименования вида субконто выходит просто
Субконто1,Субконто2,Субконто3 (скрин3)
Как сделать чтобы представление полей отбора изменялось вместе со счетом??
P.S.: код собрал из типовой ОСВ в Бух 2.0"
есть внешний отчет.
в схеме компоновки данных есть набор данных-объект с названием "ОСВ"
в нем поля Субконто1, Субконто2, Субконто3 - тип значения "Любая ссылка"
есть реквизит "Счет", при его изменении пытаюсь программно заполнить отбор компоновщика настроек
КомпоновщикНастроек.Настройки.Отбор выведен в форму
при изменении счета вызывается следующая процедура:
| Код |
|---|
<br> <br><pre>Процедура ОбработкаИзмененияСчета() ЭкспортОтбор=КомпоновщикНастроек.Настройки.Отбор;Отбор.Элементы.Очистить();Если ЗначениеЗаполнено(Счет) ТогдаКоличествоСубконто = Счет.ВидыСубконто.Количество();ИмяПоляПрефикс = "Субконто";Для Индекс = 1 По КоличествоСубконто ЦиклВидСубконто=Счет.ВидыСубконто[Индекс - 1].ВидСубконто;//представление поляТекПолеНабораДанных = СхемаКомпоновкиДанных.НаборыДанных.ОСВ.Поля.Найти(ИмяПоляПрефикс + Индекс);ТекПолеНабораДанных.ТипЗначения = ВидСубконто.ТипЗначения;ТекПолеНабораДанных.Заголовок = ВидСубконто.Наименование;//отборНовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));НовыйЭлемент.Использование = Ложь;НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоляПрефикс + Индекс);НовыйЭлемент.ПравоеЗначение=ВидСубконто.ТипЗначения.ПривестиЗначение(Неопределено);НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;КонецЦикла;КонецЕсли;КонецПроцедуры </pre><br><br> |
если вызвать эту процедуру при открытии формы, то все нормально (скрин1)
но при следующем ручном изменении счета, отбор не меняется (скрин2)
если при открытии формы процедуру не вызывать, то все хорошо работает, только вместо наименования вида субконто выходит просто
Субконто1,Субконто2,Субконто3 (скрин3)
Как сделать чтобы представление полей отбора изменялось вместе со счетом??
P.S.: код собрал из типовой ОСВ в Бух 2.0"
1С 8.2 УПП 1.3.16.1 - Разные суммы в евро формируются в ТОРГ-12 и счет-фактуреЗапрос - из 2-х таблиц=результат-записи, которые не входят во вторую таблицу
Читают тему
(гостей: 1)