1с скд вид сравнения в пользовательских настройках
Схема компоновки данных представляет собой большой конструктор, состоящий из наборов данных, вычисляемых полей, описания итоговых полей (ресурсов), макетов, вариантов настроек и т.д. Схему компоновки достаточно удобно создавать в конфигураторе при помощи конструктора схемы компоновки.
Задача действительно очень актуальная, участники Мастер-группы по СКД задают много вопросов на эту тему :)
Также традиционно много вопросов возникает при программной работе с пользовательскими настройками отчетов:
Поэтому мы опубликовали серию видеоуроков, в которых рассказывается, как работать со схемой компоновки программно.
Общая длительность всех видеоуроков – 1 час 5 минут.
Для того, чтобы Вам было проще ориентироваться в материале, мы указали тайминг наиболее важных моментов в видео.
00:37 – В каком обработчике можно расположить код для создания настроек компоновки
01:00 – Где в Синтакс-помощнике можно “подсмотреть” свойства, которые потребуются при написании кода
01:58 – Как настроить группировки отчета
02:28 – Какое свойство позволяет создавать вложенные группировки
03:11 – Как включить/выключить отдельные элементы настроек.
00:22 – Как создать структуру отчета
02:00 – Как указать поля, по которым выполняется группировка
04:10 – Как настроить выбранные поля
06:30 – Как создать автополе.
00:22 – Как создать подчиненную группировку
02:05 – Почему в отчете группировки могут выводиться несколько раз
02:40 – Как проверить наличие группировок в структуре отчета.
00:18 – Где в Синтакс-помощнике найти типы данных, необходимые для создания отборов
00:55 – Какие свойства объекта типа ЭлементОтбораКомпоновкиДанных нужно использовать для создания отбора
01:20 – Как создать отбор при помощи программного кода.
00:25– Где в Синтакс-помощнике найти типы данных, необходимые для включения сортировки
00:50 – Какие свойства объекта типа ЭлементПорядкаКомпоновкиДанных нужно использовать для включения сортировки
01:00 – Как установить сортировку при помощи программного кода.
00:25 – Где в Синтакс-помощнике найти типы данных, необходимые для работы с условным оформлением
00:33 – Какие свойства объекта типа ЭлементУсловногоОформленияКомпоновкиДанных нужно использовать
02:08 – Как добавить условное оформление при помощи программного кода
02:31 – Как задать перечень полей, к которым будет применяться условное оформление
03:34 – Как отобрать оформляемые данные
04:15 – Как при помощи программного кода описать применяемое оформление.
01:01 – Как программно установить значение параметра
02:00 – Почему значения параметров, выводимые на форму отчета, не совпадают со значениями в самом отчете
04:25 – Что делает метод ПолучитьНастройки
05:10 – Как нужно работать с пользовательскими настройками
06:17 – Для чего нужно свойство ИдентификаторПользовательскойНастройки
07:10 – Где в типовой конфигурации УТ 11 можно найти пример работы с пользовательскими настройками.
00:58 – Почему отличаются значения параметра в настройках компоновщика и в пользовательских настройках
01:23 – Как связываются между собой настройки компоновщика и пользовательские настройки
03:06 – Как работает метод ПолучитьНастройки и значение какого типа он возвращает
00:34 – Чем отличается отбор в настройках компоновщика и отбор в пользовательских настройках
02:34 – Как используется свойство ИдентификаторПользовательскойНастройки
03:08 – Какой алгоритм должен использоваться для установки значения отбора в пользовательских настройках
03:42 – Как реализовать процедуру для установки значения отбора в пользовательских настройках.
Хотите научиться грамотно создавать отчеты на СКД и дорабатывать отчеты в типовых конфигурациях?
Чтобы подробнее изучить возможности системы компоновки данных и уверенно применять механизм на практике, рекомендуем пройти курс Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)
И так, продолжаем тему настроек отчетов, построенных на базе СКД. Для тех, кто не читал первые статьи, ссылки ниже:
В данной статье поговорим про пользовательские настройки.
Что же это такое, зачем они нужны и чем отличаются от настроек варианта?
Дело в том, что настройки варианта отчета достаточно сложны для пользователя. Много различных закладок, сложная структура отчета – не каждый рядовой сотрудник сможет во всем этом разобраться:
По этой причине, разработчики решили упростить работу для конечных пользователей отчетов, и создать дополнительную сущность, так называемые пользовательские настройки, которые представляют собой подмножество настроек вариантов отчетов. Разработчик отчета определяет сам, что, и в каком объеме будет доступно пользователям:
Несмотря на то, что на программном уровне, пользовательские настройки – это отдельная ветвь компоновщика настроек, они не могут существовать без привязки к настройкам варианта. На программном уровне связь выполняется по идентификатору пользовательской настройки.
Работа с отчетами в пользовательском режиме
Само собой разумеется, что пользовательские настройки доступны для редактирования в режиме 1С-предприятия. Они сохраняются автоматически при работе пользователей в специальном системном хранилище пользовательских настроек (его можно переопределить на уровне конфигурации в целом). Редактирование пользовательских настроек не приводит к необходимости сохранять новый или измененный вариант отчета, в отличие от редактирования настроек самого варианта в пользовательском режиме.
Настройки вариантов отчетов, также доступны в режиме работы пользователей. То-есть, «продвинутые» сотрудники имеют возможность редактировать, или сохранять новые варианты отчета, а также определять доступные «пользовательские» настройки для остальных пользователей отчета.
Как правило, в пользовательские настройки выносятся наиболее часто используемые настройки варианта. Сами же настройки варианта можно вообще скрыть от пользователей, чтобы не загромождать их лишней информацией.
Сам интерфейс работы с настройками вариантов и пользовательскими настройками зависит от используемой конфигурации и наличия специальных форм для отчетов.
Формы отчетов
Формы, для отчетов на базе СКД система генерирует автоматически. Однако, при необходимости, можно создать собственные формы. Для отчетов доступны следующие виды форм:
- Форма отчета – основная форма для вывода отчета и быстрых пользовательских настроек,
- Форма настроек отчета – форма для редактирования пользовательских настроек,
- Форма вариантов отчета – форма для редактирования вариантов отчета в пользовательском режиме.
Например, в демонстрационной конфигурации (Управляемое приложение), формы для отчетов не указаны. Сгенерированная автоматически форма отчета выглядят так:
После кнопки «Сформировать» расположена кнопка открытия списка доступных вариантов отчетов.
Далее расположена кнопка открытия формы настроек (это именно пользовательские настройки, состав и определение которых будет описано ниже).
Под этими кнопками расположен раздел «быстрых» пользовательских настроек, о которых мы будем говорить позже.
Что касается настройки варианта отчета, или сохранение нового, эти действия доступны через меню «Еще». Также, далее в этом меню есть команды для принудительного сохранения и применения пользовательских настроек. Напомню, пользовательские настройки сохраняются автоматически при закрытии формы отчета.
Пункт меню «Установить стандартные настройки» позволяет вернуться к изначально заданным настройкам варианта отчета.
На заметку . Команду «Установить стандартные настройки» целесообразно использовать в случае, если в процессе работы изменяются настройки варианта отчета. Так как они могут быть «перекрыты» сохраненными ранее пользовательскими настройками.
Есть возможность указать общие формы, которые будут применятся по умолчанию для всех отчетов конфигурации.
В типовых конфигурациях семейства ЕРП, существуют общие предопределенные формы для самого отчета и настроек, заданные на уровне конфигурации в целом:
На ряду с другими дополнительными возможностями, типовая форма настроек позволяет выполнять редактировать как пользовательские настройки так и настройки вариантов отчетов. Переход осуществляется нажатием на кнопку «Расширенный» в настройках отчета:
Также, в выпадающем списке по кнопке «Еще» формы отчета, можно выполнить работу с вариантами отчетов и с сохраненными пользовательскими настройками.
В типовой конфигурации бухгалтерии 3.0, также заданы общие формы на уровне конфигурации в целом. Но во многих отчетах, формы переопределены непосредственно для этих отчетов.
Определение состава пользовательских настроек
И так, поговорим о том, каким образом можно включить те или иные настройки варианта отчета в пользовательские настройки.
Определение состава на уровне структуры
В пользовательские настройки можно включить целиком целые разделы настроек варианта, которые будут влиять на весь отчет в целом. Эти действия выполняются из окна структуры настроек:
Доступны для включения следующие разделы:
- Группировки – возможность настройки используемых группировок,
- Поля – возможность настройки используемых полей отчета,
- Отборы – возможность указания доступных отборов,
- Порядок – возможность настройки сортировки по доступным полям,
- Оформление – возможность указания произвольного оформления полей отчета.
При добавлении группировок в пользовательские настройки, есть одна особенность. Группировки добавляются в виде списка, а не иерархической структуры, как они определены в настройках варианта:
Такая настройка соответствует простой структуре, где в первую группировку по списку входит следующая и так далее:
С одной стороны, это удобно, так как можно быстро выбрать нужные группировки и их последовательность. Причем, можно отключить использование первых группировок, и это не повлияет на вывод остальных. Однако, настроить более сложную структуру группировок таким образом нельзя, и это существенное ограничение.
Теперь, что касается быстрого доступа.
Это те настройки, которые можно редактировать непосредственно на форме самого отчета. Существует три варианта добавления настроек в пользовательские настройки:
- Быстрый доступ – настройки будут доступны непосредственно в форме отчета,
- Обычный – настройки будут доступны в отдельной форме настроек,
- Не доступный – настройки не будут доступны в пользовательских настройках.
В параметре «Режим редактирования» можно указать один из выше указанных вариантов, и это будет отражено на расположении настроек.
Разделы настроек можно включить в пользовательские не только для всего отчета в целом, как было описано выше, но и для отдельных уровней структуры:
Такие настройки будут влиять только на тот уровень структуры отчета, для которого они используются. Состав возможных настроек для группировки включает дополнительные пункты:
- Группировка / Таблица – в пользовательских настройках будет выведен флаг использования данной группировки или таблицы. Представление - это текст данного флага,
- Вложенные группировки – в пользовательских настройках будет выведено поле для добавления вложенных группировок к текущей. Можно добавить произвольное количество вложенных группировок из доступных полей. Добавить несколько полей в одной группировке нельзя,
- Состояние – настройка, которая может иметь состояния: включена, отключена, удалена пользователем. Данная настройка влияет на использование группировки в пользовательском режиме по умолчанию. Допускается ситуация, когда не используется группировка более высокого уровня, а вложенные используются.
Определение состава на уровне отдельных элементов
Помимо включения в пользовательские настройки разделов целиком, есть возможность включить отдельные элементы следующих разделов:
- Отборы,
- Условное оформление,
- Другие настройки.
Так же как и для разделов целиком, можно включать в пользовательские настройки отдельные элементы для всего отчета в целом и для конкретных группировок. Для выполнения этих действий используется кнопка или одноименный пункт контекстного меню «Свойство элемента пользовательских настроек»:
В открывшимся окна можно указать режим редактирования и представление настройки:
Если задано представление, наименование настройки будет изменено, а также будет доступно для выбора только значение данной настройки.
Например: если это отбор, не будет возможности выбрать вид сравнения. Если это условное оформление, не будет возможности выбрать условие оформления и поля, к которым оно будет применено.
Для элементов отборов и условного оформления, можно задать дополнительное представление непосредственно в табличной части для отборов или оформления. Для отображения дополнительного представления, необходимо нажать на кнопку «Подробно»:
Обратите внимание: это представление не является представлением, которое описано выше, и у него другое назначение!
Если указано представление в табличной части, отборы или оформления будут выводиться в пользовательских настройках в виде флага (использовать / не использовать). Все характеристики, в этом случае полностью должен быть заданы в настройках варианта.
Как было описано в предыдущей статье про настройки вариантов, на закладке «Отборы» можно создать группы отборов, для объединения различных отборов по логическому И, ИЛИ и НЕ. Такие группы целиком, также можно включить в пользовательские настройки. Можно задать для группы оба представления, описанные выше.
Просмотреть все пользовательские настройки можно по кнопке «Предварительный просмотр пользовательских настроек» в окне структуры настроек:
Произвольное добавление настроек на форму отчета
Как указано выше, для отчетов на СКД можно не создавать специальных форм самого отчета и настроек. Формы генерируются автоматически. Однако, если в этом есть необходимость, можно создать собственные формы и выполнить произвольное размещение необходимых дополнительных элементов.
При создании собственной формы отчета необходимо иметь в виду, что форма обязательно должна содержать группу для отображение быстрых пользовательских настроек. Такая группа должны быть указана в свойстве формы «ГруппаПользовательскихНастроек»:
По мимо быстрых пользовательских настроек, в форме отчета на СКД можно вывести непосредственно таблицу полей отчета, таблицу отборов или таблицу порядка, связав ее с соответствующим разделом из настроек:
Если таким образом добавляются отборы, у таблицы будет присутствовать свойство «РежимОтображения». Оно влияет на то, какие отборы будут попадать в данную таблицу. Если «Режим отображения = Быстрый доступ», в таблицу попадут только те отборы, для которых в свойствах пользовательских настроек указано значение «Быстрый доступ».
Функциональные опции и настройки отчетов
Не забывайте о том, что в отображаемых данных отчетов, построенных на СКД учитываются значения функциональных опций.
Также ФО учитываются в настройках варианта отчета в режиме 1С-предприятие и в пользовательских настройках. Недоступные поля нельзя выбрать в настройках. А если ФО отключает объект целиком, в настройках варианта и в пользовательских настройках в пользовательском режиме нельзя будет выбрать не одно поле отключенного объекта.
Отдельно стоит сказать про параметризуемые функциональное опции. Это те ФО, место хранения которых «Справочник». Более подробно что такое параметризуемые ФО, и как они используются можно почитать в этой статье.
И так, для того, чтобы СКД смогла определить доступность полей, которые связаны с параметризуемыми ФО необходимо передать в схему параметр ФО. Для этого нужно добавить новый параметр на закладку «Параметры» схему компоновки и установить для него значение реквизита «Параметр функциональной опции»:
После установки такого параметра (по умолчанию в схеме или в пользовательском режиме), СКД будет определять видимость полей, привязанных к параметризуемым ФО.
На этом, я заканчиваю большую тему настроек компоновки: настройки вариантов, пользовательские настройки. Мы еще к ней вернемся, когда будем рассматривать программную работу с отчетом и с настройками.
В следующих статьях будут рассмотрены:
- Расширения языка запросов для СКД,
- Использование нескольких наборов данных и связей между ними, , ,
- Разработка произвольных макетов,
- Программная работа с отчетом на СКД.
Для ознакомления с предыдущими статьями можно перейти по ссылкам:
Если статья Вам понравилась, ставьте плюс. Успехов в работе и хорошего настроения!
Поток вопросов по СКД в Мастер-группе не прекращается. Сегодняшняя подборка тому подтверждение. Вопросы связаны и с платформенными изменениями самой системы компоновки данных, и с развитием БСП, и с расширением практик применения СКД в современных типовых решениях.
Вопрос №1: “Почему могут быть не доступны варианты отчетов на СКД в пользовательском режиме?”
Несколько раз сталкивался с тем, что варианты отчета, настроенные в конфигураторе, в пользовательском режиме не видны или виден только Основной вариант. Из этого я даже сделал вывод, что больше одного предопределенного варианта делать не имеет смысла. Судя по всему, вывод мой неправильный, в тестовой базе не воспроизводится. Почему могут быть не видны варианты и как это “лечить”?Ответ
Если такая база базируется на БСП, то тут еще могут влиять механизмы БСП. Например, пользователю по ограничениям доступа недоступен конкретный вариант отчета, поэтому он его и не видит. Также для подсистемы БСП “Варианты отчетов” в общем модуле ВариантыОтчетовПереопределяемый в процедуре НастроитьВариантыОтчетов нужно явно описывать используемые варианты отчетов и запустить приложение с ключом ЗапуститьОбновлениеИнформационнойБазы.
Пример подключения отчетов к подсистеме “Варианты отчетов” есть на странице нашего сайта – Подключение отчетов к подсистеме “Варианты отчетов”. Возможно, в вашем случае какое-то из описанных действий не было выполнено.
Вопрос №2: “Можно ли делать отбор на уровне детальных записей по вычисляемым полям в СКД?”
(нажмите, чтобы увеличить картинку)
Ответ
Ошибка не будет возникать, если для отбора на уровне детальных записей изменить настройку Применение – указать значение “После группировки или для иерархии”:
(нажмите, чтобы увеличить картинку)
Появление ошибки связано с использованием в выражении для вычисляемого поля функции ВычислитьВыражение с указанными параметрами Начало и Конец, которая должна быть вычислена на основании только некоторых записей группировки.
Вопрос №3: “В каком случае можно установить значения параметров в процедуре ПередКомпоновкойМакета модуля менеджера отчета?”
В видео-уроке есть пример, где параметры отчета определяются и устанавливаются в модуле менеджера этого отчета в процедуре ПередКомпоновкойМакета(). Мне непонятно вот что:Ответ
- В этом видеоуроке демонстрируется типовая конфигурация Бухгалтерия предприятия. Она базируется на Библиотеке стандартных подсистем (БСП), которая содержит отдельную подсистему для работы с отчетами. В этой подсистеме реализовано большое количество универсальных методов. Рассмотрим на примере отчета из видеоурока. В модуле отчета есть код, который вызывает метод общего модуля:
А в общем модуле БухгалтерскиеОтчетыВызовСервера есть функция ПодготовитьОтчет, в которой содержится следующий код:
Следовательно, в модуле менеджера отчета можно доработать компоновщик, например, установить значения параметров. Инициируется этот вызов в процедуре ПриКомпоновкеРезультата.
Подобные фрагменты кода есть и в других конфигурациях, основанных на БСП, например, в УТ 11. Получается, что для доработок отчетов на БСП есть универсальные точки входа, где можно размещать свой код. В отчетах для конфигураций не на БСП этот подход работать не будет.
- Это зависит от того, для какой конфигурации разрабатывается отчет. Если конфигурация создается с нуля, то такой метод из модуля менеджера просто некому будет вызвать. Если конфигурация базируется на БСП, то можно “подсмотреть” в типовых отчетах, как они разработаны. Также в документации по БСП, размещенной на сайте ИТС, можно изучить подробное устройство подсистемы Варианты отчетов.
- Да, во внешних отчетах и обработках в принципе не существует модуля менеджера.
Вопрос №4: “Как вывести изображение в колонтитулах отчета на СКД?”
Подскажите, есть ли возможность в колонтитулах отчета выводить изображение (например, логотип фирмы)?Ответ
Да, начиная с платформы 8.3.15 появилась возможность добавить картинку в колонтитул.
В конфигураторе это можно сделать в меню Таблица – Настройки печати – Колонтитулы:
(нажмите, чтобы увеличить картинку)
Вопрос №5: “Каким образом можно программно получать настройки отчета на СКД?”
Насколько я понимаю, чтобы учесть значения, заданные пользователем на форме, нужно получать настройки так:Но во многих видео настройки получаются такой строкой:
И далее по этим настройкам формируется отчет. Почему так? Зачем нам могут быть нужны настройки, которые не содержат значений, заданных пользователем? В каких случаях и каким способом нужно получать настройки?
Ответ
Чтобы решить, какие именно настройки следует использовать, нужно задавать себе вопрос “Отчет с какими настройками мне нужно сформировать для решения поставленной задачи?”
- Чаще всего на практике нужно учитывать пользовательские настройки, значит, используем метод:
В таком случае из компоновщика получаем настройки, которые уже включают в себя и пользовательские, и фиксированные настройки. С этими “результирующими” настройками компонуем отчет. В методе ПриКомпоновкеРезультата в модуле отчетов чаще всего встречается именно этот вариант
- Если нужно взять настройки не из компоновщика, а из схемы компоновки, то воспользуемся настройками по умолчанию:
Такой вариант встречается при компоновке из программного кода, например, когда на форме обработки компоновщик вообще не отображается. В таком случае удобно обратиться к настройкам, описанным непосредственно в схеме компоновки
- СКД часто используется в обработках – для заполнения ТЧ, списка справочников или документов для обработки. Настройки компоновщика размещаются на форме, пользователь может их редактировать – настраивать отборы по своему усмотрению. А пользовательские настройки в таком случае не используются, поскольку мы не отчет разрабатываем, а всего лишь обработку. Значит, можно взять настройки из компоновщика:
Профессиональная разработка отчетов в 1С 8.3 на СКД .
Комментарии / обсуждение (2):
Добрый день!
Подскажите пожалуйста, проблема с округлением Вычисляемого поля в СКД:
Добрый день!
Без данных и конкретного отчета, конечно, трудно определить причину.
Пришла в голову идея, что разные результаты получаются, потому что
Пример.
Предполагаю, что разные числа перемножаются, поэтому и результаты разные.
Пользовательские настройки
Область применения: управляемое приложение.
Для эффективной работы пользователя с отчетом требуется определить состав быстрых и обычных пользовательских настроек. Состав настроек определяется основной целью использования отчета.
1. Общие рекомендации
1.1. Избегайте использования наименований настроек, которые могут быть истолкованы пользователями неоднозначно или быть для них непонятными.
Правильно | Неправильно |
"Оплатить позже" | «Дата оплаты Меньше или равно …» |
1.2. Для параметров, без указания которых запрос системы компоновки данных не выполнится или его выполнение не имеет смысла, следует в настройках взвести флажок «Запрещать незаполненные значения» и установить режим использования «Всегда».
1.3. Обязательные для заполнения параметры должны заполняться наиболее вероятными значениями.
Например, период "Этот месяц" для отчета "Выручка и себестоимость продаж".
2. Быстрые пользовательские настройки
2.1. Рекомендуется делать не более 5-7 быстрых настроек.
Правильно:
2.2. В состав быстрых пользовательских настроек следует включать только частотные настройки:
- Параметры отчета (обязательные и необязательные). Это нужно потому, что контекстное меню отчета не позволяет пользователю "на лету" применять параметры.
Отборы по соответствующим группировкам. Должны быть добавлены в быстрые пользовательские настройки для наиболее важных группировок отчета.Правильно – все параметры включены в быстрые настройки:
Неправильно – параметр "Данные по продажам" не включен в быстрые настройки:
Правильно:
Неправильно:
2.3. Если в отчете несколько элементов, например, гистограмма и список, то в быстрых настройках рекомендуется предусмотреть возможность их отключения.
2.4. В быстрые настройки контекстных отчетов не следует включать отборы по полям, по которым устанавливается отбор через параметры в командах вызова отчета.
3. Обычные пользовательские настройки
3.1. Для настроек, которые являются нечастотными, лучше устанавливать режим редактирования "Обычный".
3.2. В состав обычных пользовательские настройки следует включать:
Отборы по реквизитам объектов анализа, которые по умолчанию не выводятся в отчет, если таковые требуютсяНапример, "Обособленное подразделение (филиал)" - реквизит поля "Организация" Отборы по числовым показателям отчета, если таковые требуются
Например, "Сумма задолженности Больше …" Настройки выбранных полей ("Выбранные поля") Настройки условного оформления ("Условное оформление")
Например, в настройках отчета "Выручка и себестоимость продаж" зеленым выделены быстрые настройки. Остальные настройки – обычные.
Читайте также: