Как скрыть параметры в 1с

Обновлено: 08.07.2024

Едва ли не на каждом шагу нам приходится делать выбор. Работа в программе «1С:Бухгалтерия 8» редакции 3.0 не является исключением.. Разнообразие типов организаций и видов деятельности, и, как следствие, многовариантность учета приводят к постоянному увеличению функционала программы и часто ставит бухгалтера перед выбором. Новая функция программы позволяет сделать выбор, если не навсегда, то надолго.

Программа может если не все, то многое. Вопрос в том, нужно ли это конкретной компании, бухгалтеру? На практике выходит, что не всегда. Ведь информации у бухгалтера и так с избытком. А каждый раз заходя программу, приходится пробегать глазами лишние пункты меню, иконки, кнопки, то есть объекты типовой конфигурации, не используемые в учете организации. Конечно, такие отвлекающие объекты не способствуют удобной и быстрой работе. А если учесть еще множество «напоминалок» и удобных сервисов, включенных в типовую конфигурацию, то становится очевидно: тем, кому они не нужны в силу отсутствия предмета учета, они скорее не помогают, а мешают и отвлекают. Выход один – отключить ненужное.

До выхода релиза 3.0.35 возможность включения/выключения некоторых функций реализовывалась в форме настройки Параметров учета. Там же она осталась и сейчас, но появился и короткий путь к таким настройкам (рис. 1).

01-01.jpg

Теперь видимостью многих функций можно управлять нажатием одной из трех предлагаемых кнопок – «Основная», «Выборочная» и «Полная» (см. рис. 2). Комментарии «из уст» очаровательной помощницы говорят сами за себя.

01-02.jpg

Что именно кроется под той или иной функциональностью, можно увидеть на закладках формы. Для Основной – все флажки сняты, для Полной – все установлены. Соответственно, Выборочная подразумевает, что вы оставите только те опции, которые необходимы именно вам. Заметьте, если первоначально вы выбрали Основную функциональность, а затем добавили какие-то опции, или, наоборот, после установки Полной, часть функций отключили, то программа автоматически устанавливает Выборочную функциональность.

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

Цель: реализовать возможность скрывать блок колонок пользователем в отчёте, как показано на рисунках:



Отчёт выполнен на базе схемы компоновки данных (СКД).

Написан запрос, для выборки нужных данных. Он индивидуален, поэтому его нет смысла представлять.

Описание самого "увлекательного" процесса настройки СКД представлено ниже.

В параметры СКД вынесены необходимые параметры:



В данном случае, - Аналитика, ОбъектЭксплуатации и Управленческий.

В настройках СКД отчёт состоит из двух группировок: дополнительной информации и детальных записей.
В дополнительной информации выводится заголовок отчёта, а в детальных записях - его данные.
Обратим внимание, что в настройках отчёта необходимо вывести параметры: Аналитика, Объект эксплуатации и Управленческие аналитики.

Это показана на рисунке:


Зададим первоначальные значения этих параметров. В нашем случае, значение принимает следующий вид: "Ложь".

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


Не забываем, что эти параметры необходимо включить в пользовательские настройки:


На этом "увлекательный" процесс закончен. Перейдём к написанию кода для реализации скрытия нужных блоков (полный текст процедур можно найти после описания).

Достаточно много времени заняла отладка кода, чтобы попасть в нужный блок и установить свойство "Использование".
Все манипуляции будут проходить в модуле объекта отчёта, в процедуре "ПриКомпоновкеРезультата".


Итак, что мы делаем:

1) получаем пользовательские настройки элементов и структуры отчёта

2) создаём параметры видимости колонок

3) для удобства отладки вынесли названия выводимых заголовков (блоков)

4) перебираем параметры отчёта, получаем текущие значения видимости и обращаемся именно к нужному блоку отчёта с детальными записями. Если выбираемый блок относится к группе с заголовком "Расшифровки", а именно в этом блоке содержатся скрываемые колонки, то применяем процедуру "ОтображениеБлокаКолонок" для манипуляций с видимостью


5) манипуляции с видимостью заключаются в том, что в зависимости от установленного значения параметра видимости, свойство "Использование" принимает необходимое значение.

Отображение заголовков, параметров данных и отборов в системе компоновки данных

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


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


Для управления отображением заголовков используются следующие параметры :

  • Выводить заголовок - управление отображением заголовка. Существуют следующие варианты отображения заголовка :
    • Авто - отображение заголовка определяется автоматически. Если в заголовке указан текст, то текст заголовок отображается, иначе нет ;
    • Не выводить - заголовок не отображается ;
    • Выводить - заголовок отображается всегда.

    Параметры данных отображаются только в начале отчета.


    Для управления отображением значений параметров данных используется параметр Выводить параметры данных .

    • Авто - отображение параметров данных определяется автоматически. Если параметры данных указаны, то отображается текст вида " Параметры данных : < параметр1 > = < значение1 >" , иначе параметры данных не отображаются ;
    • Не выводить - параметры данных не отображаются ;
    • Выводить - параметры данных отображаются всегда. Если параметры данных не указаны, то отображается только текст вида " Параметры данных : " .

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


    Для управления отображением отбора используется параметр Выводить отбор .

    Параметры могут использоваться практически в любом месте запроса и выполнять самые различные функции.

    Параметры обозначаются знаком & после которого следует имя параметра.

    Параметр может быть полем запроса, частью произвольного выражения поля запроса, условием для виртуальной таблицы, частью выражения в отборе запроса и так далее:

    При построении запроса конструктором на вкладке “Условия” если не стоит галочка “Произвольное”, то конструктор считает что в правом значении параметр и он записывается без символа &.


    Таким образом этот блок настраивается в конструкторе.

    Если значение параметра не задано, то построение СКД будет невозможно и будет выдана ошибка, поэтому такие параметры называют “обязательными” или “жесткими”.

    Выбрать.

    Этот блок располагается в запросе типа выборка данных пакета запросов СКД в первом запросе объединения между перечнем полей и “ИЗ” и заключается в фигурные скобки.


    Таким образом этот блок настраивается в конструкторе.

    При автоматическом заполнении полей набора данных, для не включенных в блок расширения “ВЫБРАТЬ”, добавляются все поля списка выборки и их дочерние поля. Они становятся доступными для выбора, упорядочивания, группировки, отбора. Также добавляются поля, которые упомянуты в параметре “Условия” виртуальных таблиц как доступные для отбора.

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

    Блок расширения “ГДЕ” может быть расположен после или вместо обычного блока “ГДЕ” в любом запросе, подзапросе, запросах объединения и заключается в фигурные скобки. Для присвоения отбору псевдонима используется конструкция “КАК”. Псевдоним нужно использовать чтобы отбор производился конструкцией расширения языка запросов, но не происходил автоматически по наименованию поля.

    Если автозаполнение полей набора отключено, поля из этого блока попадают в перечень полей набора доступными только для отбора, использование дочерних полей зависит от наличия конструкции “.*”.

    Если автозаполнение включено, и это поле включено в блок расширения “ВЫБРАТЬ” тогда настройки обоих блоков объединяются. Если не включено в “ВЫБРАТЬ” то поля попадают доступными для вывода, группировки, отбора и упорядочивания.


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

    Также в блоке “ГДЕ” вместо параметра может быть произвольное выражение с использованием конструкции ВЫБОР или параметров со страницы “Параметры” СКД. Правда в последнем случае вид сравнения необходимо указывать конкретно.

    Нужно с осторожностью использовать вид сравнения МЕЖДУ поскольку:

    Если параметры НачалоПериода и КонецПериода не будут заданы, то система получит документы за весь период.

    Если параметры НачалоПериода и КонецПериода будут заданы, то система получит документы за указанный период.

    Если какой-то один из параметров не будет задан, то система выдаст ошибку.

    Один из вариантов решения это разбить МЕЖДУ на два условия чтобы система не выдавала ошибку в случае одного незаполненного параметра.

    Это же замечание относится к любым выражением с использованием нескольких параметров.

    Параметры виртуальных таблиц.

    В параметрах виртуальных таблиц в отличие от предыдущих блоков, каждый параметр заключается в фигурные скобки. В полях относящихся к периоду название параметра ставится с &. Пример &ДатаНачала. В поле “Условие” параметры оформляются аналогично блоку “ГДЕ”.

    Параметры из полей периода попадают на страницу “Параметры” СКД. Если автозаполнение включено и в поле периода параметр не вписан, параметры с именем поля периода будут автоматически созданы на странице “Параметры” СКД.


    Таким образом, эти параметры заполняются в конструкторе запроса. Для открытия формы “Параметры виртуальной таблицы” нужно выбрать виртуальную таблицу в списке таблиц и нажать выделенную синим кнопку. Также тут у таблиц есть булевый реквизит “Обязательная” и числовой реквизит “Номер группы”. Если признак обязательности таблицы не установлен, то она будет добавляться в результирующий запрос только в случае, когда хотя бы одно поле из нее задействовано в компоновке. Номер группы заполняется для необязательных таблиц и обозначает группу таблиц, которые будут добавлены в результирующий запрос только, когда из этой группы таблиц задействовано хотя бы одно поле.

    В параметрах виртуальных таблиц возможно совместное использование “жестких” параметров запросов и “мягких” параметров компоновки данных.

    В этом примере если в настройках установлено значение параметра &НачалоПериода, то будет использоваться его значение. В противном случае в качестве значения параметра виртуальной таблицы будет использоваться значение “жесткого” параметра “&Начало”.

    Если автозаполнение включено и в поля периода не вписаны “мягкие” параметры компоновки данных то параметры с именем поля периода будут автоматически созданы на странице “Параметры” СКД и текст запроса:

    будет соответствовать следующему:

    В этом случае “мягкие” параметры также будут иметь приоритет над “жесткими”.


    Обзорный вид страницы.


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

    Строка параметра имеет следующие реквизиты:


    Таким же образом можно указать формат числа для численного параметра и длину строки для строкового.

    А для того чтобы введенные значения интерпретировались в отчете как начало и конец дня следует в запросе использовать функции НачалоПериода() и КонецПериода() .

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

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



    Даты начала и конца стандартного периода также содержат и время. ДатаНачала имеет время 00:00:00, а ДатаОкончания 23:59:59. Получится что пользователь выберет стандартный период в “Период” а разработчик будет использовать корректные “ПериодНачало” и “ПериодОкончание”.




    В настройках варианта мы можем установить галочку “Отображать недоступные параметры”, это можно использовать если для разных вариантов мы хотим использовать разный набор параметров.

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



    Если Режим редактирования установить Быстрый доступ, то параметр появится на форме.


    Если у параметра “Период” представление заполнить строкой “ПеРиОд”, то вместо название будет показано содержания поля представление.

    Если у отчета СКД нет формы, то платформа создаст автоматическую, на которой будут табличный документ результата, кнопки управления и быстрые пользовательские настройки.


    Можно создать свою форму для отчета и вывести на нее табличное поле со всеми пользовательскими настройками. Вот так:


    Для этого в созданной форме в конфигураторе вытаскиваем на форму Пользовательские настройки из Компоновщика отчета.


    В некоторых случаях параметр не прост, и для его расчета нужен некий алгоритм с циклом или ветвлениями. К примеру если отчет формируем в понедельник то в отчете сравниваются продажи по дням позапрошлой и прошлой недели, а в остальные дни недели сравниваются продажи по дням прошлой и текущей недели. Получается у нас от значения дня недели текущего дня зависит сразу четыре параметра: &НачалоПрошлойНедели, &КонецПрошлойНедели, &НачалоТекущейНедели и &КонецТекущейНедели. А еще нам надо дать возможность пользователю формировать отчет как будто он сформирован вчера или неделю назад. В таком случае мы создаем реквизит формы ТекДата типа Дата. Выводим его на форму. В событии ПриИзменении() пишем.

    Таким образом можно программно менять параметры из формы.

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

    Читайте также: