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






Прикрепленные файлы:
БП от 11.10.13 ПриходРасходПоСчету.erf
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо за совет,разобралась. Если кому интересно:
Для того чтобы отключить вывод поля по всем группировкам(мало ли пользователь еще своих понаставит?..) надо сделать обход по всей структуре настроек компоновщика, и каждый раз при обходе обращаться к этому элементу,но уже к полям его структуры. Вот код.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Если ВыводитьЦену=Ложь Тогда
ВклОткл=Ложь;
Иначе
ВклОткл=Истина;
КонецЕсли;
Структура = КомпоновщикНастроек.Настройки.Структура;
ИзменитьИерархиюГруппировку(Структура,ВклОткл);
КонецПроцедуры
Процедура ИзменитьИерархиюГруппировку(Структура,ВклОткл)
Для каждого ЭлементСтруктуры Из Структура Цикл
Для Каждого Поле из ЭлементСтруктуры.Выбор.Элементы Цикл
Если Поле.Заголовок="Цена" Тогда
Поле.Использование=ВклОткл;
КонецЕсли;
КонецЦикла;
ИзменитьИерархиюГруппировку(ЭлементСтруктуры.Структура, ВклОткл);
КонецЦикла;
КонецПроцедуры
Все работает хорошо.
Для того чтобы отключить вывод поля по всем группировкам(мало ли пользователь еще своих понаставит?..) надо сделать обход по всей структуре настроек компоновщика, и каждый раз при обходе обращаться к этому элементу,но уже к полям его структуры. Вот код.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Если ВыводитьЦену=Ложь Тогда
ВклОткл=Ложь;
Иначе
ВклОткл=Истина;
КонецЕсли;
Структура = КомпоновщикНастроек.Настройки.Структура;
ИзменитьИерархиюГруппировку(Структура,ВклОткл);
КонецПроцедуры
Процедура ИзменитьИерархиюГруппировку(Структура,ВклОткл)
Для каждого ЭлементСтруктуры Из Структура Цикл
Для Каждого Поле из ЭлементСтруктуры.Выбор.Элементы Цикл
Если Поле.Заголовок="Цена" Тогда
Поле.Использование=ВклОткл;
КонецЕсли;
КонецЦикла;
ИзменитьИерархиюГруппировку(ЭлементСтруктуры.Структура, ВклОткл);
КонецЦикла;
КонецПроцедуры
Все работает хорошо.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот