Скрыть колонку в скд

Скрыть колонку в скд

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как вывести в отчет (сделанный на схеме компоновки данных) только значения итогов, без детализации?

Порядок действий:

  1. В форме макета СКД перейти на вкладку «Настройки»;
  2. Выделить группировку «Детальные записи»;
  3. В области настроек нажать «Детальные записи»;
  4. Перейти на вкладку «Условное оформление» и добавить строку:
  1. В «Оформляемые поля» добавить колонки, по которым нужно выводить только итоги;
  2. В «Оформление» ищем параметр текст и ставим «» — пустую строку;
Читайте также:  Как узнать откуда приходило заказное письмо

В результате получим отчет, в котором в правилах условного оформления установлена пустая текстовая строка (для определенных колонок детальных записей).

Задача

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

Первый будет осуществлен стандартными возможностями СКД без единой строчки кода. Второй вариант будет усложнен дополнительным условием при выводе отчета. Но обо всем по порядку.

Стандартные возможности

Система компоновки данных имеет стандартные возможности по фиксации колонок в отчете. Настройки фиксации как таковые отсутствуют, но мы можем влиять на нее через изменение структуры отчета. Например, если нам нужно в отчете, скриншот которого представлен выше, сделать фиксацию для колонки "Номенклатура", то достаточно настроить структуру вывода следующим образом:

Тогда при формировании отчета мы получим необходимый результат. Фиксация будет происходить для всех полей, которые находятся в разделе "Строки".

Таким образом, без единой строчки кода, используя только стандартные возможности СКД, мы решили задачу с фиксацией колонки в отчете. Но что, если нам нужно зафиксировать не только первую колонку "Номенклатура", но и первую колонку склада (в нашем случае это "Главный склад"). Стандартные возможности СКД тут не помогут, пойдем другим путем.

Другой путь

Используя отчет из предыдущей части статьи зафиксируем первую колонку "Склад" в выводимом табличном документе. Для этого программно сформируем отчет в обработке "ПриКомпоновкеРезультата" модуля объекта отчета. Листинг этой процедуры-обработчика представлен на следующем листинге:

Чтобы провести фиксацию первой колонки выводимого склада, выполним вывод отчета в табличный документа. Затем установим фиксацию в табличном документе слева в значение 3 (3 ячейки).

Почему фиксация имеет значение именно 3? Обратимся к следующему скриншоту:

Читайте также:  Как изменить общедоступную сеть на домашнюю

И так, задача решена. Конечно, не универсальным образом, но пример изначально планировался простым.

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

В результате формирования отчета мы увидим следующий результат:

Заключение

В предыдущих статьях мы не раз изменяли табличный документ после работы процессора вывода компоновки данных. Этот пример еще раз показывает, что, работая с программным формированием отчета на СКД, мы можем создать отчет практически любой сложности, с любым внешним видом.

Ссылка на основную публикацию
Скопировать контакты с андроид на компьютер
Мы уже рассказывали о том, как скопировать контакты со смартфона на смартфон. Но иногда проще перебросить контактную книгу на компьютер....
Скайп не приходят сообщения
Общение – основная цель любого мессенджера, и Скайп – не исключение. Бывает, что сообщения в Скайпе не отправляются – эта...
Скайп предыдущие версии с официального сайта
На данной странице представлены все версии Скайп для компьютера (полноценные инсталляторы скаченные с официального сайта) и телефона, выпущенные за последние...
Скопировать строку таблицы значений 1с в другую
Не претендуя на полноту описания функций и методов работы с таблицей значений 1с привожу некоторые аспекты, которые в своё время...
Adblock detector