1с форма настроек отчета скд

1С СКД. Программный запуск отчета с открытием и настройкой.

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

Открытие формы отчета с помощью ПолучитьФорму и расширения формы отчета.

Сначала получаем форму.

Если отчет хранится в базе тогда выполняем на клиенте код:

Если нужен не «вариант по умолчанию»

Далее получаем настройки:

Через серверный вызов получаем настройки и если нужно заполняем параметры Компоновщика в отдельной процедуре.

Загружаем измененные настройки в компоновщик

Открытие формы отчета с помощью ОткрытьФорму и расширения формы отчета.

Код выполняется на клиенте, сначала мы формируем структуру с необходимыми параметрами формы, а потом вызываем процедуру открытия. Часто используемые параметры в данном случае это:

Программный вывод СКД в табличный документ и таблицу значений.

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

Код выполняется на сервере.

Получение локального макета

Получение макета произвольного отчета

Получение макета во внешней обработке

Получение макета из внешней обработки или отчета

Далее мы получаем настройки. Настройки СКД могут быть взяты из разных источников. Мы можем их получить из самой СКД:

Мы можем создать новый компоновщик настроек на основе схемы и получить настройки из него.

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

И когда будем формировать

Объявляем создаем необходимые объекты:

Создаем макет компоновки с помощью компоновщика макета:

Если результат выполнения СКД нужно вывести в таблицу значений то соответствующий тип генератора нужно указать в параметрах:

Инициализируем процессор компоновки данных

Создаем процессор вывода:

Для вывода в таблицу значений используется другой процессор вывода:

Запускаем процесс вывода:

Теперь мы можем проводить нужные операции с полученными данными.

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

Возможности настройки Схемы Компоновки Данных и Компоновщика Настроек СКД при программном формировании.

При программном формировании СКД как в пункте 2 у нас есть огромное количество возможностей по управлению отчетом. Опишем самые часто используемые из них.

Или если с добавлением нового параметра

Также при получении настроек можно выбрать не «настройки по умолчанию», а один из вариантов настроек.

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

Параметры

Все параметры создаются при создании исходного отчета, исключение если параметр был добавлен при редактировании запроса. Значение существующего параметра устанавливается следующим образом:

Добавление параметра делается следующим образом

Отбор

У отборов нет специальных функций по установке значений. Поэтому нужно перебирать коллекцию циклом.

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

Структура

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

Резюме

Система компоновки данных была создана для ускорения разработки отчетов и упрощения работы пользователей. Программные изменения помогают усилить этот эффект. Программист может создать выгрузки и по сути свои отчеты на основании типовых отчетов. К примеру, выгрузка заработной платы в управленческую базу. Структура базы может сильно изменена, но поля в отчете “Расчетная ведомость Т-51” будут называться так же, и сам отчет вряд ли переименуется. Да и если что-то переименуется — выгрузку исправить будет очень просто.

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

Приведенные примеры кода были протестированы на платформе 1С:Предприятие 8.3 (8.3.13.1690).

Источник

Форма отчета СКД

2ff6d7e966ac08072a7d2ac46975bf64

На форме ниже наименования отчета, при создании формы, программным способом добавляются поля: параметры и отборы СКД, у которых установлена пометка «Быстрый доступ». Состав полей и вид сравнения (равно, больше/меньше, в списке, в группе…) определяется на этапе конфигурирования или в форме настроек.

Обратите внимание на стандартные роли ДобавлениеИзменениеВариантовОтчетов, ЧтениеВариантовОтчетов, БазовыеПраваБСП, СохранениеДанныхПользователя, ДобавлениеИзменениеЛичныхВариантовОтчетов. От них зависит внешний вид и возможности работы.

Посмотрим на командную панель:

Кнопка 1. Сформировать в фоновом режиме. Возможен замер времени выполнения(APDEX).

Кнопка 2. Форма настроек. Управление отборами, внешним видом элементов формы и структурой отчета (список, таблица).

1cc9c7beeded7ebaa71763150acbdcc7

Кнопка 3. Управление вариантами отчета. Сохранение пользовательских настроек. (Права и параметры имеют значение)

Кнопка 11. Позволяет управлять рассылками отчетов, создать рассылку, используя текущие настройки СКД. То есть настройки отчета сохраняются в справочник рассылки. Если в конфигурации отсутствует подсистема рассылки отчетов – кнопка не видна.

Допустим, мы выполняем код ОткрытьФорму(«Отчеты.Ведомость.Форма», ПараметрыОткрыть); Рассмотрим избранные свойства структуры «ПараметрыОткрыть».

Структура содержит отбор, который будет установлен при формировании отчета. В документации ИТС отсутствует. Это наш секрет :))

Вариант формирования отчета. В документации ИТС отсутствует. Это наш секрет :)) Если отсутствует – используется первый из вариантов в алфавитном порядке.

Установлена ИСТИНА – есть возможность выбора вариантов В документации отсутствует. Возможно, устарел.

параметры печати табличного документа: ПолеСверху, ПолеСлева, ПолеСнизу, ПолеСправа, ОриентацияСтраницы, АвтоМасштаб, МасштабПечати

Первый способ: Чтобы добавлять код, хорошо использовать переопределяемые модули. В конфигурации УТ для ФормыОтчетов предусмотрены процедуры:

Порядок выполнения процедур при открытии:

Порядок выполнения процедур по кнопке «Сформировать»:

&НаКлиенте:
1) ОтчетСкомпоноватьРезультат()
2) Сформировать()
&НаСервере:
3) РезультатФормированияОтчета(ФормированиеПриОткрытии, Непосредственно)
4) ПроверитьЗаполнение()
5) ОбработкаПроверкиЗаполненияНаСервере()
6) ЗагрузитьРезультатФормированияОтчета()

Второй способ: если мы хотим изменить какие-то свойства формы, например ограничить отбор в списке поля (1) или выполнить дополнительные действия при выборе значения в поле (2), нам нужно копировать объект метаданных ОбщиеФормы – ФормаОтчета и вставить его в свой отчет. (Не забывайте про общие формы ФормаНастроекОтчета и ФормаВариантаОтчета). Переименуем форму, чтобы в ней не было ссылок на модули ОбщиеФормы – ФормаОтчета. После этого можно смело изменять код. Но нужно учитывать, что поля формы создаются автоматически и называются иначе, чем в схеме СКД.

1. Для изменения свойства поля, найдем в модуле формы процедуру ВывестиЭлементыНастройки и посмотрим в отладчике, как происходит добавление элементов. В переменной СвойстваНастройки хранится связь между полем СКД и идентификатором. Запомним ИмяЭлемента в цикле обработки переменной СвойстваНастройки, потом обработаем.

2. Для обработки выбора значения в форме предусмотрены подключаемые процедуры:

Поставим точку останова – увидим, как происходит обработка выбора значения.

Дополнительные процедуры, которые тоже могут пригодиться:

Источник

Пользовательские настройки системы компоновки данных

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

В данной статье поговорим про пользовательские настройки.

Что же это такое, зачем они нужны и чем отличаются от настроек варианта?

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

30c54f1cdb8b5571d76b0832b4ebe7e0

По этой причине, разработчики решили упростить работу для конечных пользователей отчетов, и создать дополнительную сущность, так называемые пользовательские настройки, которые представляют собой подмножество настроек вариантов отчетов. Разработчик отчета определяет сам, что, и в каком объеме будет доступно пользователям:

044520c4cdafae6b2c73593ae6cf94f5

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

Работа с отчетами в пользовательском режиме

Само собой разумеется, что пользовательские настройки доступны для редактирования в режиме 1С-предприятия. Они сохраняются автоматически при работе пользователей в специальном системном хранилище пользовательских настроек (его можно переопределить на уровне конфигурации в целом). Редактирование пользовательских настроек не приводит к необходимости сохранять новый или измененный вариант отчета, в отличие от редактирования настроек самого варианта в пользовательском режиме.

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

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

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

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

Например, в демонстрационной конфигурации (Управляемое приложение), формы для отчетов не указаны. Сгенерированная автоматически форма отчета выглядят так:

36c63de27495b2c442c9b041c0e3a1c4

После кнопки «Сформировать» расположена кнопка открытия списка доступных вариантов отчетов.

Далее расположена кнопка открытия формы настроек (это именно пользовательские настройки, состав и определение которых будет описано ниже).

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

Что касается настройки варианта отчета, или сохранение нового, эти действия доступны через меню «Еще». Также, далее в этом меню есть команды для принудительного сохранения и применения пользовательских настроек. Напомню, пользовательские настройки сохраняются автоматически при закрытии формы отчета.

Пункт меню «Установить стандартные настройки» позволяет вернуться к изначально заданным настройкам варианта отчета.

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

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

В типовых конфигурациях семейства ЕРП, существуют общие предопределенные формы для самого отчета и настроек, заданные на уровне конфигурации в целом:

7ca348ed5fbfe0832c3d43e21db345dc

На ряду с другими дополнительными возможностями, типовая форма настроек позволяет выполнять редактировать как пользовательские настройки так и настройки вариантов отчетов. Переход осуществляется нажатием на кнопку «Расширенный» в настройках отчета:

985b79c064c94fbce1dfb46d674edc28

Также, в выпадающем списке по кнопке «Еще» формы отчета, можно выполнить работу с вариантами отчетов и с сохраненными пользовательскими настройками.

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

Определение состава пользовательских настроек

И так, поговорим о том, каким образом можно включить те или иные настройки варианта отчета в пользовательские настройки.

Определение состава на уровне структуры

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

ab68cd71f6cb845113aaeed9c0563bfc

Доступны для включения следующие разделы:

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

Такая настройка соответствует простой структуре, где в первую группировку по списку входит следующая и так далее:

a70742006453c4e2c5def1f937cd4048

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

Теперь, что касается быстрого доступа.

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

В параметре «Режим редактирования» можно указать один из выше указанных вариантов, и это будет отражено на расположении настроек.

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

cfee118eba28d9e80fe193d3abedb66a

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

Определение состава на уровне отдельных элементов

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

Так же как и для разделов целиком, можно включать в пользовательские настройки отдельные элементы для всего отчета в целом и для конкретных группировок. Для выполнения этих действий используется кнопка или одноименный пункт контекстного меню «Свойство элемента пользовательских настроек»:

889bf5018a4472b14c2c505e1d823784

В открывшимся окна можно указать режим редактирования и представление настройки:

6dbd481d6d5366675c2799317d7b0070

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

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

Для элементов отборов и условного оформления, можно задать дополнительное представление непосредственно в табличной части для отборов или оформления. Для отображения дополнительного представления, необходимо нажать на кнопку «Подробно»:

f8cbea43bacc123ec13e32386b46dc0f

Обратите внимание: это представление не является представлением, которое описано выше, и у него другое назначение!

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

Как было описано в предыдущей статье про настройки вариантов, на закладке «Отборы» можно создать группы отборов, для объединения различных отборов по логическому И, ИЛИ и НЕ. Такие группы целиком, также можно включить в пользовательские настройки. Можно задать для группы оба представления, описанные выше.

Просмотреть все пользовательские настройки можно по кнопке «Предварительный просмотр пользовательских настроек» в окне структуры настроек:

a573db8fa766bbe6b57e748ff710fc32

Произвольное добавление настроек на форму отчета

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

При создании собственной формы отчета необходимо иметь в виду, что форма обязательно должна содержать группу для отображение быстрых пользовательских настроек. Такая группа должны быть указана в свойстве формы «ГруппаПользовательскихНастроек»:

9859dcda995914f2bd588b6fe73e9582

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

b487063dadf4e1ef3715752d127c6aa2

Если таким образом добавляются отборы, у таблицы будет присутствовать свойство «РежимОтображения». Оно влияет на то, какие отборы будут попадать в данную таблицу. Если «Режим отображения = Быстрый доступ», в таблицу попадут только те отборы, для которых в свойствах пользовательских настроек указано значение «Быстрый доступ».

Функциональные опции и настройки отчетов

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

Также ФО учитываются в настройках варианта отчета в режиме 1С-предприятие и в пользовательских настройках. Недоступные поля нельзя выбрать в настройках. А если ФО отключает объект целиком, в настройках варианта и в пользовательских настройках в пользовательском режиме нельзя будет выбрать не одно поле отключенного объекта.

Отдельно стоит сказать про параметризуемые функциональное опции. Это те ФО, место хранения которых «Справочник». Более подробно что такое параметризуемые ФО, и как они используются можно почитать в этой статье.

И так, для того, чтобы СКД смогла определить доступность полей, которые связаны с параметризуемыми ФО необходимо передать в схему параметр ФО. Для этого нужно добавить новый параметр на закладку «Параметры» схему компоновки и установить для него значение реквизита «Параметр функциональной опции»:

b0ab852702b4e5ee356a641a72603192

После установки такого параметра (по умолчанию в схеме или в пользовательском режиме), СКД будет определять видимость полей, привязанных к параметризуемым ФО.

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

В следующих статьях будут рассмотрены:

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

Если статья Вам понравилась, ставьте плюс. Успехов в работе и хорошего настроения!

Источник

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

Дано: 1С 8.3. Создан отчет на СКД (схема компоновки данных).
Задача: создать форму для данного отчета.

Предугадывая вопрос «зачем нужна такая простая инструкция?»:

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

Так выглядит в конфигураторе типовой отчет на СКД без формы:

25acadf332299f30a601e202cf50812f

Чтобы добавить типовую форму, нужно нажать на кнопку «Лупа» в поле «Форма отчета», как показано выше на скриншоте.
В открывшемся окне конструктора форм можно ничего не менять и просто нажать «Готово»:

f560a1d726355b40698b844625748bef

В результате будет создана форма на базе СКД:

830b3394f62c03f61a1a2f46b1611345

73025f49a1666ce4aa13ce9577c08767

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

b763ed6c5c91399fe529aa903815b744

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

Источник

Программное получение формы настроек отчета

Вопрос-ответ Отзывов (5) bookmarks16loadingВ закладки

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA111
Добрый день. Помогите разобраться. Каким образом в отчете программно вызвать эту форму?!

Получилось вызвать всевозможные варианты и мастера настроек, и конструктора схемы компоновки, но эту форму получить так и не вышло.

google bmarks bobrdobr delicious technorati linkstore news2 ru rumark memori moemesto

5 Коммент.

Формируйте новую форму. При формировании укажите, что эта форма настроек отчета и все.

Может я не догоняю чего-то, но у меня эта СКД не является основной в отчете. А метод отчета ПолучитьФормуНастроек работает именно с основной СКД

Форма настроек СКД завязана на настройки КомпоновщикаНастроек, которы в свою очередь связан со СхемойКомпонокиДанных. Значит, чтобы достучаться до нужной формы настроек, нужно сделать следующее:
1. Получить в СхемуКомпонвкиДанных нужный макет типа СКД;
2. Инициализаировать КомпоновщикНастроек;
3. Загрузить в него настройки из СхемыКомпоновкиДанных;

Вот примерный текст кода:
СхемаКомпоновкиДанных = ПолучитьМакет(“ВашеИмяМакета”);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ЭтотОбъект.ПолучитьФормуНастроек().Открыть();

Ну все логично, а если у нас нет отчета, а есть документ и в нем макет скд.

В внешнем отчете работало так

В крайнем случае можно создать новую форму (тип формы – “Форма настроек отчета” по умолчанию и без внесения изменений), подставить ее как форма настроек по умолчанию и вызывать при необходимости.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с форма набора записей регистра сведений
  • 1с форма группы справочника