click fraud detection

1C СКД Видимость колонки по условию

Дата публикации: 22.10.2018

Рассмотрим задачу, когда колонку СКД нужно выводить в зависимости от выполнения какого-то условия.

Рассмотрим на примере внешнего отчета (без формы отчета, только СКД), условие вывода колонки задано в параметре СКД с типом Булево. Все доступные параметры выведены на форму отчета с помощью свойства параметров Включать в пользовательские настройки (правой кнопкой мышки по параметру Свойства элемента пользовательских настроек) (рис. 1):

Рис. 1. Свойства параметра отчета

В списке выбранных полей отчета присутствует колонка Себестоимость, выводом которой нужно управлять (рис. 2):

Рис. 2. Выбранные поля отчета

У параметра Себестоимость, отвечающего за вывод колонки отчета СКД Себестоимость, на закладке Параметры в СКД задаем свойству Использование значение Всегда, чтобы пользователи выбирали только значение параметра и не могли управлять использованием параметра (рис. 3):

Рис. 3. Свойство параметра Использование

Далее в модуле объекта отчета определяем процедуру ПриКомпоновкеРезультата(), в функции КолонкаСебестоимостьДоступна() прописываем возможные дополнительные условия вывода колонки:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

                ПараметрыОтчета = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;

                Для Каждого ПараметрОтчета Из ПараметрыОтчета Цикл

                               Если ТипЗнч(ПараметрОтчета) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") И ПараметрОтчета.Параметр = Новый ПараметрКомпоновкиДанных("Себестоимость") Тогда

                                               Если НЕ (КолонкаСебестоимостьДоступна() И ПараметрОтчета.Значение) Тогда

                                                               ПараметрОтчета.Значение = Ложь;

                                                              

                                                               //убирем из выводимых колонок

                                                               Для Каждого ЭлКолонки Из КомпоновщикНастроек.Настройки.Выбор.Элементы Цикл

                                                                               Если ЭлКолонки.Поле = Новый ПолеКомпоновкиДанных("Себестоимость") Тогда

                                                                                              ЭлКолонки.Использование = Ложь;

                                                                               КонецЕсли;

                                                               КонецЦикла;

                                               Иначе

                                                               //добавляем, если нет

                                                               Для Каждого ЭлКолонки Из КомпоновщикНастроек.Настройки.Выбор.Элементы Цикл

                                                                               Если ЭлКолонки.Поле = Новый ПолеКомпоновкиДанных("Себестоимость") Тогда

                                                                                              ЭлКолонки.Использование = Истина;

                                                                               КонецЕсли;

                                                               КонецЦикла;  

                                               КонецЕсли;

                               КонецЕсли;

                КонецЦикла;

КонецПроцедуры

 

Автор статьи: Дина Королева.

 

 

Аренда разработчика 1С

Опытные специалисты, 1 400 руб./час

Подробнее

Другие записи в блоге

23.11.2018
Рассмотрим задачу проверки заполнения табличной части документа по некоторому алгоритму без редактирования конфигурации. После заполнения документа, нужно проверить данные и выделить цветом строки,...
22.10.2018
Рассмотрим задачу, когда отчет на СКД нужно расшифровать другим отчетом. Рассмотрим на примере конфигурации УТ 11.4.1.271.Для этого нужно добавить строки кода в процедуру ОбработкаРасшифровки общего...
22.10.2018
Рассмотрим задачу, когда нужно обновить типовую конфигурацию, в которую внесены изменения. Рассмотрим на примере конфигурации ЗУП, в которой в документ НачислениеЗарплаты был добавлен новый реквизит...

Подпишитесь на блог

Все интересные статьи нашего блога на Вашем почтовом ящике!

Подписка
 
Сервис звонка с сайта RedConnect