Где хранятся настройки внешних отчетов 1с 8.2

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

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

Многим хватит двух функций: СохранитьЗначение(<Имя>, <Значение>) и парную к ней ВосстановитьЗначение(<Имя>) . но это только для толстого клиента. Если почитать справку, то видно, что настройка сохраняется для пары база-пользователь. Нужно не забывать, что сохранять можно не только простые типы данных, но сложные, например структуру или даже таблицу значений.

Также программисты пользовались функциями ЗначениеВФайл(<ИмяФайла>, <Значение>) и ЗначениеИзФайла(<ИмяФайла>).

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

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

В тонком клиенте механизм сохранения настроек активирован по умолчанию и доступен через кнопку «Все действия»

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

Программно получить доступ к настройкам все также просто, немного поменялся синтаксис.

И соответственно восстановить

ХранилищеОбщихНастроек.Загрузить(<КлючОбъекта>, <КлючНастроек>, <ОписаниеНастроек>, <ИмяПользователя>)

Детально все параметры описаны в справке.

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

Сначала в форме укажем возможность сохранять значения реквизитов обработки и реквизитов формы, укажем значения, каких реквизитов мы хотим сохранять.

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

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

Механизмы простые, но действенные, пользователь будут вам благодарны.

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

Специально для этого в платформе 1С были созданы 2 объекта — стандартные общие хранилища и хранилища настроек 1С, созданные разработчиком на стадии разработки конфигурации.

Данная функция появилась вместе с платформой 1С версии 8.2. Она позволяет сохранить любые данные настроек в разрезе объекта, определенной , пользователя.

  • Записать настройки можно при помощи метода ХранилищеОбщихНастроек.Сохранить ().
  • Потом для прочтения нужно использовать ХранилищеОбщихНастроек.Загрузить () с теми же параметрами.
  • Если настройка стала не актуальной, её можно удалить методом ХранилищеОбщихНастроек.Удалить ().
  • Также в разрезе объекта можно получить список сохраненных настроек с помощью метода ХранилищеОбщихНастроек.ПолучитьСписок ().

Получите 267 видеоуроков по 1С бесплатно:

Сохраненные настройки хранятся в отдельной сводной таблице БД.

Хранилище настроек, создаваемое в конфигураторе

Хранилище настроек может создать и сам разработчик в конфигураторе 1С:

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

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

  • необходима миграции настроек между базами данных;
  • необходим ссылочный контроль данных настроек.

Использование хранилищ настроек в отчетах и обработках 1С

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

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

Существует два вида хранилищ настроек:

  1. Стандартное хранилище – хранилище, используемое системой по умолчанию и хранящее данные в системных таблицах информационной базы.
  2. Хранилища настроек – специальные объекты метаданных, которые описывают хранение данных в некотором объекте информационной базы.

Например, в этом объекте может быть описана работа с настройками, которые хранятся в справочнике.

Платформа использует пять хранилищ:

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

2. Хранилище общих настроек – данное хранилище предназначено для хранения различных настроек прикладного решения. Платформа самостоятельно не записывает в данное хранилище никаких настроек. Данное хранилище должен использовать разработчик из встроенного языка, для того чтобы выполнять сохранение/восстановление прикладных настроек пользователя.

3. Хранилище пользовательских настроек отчетов – в данное хранилище помещаются пользовательские настройки отчетов.

4. Хранилище вариантов отчетов – в данное хранилище помещаются варианты отчетов.

5. Хранилище настроек данных форм – в это хранилище сохраняются данные форм. Этим хранилищем можно пользоваться, например, для сохранения реквизитов обработок. При этом можно выбрать индивидуальное хранилище для каждого отчета и обработки.

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

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

Объект метаданных ХранилищеНастроек

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

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

Методы и обработчики

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

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

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

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

Например, если настройки сохраняются в справочнике, то в качестве ключа настройки можно использовать поле Код или значение Ссылка (элемента справочника).

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

Объект ХранилищеНастроек предоставляет следующие методы:

  • Сохранить() – используется для сохранения настройки.

Вызывает событие ОбработкаСохранения. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • Загрузить() – используется для получения настройки.

Вызывает событие ОбработкаЗагрузки. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • ПолучитьОписание() – используется для получения описания настройки.

Вызывает событие ОбработкаПолученияОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • УстановитьОписание() – используется для установки описания настройки.

Вызывает событие ОбработкаУстановкиОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.

Подробнее про параметры методов можно посмотреть во встроенной справке.

В модуле менеджера объекта должны находится обработчики следующих событий:

  • ОбработкаСохранения – содержит реализацию метода Сохранить(). В данном обработчике необходимо выполнить сохранение настройки в некоторый объект. Например, в элемент справочника.
  • ОбработкаЗагрузки – содержит реализацию метода Загрузить(). В данном обработчике необходимо получить настройки из некоторого объекта. Например, из элемента справочника.
  • ОбработкаПолученияОписания – содержит реализацию метода ПолучитьОписание(). В данном обработчике необходимо заполнить описание настройки на основании свойств сохраненной настройки. Например, из элемента справочника.
  • ОбработкаУстановкиОписания – содержит реализацию метода УстановитьОписание(). В данном обработчике необходимо заполнить описание сохраненной настройки из переданного объекта ОписаниеНастроек. Например, в элементе справочника.

Подробнее про параметры обработчиков можно посмотреть во встроенной справке.

Формы

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

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

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

  • КлючОбъекта – идентификатор объекта, для которого нужно отображать список настроек. Например, для отчета это будет полным именем отчета.
  • КлючТекущихНастроек – идентификатор настройки, которая была текущей там, откуда вызывается форма сохранения или восстановления настроек. Например, это может быть идентификатором текущей настройки отчета.
  • СтандартныеНастройки – список значений, содержащий стандартные настройки. Например, для выбора варианта отчета данный список содержит список стандартных вариантов, настроек, описанных в схеме компоновки данных отчета. Данный параметр передается только в форму загрузки.

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

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

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

Закрыть(Новый ВыборНастроек(КлючСохраняемойНастройки));

Стандартное хранилище настроек

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

  • ПолучитьСписок() – метод получения списка настроек для выбранного объекта настройки,
  • Удалить() – удаление определенной настройки выбранного объекта настройки.

Стандартное хранилище сохраняет настройки в системных таблицах информационной базы.

В качестве ключа объекта настройки и в качестве ключа настройки системное хранилище настроек принимает строку.

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

Сохранение настроек форм

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

  • СохранениеДанныхВНастройках – при помощи данного свойства разработчик формы может включить возможность сохранения данных формы (с возможностью выбора настройки, в которую будут сохраняться данные). Если у формы включена необходимость сохранения, то форма предоставляет команды сохранения / загрузки настроек.
  • АвтоматическоеСохранениеДанныхВНастройках – указывает необходимость автоматического сохранения настроек при закрытии формы и восстановлении при открытии формы. При этом не важно, используется или нет список настроек.
  • ХранилищеНастроек – ссылка на хранилище настроек, в котором предполагается сохранение настроек. Если не указано, то используется хранилище сохранения настроек данных формы, указанное в конфигурации. А если и в конфигурации не указано хранилище, то настройки сохраняются в стандартное хранилище настроек.

Если для формы установлена возможность сохранения данных, то необходимо указать, какие реквизиты формы должны сохраняться (колонка Сохранение на закладке Реквизиты редактора формы).

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

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

  • ПриСохраненииДанныхВНастройкахНаСервере – в данный обработчик передается объект (типа Соответствие), в который будут сохраняться настройки. В объекте уже заполнены значения реквизитов, которые требовалось сохранять. В этом обработчике можно программно добавить в объект настроек дополнительную информацию. Например, поместить в реквизит настроек отбор.
  • ПриЗагрузкеДанныхИзНастроекНаСервере – в данный обработчик передается объект, из которого уже загружены настройки. Это соответствие, в котором находятся значения реквизитов. В этом обработчике можно будет загрузить собственные свойства из соответствия. Например, восстановить параметры отбора.

Сохранение настроек отчетов

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

Форма отчета предоставляет команды сохранения и загрузки вариантов и настроек отчетов.

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

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

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

Порядок разработки хранилища настроек

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

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

3. На основании информации из п. 2 создается объект (и его структура), который будет хранить настройки. Пусть наши настройки хранятся в элементах справочника. Т. к. в нашем случае структура сохраняемых данных крайне разнородна, то нет смысла реализовывать отдельный набор реквизитов для хранения настроек каждой формы, поэтому настройки будут храниться в реквизите справочника типа ХранилищеЗначения.

4. Создается объект типа ХранилищеНастроек и для него выполняется реализация форм сохранения и загрузки. Тем самым мы обеспечиваем интерактивность при сохранении и восстановлении настроек.

5. Для созданного объекта ХранилищеНастроек выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек. Если не выполнить эту операцию, то не будут происходить собственно операции чтения/записи настроек. Для решения этой задачи нужно реализовать обработчики событий ОбработкаСохранения и ОбработкаЗагрузки в модуле созданного объекта типа ХранилищеНастроек.

6. В объектах, выделенных в п. 2 (или в свойствах конфигурации), заполняются соответствующие свойства, тем самым указывая объектам, в каких хранилищах будут храниться настройки. В нашем примере необходимо заполнить свойство конфигурации Хранилище настроек данных форм ссылкой на объект, созданный на шаге 4.

7. При необходимости выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек в тех прикладных объектах, где это необходимо.

Приложение В. Настройки, сохраняемые платформой в хранилищах настроек

Приложение описывает настройки, которые автоматически сохраняются платформой в системном хранилище.

Хранилище: вариантов отчета

  • Настройка: варианты отчета.
    • Ключ объекта – полное имя отчета. Например: Отчет.Продажи.
    • Ключ настройки – текстовый идентификатор варианта. Например: ПродажиПоРегионам.
    • Тип сохраняемого значения – НастройкиКомпоновкиДанных.

Хранилище: настроек отчета

  • Настройка: настройки отчета.
    • Ключ объекта – текстовая строка, составленная из полного имени отчета, символа «/» и ключа варианта. Например: Отчет.Продажи/ПродажиПоРегионам.
    • Ключ настройки – текстовый идентификатор настройки. Пример: МоиКлиенты.
    • Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанны.

Хранилище данных форм

  • Настройка: значения полей формы.
    • Ключ объекта – полное имя формы. Например: Обработка.ВыгрузкаДанных.Форма.ОсновнаяФорма.
    • Ключ настройки – текстовый идентификатор сохраняемых значений. Пример: ВыгрузкаВСбербанк.

Системное хранилище

  • Настройка: ключ текущего варианта отчета.
    • Ключ объекта – текстовая строка, составленная из полного имени отчета и строки «/КлючТекущегоВарианта» («/CurrentVariantKey»).
      • Например: Отчет.Продажи/КлючТекущегоВарианта.
  • Настройка: ключ текущей настройки отчета.
    • Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «КлючТекущихПользовательскихНастроек» (CurrentUserSettingsKey), разделенными символами «/».
      • Например: Отчет.Продажи/ПродажиПоРегионам/ КлючТекущихПользовательскихНастроек.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – произвольное значение, содержащее ключ текущего варианта.
  • Настройка: настройки варианта отчета при закрытии отчета или смене варианта.
    • Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «ТекущиеПользовательскиеНастройки» («CurrentUserSettings»), разделенными символами «/».
      • Например: Отчет.Продажи/ПродажиПоРегионам/ ТекущиеПользовательскиеНастройки.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанных
  • Настройка: ключ текущей настройки полей формы.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «КлючТекущихНастроекДанных» («CurrentDataSettingsKey»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/КлючТекущихНастроекДанных
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – произвольное значение, содержащее ключ текущей настройки.
  • Настройка: значения полей формы при закрытии.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «ТекущиеДанные» («CurrentData»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ТекущиеДанные.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – Соответствие. Ключом соответствия выступает текстовый путь к сохраняемому реквизиту данных, а значением является значение реквизита.
  • Настройка: настройка отображения формы.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиФормы» («FormSettings»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/НастройкиФормы.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиФормы. Объект без свойств и методов.
  • Настройка: размеры формы и элементов управления.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиОкна» («WindowSettings»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ НастройкиОкна.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиОкна. Объект без свойств и методов.
  • Настройка: избранное.
    • Ключ объекта – «Общее/ИзбранноеРаботыПользователя» («Common/UserWorkFavorites»).
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – ИзбранноеРаботыПользователя. Подробнее смотри раздел «Избранные ссылки пользователя» главы «Сервисные возможности навигации».
  • Настройка: настройки глобального командного интерфейса.
    • Ключ объекта – строковое значение, один из вариантов:
      • полное имя фрагмента командного интерфейса и «/ПанельДействий» («/ActionsPanel»);
      • полное имени фрагмента командного интерфейса и «/ПанельНавигации/НастройкиКомандногоИнтерфейса» («/NavigationPanel/CommandInterfaceSettings»);
      • «Общее/ПанельРазделов/НастройкиКоманд-ногоИнтерфейса» («Common/PartitionPanel/CommandInterfaceSettings»).
      • Например: Подсистема.Продажи/ПанельНавигации/Нас-тройкиКомандногоИнтерфейса.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиКомандногоИнтерфейса. Объект без свойств и методов.
  • Настройка: настройки рабочего стола.
    • Ключ объекта – «Общее/НастройкиРабочегоСтола» («Common/DesktopSettings»).
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиРабочегоСтола. Объект без свойств и методов.
  • Настройка: настройки печати табличного документа.
    • Ключ объекта – строковое значение, состоящее из «Общее/НастройкиПечатиТабличногоДокумента/» («Common/SpreadsheetDocumentPrintSettings/») и имени параметров печати. Например:
      • Общее/НастройкиПечатиТабличногоДокумента/РасходнаяНакладная.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиПечатиТабличногоДокумента. Объект без свойств и методов.

Объекты конфигуратора для работы с настройками

меню Справка/Содержание справки/1С предприятие/Встроенный язык/Глобальный контекст/Свойства/Хранилища настроек

меню Справка/Содержание справки/1С предприятие/Встроенный язык/Прикладные объекты/Хранилища настроек

Глобальный контекст

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

Использование: Только чтение.

Тип: СтандартноеХранилищеНастроекМенеджер; ХранилищеНастроекМенеджер.

Свойства глобального контекста:

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

Хранилища настроек

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

СтандартноеХранилищеНастроекМенеджер (StandardSettingsStorageManager)

  • Загрузить (Load)
  • ПолучитьСписок (GetList)
  • Сохранить (Save)
  • Удалить (Delete)

Описание: Хранилище настроек, хранящее настройки в системных таблицах.

Доступность: клиент, сервер, внешнее соединение.

См. также: Глобальный контекст, свойство ХранилищеСистемныхНастроек

ХранилищаНастроекМенеджер (SettingsStoragesManager)

Элементы коллекции: ХранилищеНастроекМенеджер

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются хранилища настроек.

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

Свойства:

  • <Имя хранилища> (<Имя хранилища>)

Описание: Коллекция хранилищ настроек, определенных в конфигурации.

Доступность: клиент, сервер, внешнее соединение.

См. также: Глобальный контекст, свойство ХранилищаНастроек

ХранилищеНастроекМенеджер.<Имя хранилища> (SettingsStorageManager.<Имя хранилища>)

  • Загрузить (Load)
  • ПолучитьМакет (GetTemplate)
  • ПолучитьОписание (GetDescription)
  • ПолучитьФорму (GetForm)
  • ПолучитьФормуЗагрузки (GetLoadForm)
  • ПолучитьФормуСохранения (GetSaveForm)
  • Сохранить (Save)
  • УстановитьОписание (SetDescription)
  • ОбработкаЗагрузки (LoadProcessing)
  • ОбработкаПолученияОписания (GetDescriptionProcessing)
  • ОбработкаСохранения (SaveProcessing)
  • ОбработкаУстановкиОписания (SetDescriptionProcessing)

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

Доступность: клиент, сервер, внешнее соединение.

См. также: ХранилищаНастроекМенеджер, свойство <Имя хранилища>

ВыборНастроек (SettingsChoice)

Свойства:

  • КлючНастроек (SettingsKey)

Конструкторы:

  • На основании ключа

Описание: Содержит информацию о выбранной пользователем настройке.

Доступность: клиент, сервер, внешнее соединение, тонкий клиент, веб-клиент.

ОписаниеНастроек (SettingsDescription)

Свойства:

  • ДополнительныеСвойства (AdditionalProperties)
  • КлючНастроек (SettingsKey)
  • КлючОбъекта (ObjectKey)
  • Пользователь (User)
  • Представление (Presentation)

Описание: Содержит информацию об описании настройки.

Доступность: клиент, сервер, внешнее соединение.

См. также:

  • ХранилищеНастроекМенеджер, метод ПолучитьОписание
  • ХранилищеНастроекМенеджер, метод УстановитьОписание
  • ХранилищеНастроекМенеджер, событие ОбработкаПолученияОписания
  • ХранилищеНастроекМенеджер, событие ОбработкаУстановкиОписания
  • СтандартноеХранилищеНастроекМенеджер, метод ПолучитьОписание
  • СтандартноеХранилищеНастроекМенеджер, метод Сохранить
  • СтандартноеХранилищеНастроекМенеджер, метод УстановитьОписание
  • ХранилищеНастроекМенеджер, метод Сохранить
  • ХранилищеНастроекМенеджер, событие ОбработкаСохранения

Использование форм сохранения и загрузки

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

Форма сохранения

Параметры формы:

  • КлючОбъекта (ObjectKey)

Описание: Форма, используемая для сохранения настроек. Результатом работы формы должно быть значение типа ВыборНастроек или значение Неопределено в случае, если пользователь отказался от сохранения настройки.

Доступность: клиент.

Форма загрузки

Параметры формы:

  • КлючОбъекта (ObjectKey)
  • КлючТекущихНастроек (CurrentSettingsKey)
  • СтандартныеНастройки (StandardSettings)

Описание:

Форма, используемая для загрузки настроек.

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

Доступность: клиент.

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

Насколько можно понять из описания, можно выделить две части механизма:

  • Использование прикладных объектов хранилища настройки для сохранения/восстановления настроек
  • Замена встроенных объектов на определённые в конфигурации (паттерн плагин)

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

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

  • ХранилищеВариантовОтчетов
  • ХранилищеНастроекДанныхФорм
  • ХранилищеОбщихНастроек
  • ХранилищеПользовательскихНастроекОтчетов
  • ХранилищеСистемныхНастроек

Сохранение/восстановление пользовательских настроек

Вместо СохранитьЗначение: ХранилищеСистемныхНастроек.Сохранить("РабочаяФирма", ПараметрыСеанса.РабочаяФирма); Вместо ВосстановитьЗначение: РабочаяФирма = ХранилищеСистемныхНастроек.Загрузить("РабочаяФирма");

Рейтинг: / 0

Сегодня мы поговорим о настройках в отчетах в «1С:Підприємство» 8.2 или 8.3, на примере конфигурации 1С:Підприємство 8. Управління торгівлею для України

Обновление

Мы дополнили статью настройками для конфигурации на управляемых формах и написали о некоторых хитростях настройки отчетов в 1С:Підприємство 8. Управління торгівлею для України , ред. 3.1 (управляемые формы)

Давайте рассмотрим, как на примере конфигурации Управління торгівлею для України

можно легко и быстро настраивать отчёт именно под Ваши требования.

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

Настройки отчетов в 1С:Підприємство 8. Управління торгівлею для України, ред. 3

Чтобы настроить отчет, нажимаем на кнопку Настройки . Перед нами открывается окно с настройками.

Чтобы увидеть все (расширенные настройки), нажимаем Все действия → Все настройки

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

В строке период – мы можем выбрать за какой период мы хотим видеть данные.

Выбранные поля – здесь можно добавить недостающие поля

На вкладке отбор можем отобрать только те элементы, которые Вам необходимо видеть.

Виды сравнения:

  • Равно – Вы можете выбрать только одно значение
  • Не равно - значение, по которому Вы не хотите видеть данные
  • В списке – если хотите выбрать несколько значений
  • В группе из списка - можно выбирать список нескольких групп данных.
  • Не в списке - отбор списка позиций, которые не должны попасть в отчет
  • Не в группе списка – исключения списка групп данных из отбора
  • В группе – в таком случае Вы увидите данные только по одной какой-то группы/категории
  • Не в группе - исключение группы данных

Например, в ведомости по товарам на складах мы хотим видеть все товары, которые есть у нас в наличии. Для этого ставим отбор Конечный остаток больше 0.

Теперь наш отчет выглядит таким образом:

На вкладке сортировка можем отсортировать наши данные.

Например, мы хотим отсортировать наши товары по алфавиту. Для этого переходим в окошко сортировки. И просто перетягиваем реквизит «Номенклатура» в правую сторону окошка и устанавливаем направление сортировки «По возрастанию».

Отчёт начал выглядеть так:

На закладке группировка можем сгруппировать данные по какому-либо значению. Например, мы хотим видеть наши остатки в разрезе складов. Здесь всё просто: мы нажимаем на три точки, переходим в окошко редактирование группировок и добавляем новую группировку «Склад» и выбираем тип «Иерархия».

А еще сгруппируем по месяцам, то есть узнаем в каком месяце мы оприходовали товар.

Для этого добавим следующую группировку: Период месяц (так же возможно сделать группировку по годам, кварталам, дням)

Теперь посмотрим на внешний вид нашего отчёта:

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

Видим структуру отчёта:

То есть, отчёт построен следующим образом: сначала идёт группировка по складам, далее подгруппы: группировка по Номенклатуре, характеристикам, сериям и единицам измерения, после чего идет группировка по документам движения, и самая последняя независимая группировка – единица измерения

Если мы просто отключим галку Склад, то соответственно, отключится и 2 группировки: номенклатура и регистратор. Поэтому просто «хватаем» строку Номенклатура и перетягиваем ее в Отчёт. Снимаем галку склад. Теперь структура нашего отчета должна выглядеть следующим образом:

Теперь отчёт выглядит красиво:

На вкладке поля номенклатуры можем выбрать только те поля, которые мы хотим видеть в отчёте. Например, в отчете Ведомость по товарам на складах мы хотим видеть артикул номенклатуры, наименование номенклатуры, характеристики номенклатуры, ед. измерения. Для этого переходим на вкладку Поля номенклатуры и выставляем все выше перечисленные реквизиты. Также чтобы в отчете наименование номенклатуры и ее характеристика находились в одной колонке, необходимо поместить данные реквизиты в одну группу (как показано на рисунке).

Еще с помощью вкладки Условное оформление можем наш отчёт сделать цветным. Например, мы хотим быстро найти количество товара на определенном складе. Для этого цветом выделим определённый склад:

На вкладке Условие выбираем склад, который хотим «покрасить». Склад = Магазин «Продукты»

На вкладке оформление выбираем в какой именно цвет (выберем жёлтый):

На вкладке Оформляемые поля можем увидеть какие поля/колонки будем менять в цвете. Если оставим эту вкладку пустой, то программа закрасит желтым цветом всё, что касается склада «Магазин Продукты»

А теперь формируем наш отчет!

Теперь он выглядит таким образом:

Сначала мы видим группировку по складам, затем группировку по месяцам.

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

Наша настройка на данный момент доступна только нам, но если мы хотим добавить ее и другим пользователям, тогда необходимо зайти в раздел Администрирование → Настройки пользователей и прав → Копирование настроек

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

Теперь нам остаётся только скопировать и закрыть.

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

Зайдем через Все действия → Изменить вариант отчета

Перед нами открылось такое окно:

Здесь мы можем также группировать, сортировать, добавлять колонки/строки. В общем, всё что душе пожелается.

А на примере отчёта Валовая прибыль я покажу как можно добавить колонку Наценка.

Также заходим в настройки через Все действия → Изменить вариант отчета .

В появившемся окне напишем наименование нашей колонки: Наценка.

В поле Выражение итоговых записей вводим формулу: Выручка/Всего*100 – 100

Слева находим папочку с названием Пользовательские поля и видим только что созданную Наценку

Добавляем ее в правую колонку

А теперь добавим нашу наценку в структуру отчёта: Организация и Подразделения:

И завершим редактирование.

Сформируем отчёт.

Видим, что новая колонка появилась, но мягко говоря, нас не устраивает количество знаков после запятой. Но это всё тоже очень легко поправимо.

Нам необходимо вернуться настройки, а именно ко вкладке Пользовательские поля, и редактируем нашу формулу. Формат числа мы хотим видеть 2 знака после запятой.

Делаем такую формулу: Формат(Выручка / Всего * 100 - 100, «ЧДЦ = 2»)

Снова сформируем отчет.

Теперь видим, что всё в порядке!

Но бывает, что выскакивает ошибка: «Деление на ноль». Чтобы избежать такой ошибки пропишем формулу следующим образом:

Выбор

Когда Всего <> 0

Тогда Формат(Выручка / Всего * 100 - 100, «ЧДЦ = 2»)

Иначе 0

Конец

Также можем добавить новую табличку в наш отчет. Для этого так же заходим в Изменить вариант отчёта. Далее Добавить → Новая таблица .

Теперь добавим строки и колонки.

Допустим, мы хотим видеть валовую прибыль только по сегменту Бытовая техника.

Добавим следующие группировки в строки: Номенклатура.

На вкладке Отбор включаем галку «Текущий элемент имеет собственный отбор» и добавляем номенклатуру из группы бытовая техника.

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

В структуре нашей таблицы, а именно колонки – добавляем новую группировку, Поле оставляем пустым.

Назовём нашу таблицу: Бытовая техника. Для этого встанем на Таблицу и на вкладке Дополнительные настройки введем заголовок (как показано на рисунке ниже).

Теперь сформируем отчёт.

Наша новая табличка попала в отчёт по валовой прибыли.

Всё элементарно!

Настройки отчетов в 1С:Підприємство 8. Управління торгівлею для України, ред. 2.3

Отчеты в «1С:Підприємство» представляют собой конструктор, но не каждый пользователь знает о тонкостях настроек отчетов.

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

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

2. Как настроить более развернуто отчет?

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

Закладка Общие

С помощью галочек указываете какие колонки необходимо видеть в отчете, а какие нет.

Стрелками можно выбрать расположение колонок.

Закладка Группировки

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

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

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


Тип группировки строк/колонок - это вариант просмотра данных (группировки), например Иерархия, позволяет сворачивать/разворачивать результаты.

3. Как в отчете сделать отбор по конкретному элементу справочника/документа/группы справочников?

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

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

Тип сравнения

Равно - выбор только одной позиции

Не равно - одна позиция, по который вы не хотите видеть данные

В списке - возможность сформировать список тех позиций, которые вы хотите увидеть в отчете. Через окно Побор списка, создаете необходимый список элементов справочников/документов.

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

Не в списке - отбор списка позиций, которые не должны попасть в отчет

Не в группе списка - отбор списка групп/подгрупп, которые не должны попасть в отчет

В группе - можно сделать отбор только по ОДНОЙ группе (для выбора группы необходимо нажать кнопку Выбрать)

Не в группе - отбор по одной группе, которая не должна попасть в отчет.

4. Как создать дополнительные поля в отдельных колонках?

Закладка Дополнительные поля позволяет создать дополнительные поля в отдельной колонке

  • Добавляем необходимое поле
  • Выбираем Размещение, в отдельной колонке или в одной колонке, которая уже есть в отчете
  • Выбираем Положение, перед колонкой Группировки (то есть первая колонка), после Группировки (вторая колонка), либо вместо Г руппировки (то есть колонки Группировки не будет вообще).

5. Как отсортировать по возрастанию/убыванию поле в отчете?

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

Закладка Сортировка

Выбираем поле, которое необходимо отсортировать - это будет поле Количество (в базовых единицах), выбираем вариант сортировки по Убыванию. И смотрим в начале на самый продаваемый товар. если вам необходимо посмотреть на плохо продаваемый товар, то выбираем сортировку по Возрастанию.

6. Как в отчете у количества убрать нули после запятой

Закладка Оформление

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

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

Нажимаем кнопку ОК, эта настройка попадает в окно Редактирование настройки оформления, нажимаем там так же ОК, и теперь эта настройка формата попала в Закладку оформление.

Формируем отчет, и наше количество теперь без дробной части.

* С помощью закладки Оформление можно выбрать разные варианты оформления. В другом уроке мы приведем варианты настроек оформления отчета.

7. Дублирование настроек отчета для других пользователей.

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

Есть выход!

  • Для начала настроим этот отчет у одного менеджера, сохраним его.
  • Затем заходим в базу второго менеджера, открываем Отчет Продажи, нажимаем на кнопку Восстановление настроек, этот список пуст (так как у второго менеджера не было сохраненных настроек).
  • Нажимаем вверху на кнопку Настройки все пользователей, и теперь в этом списке есть все отчеты, которые были сохранены пользователями.
  • Выбираем нужный отчет, кнопка Сформировать, и у нас появился отчет, который мы настраивали для первого менеджера
  • Теперь мы нажимаем кнопку Сохранить, и настройки этого отчета сохраняются для второго менеджера.

Сегодня мы рассказали Вам всего лишь несколько хитростей для формирования отчетов в «1С:Підприємство», конечно же это не все секреты, остальное ищите в наших следующих уроках.

Надеемся этот урок был для Вас полезен! Спасибо за внимание!

С уважением, компания FinSoft

Вы можете научиться этому у нас на онлайн курсах «1С:Підприємство» , либо же записаться на наши курсы «1С:Підприємство» , которые проходят в нашем офисе.

Если Вы еще не приобрели эту программу, у Вас есть отличная возможность купить 1С:Підприємство 8. Управління торгівлею для України на нашем сайте Ниже мы собрали для Вас похожие темы, которые помогут разобраться с функционалом программы «1С:Підприємство»

Секреты настройки отчетов в «1С:Підприємство» 8.3 - 4.5 out of 5 based on 6 reviews

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Программы для очистки компьютера от ненужных файлов Программы для очистки компьютера от ненужных файлов Gps навигатор программа я иду домой windows Gps навигатор программа я иду домой windows Что делать, если мышка не работает? Что делать, если мышка не работает?