1c 8 где сохранять общие настройки отчета.

Мы довольно подробно рассмотрели настройки отчетов, реализованных на базе СКД. Теперь разберем более тонкие и детальные настройки вариантов отчета. Окно «продвинутых» настроек варианта отчета вызывается по команде «Еще» - «Прочее» - «Изменить вариант отчета».

Окно изменения варианта отчета разделено на две части:

1. Структура отчета.

2. Настройки отчета.


Раздел структуры варианта отчета аналогичен вкладке «Структура» стандартных настроек отчета. Назначение и настройка группировок подробно рассмотрена в ч. 1 статьи.

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

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

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

1. Параметры. Содержит параметры СКД, доступные пользователю.

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


Таблица параметров представлена в формате «Параметр»-«Значение». При необходимости можно менять значения параметров. Нажатие на кнопку «Свойства элемента пользовательских настроек» открывает пользовательские настройки элемента.


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

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

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


Пользователь может добавить два вида полей:

  • Новое поле выбор…
  • Новое поле выражение…

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


Например, вычислим оценку количества продаж. Будем считать, что, если продано меньше 10 единиц товара, продали мало, а если больше 10 единиц - много. Для этого зададим 2 значения вычисляемого поля: первое будет с отбором «Количество товаров Меньше или равно "10"», второе с отбором «Количество товаров Больше "10"».

Поля выражения позволяют вычислять значение используя произвольные алгоритмы. В них могут использоваться функции языка запросов и встроенного языка программирования 1С. Окно редактирования поля выражения содержит два поля для выражений детальных и итоговых записей. Итоговые записи - это группировки, настроенные в области «Структура отчета», в них необходимо использовать агрегатные функции («Сумма», «Минимум», «Максимум», «Количество»).

Например, вычислим средний процент скидки. Средний процент скидки рассчитывается по формуле: [Сумма продаж без скидки] - [Сумма продаж со скидкой] / [Сумма продаж без скидки]. Необходимо помнить, что сумма продаж без скидки может быть нулевой, поэтому используем оператор ВЫБОР для проверки. Получим следующие выражения:

· Для детальных записей:

Выбор

Когда [Сумма продаж без скидки] = 0

Тогда 0

Иначе [Сумма продаж без скидки] - [Сумма продаж со скидкой] / [Сумма продаж без скидки]

Конец

· Для итоговых записей:

Выбор

Когда Сумма([Сумма продаж без скидки]) = 0

Тогда 0

Иначе Сумма([Сумма продаж без скидки]) - Сумма([Сумма продаж со скидкой]) / Сумма([Сумма продаж без скидки])

Конец

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

3. Группируемые поля. Содержит поля, по которым будет группироваться результат варианта отчета. Группируемые поля настраиваются отдельно для каждой из группировок, но можно задать общие группируемые поля для варианта отчета, если выбрать в дереве структуры корень «Отчет». Можно добавить поле из результата отчета, пользовательское поле или выбрать авто поле, тогда система подберет поля автоматически. Также данная вкладка позволяет изменять порядок следования группируемых полей.


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

Поля можно группировать, чтобы логически выделить какую-либо часть отчета или задать особое расположение колонок. При добавлении группы становится активна колонка «Расположение» и позволяет выбрать один из вариантов расположения:

  • Авто - система располагает поля автоматически;
  • Горизонтально - поля располагаются горизонтально;
  • Вертикально - поля располагаются вертикально;
  • В отдельной колонке - поля располагаются в разных колонках;
  • Вместе - поля располагаются в одной колонке.


5. Отбор. Содержит отборы, используемые в варианте отчета. Настройка отборов была подробно рассмотрена в части 1 данной статьи. Отборы настраиваются отдельно для каждой из группировок, но можно задать общие отборы для варианта отчета, если выбрать в дереве структуры корень «Отчет».


6. Сортировка. Содержит поля сортировки, используемые в варианте отчета. Настройка полей сортировки была подробно рассмотрена в части 1 данной статьи. Сортировка настраиваются отдельно для каждой из группировок, но можно задать общие поля сортировки для варианта отчета, если выбрать в дереве структуры корень «Отчет».


7. Условное оформление. Содержит элементы условного оформления, используемые в варианте отчета. Настройка условного оформления была подробно рассмотрена в части 1 данной статьи. Условное оформление настраивается отдельно для каждой из группировок, но можно задать общие элементы условного оформления для варианта отчета, если выбрать в дереве структуры корень «Отчет».


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

Настройки пользователя в 1С обычно разделены на три части.

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

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

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

Где хранить все эти настройки в 1С?

Как настройки 1С сохраняли раньше

В платформа предлагала следующий стандартный вариант:

  • Когда требуется запомнить настройку 1С, программист использует функцию
    СохранитьЗначение(«ИмяНастройки», Значение);
  • Чтобы прочитать настройку 1С, используется функция
    Значение = ВосстановитьЗначение(«ИмяНастройки», Значение);

Соответственно программист создает кнопки сохранения и восстановления настроек 1С, а пользователь использует этот механизм (ну или программист сохраняет их автоматически).

В качестве значения можно использовать не только число или строку, но и например Структуру – тип, который позволяет хранить в себе множество значений с их наименованиями, например:
Настройки = Новый Структура();
Настройки.Вставить(«ИмяНастройки», Значение);
Значение = Настройки.ИмяНастройки;

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

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

В типовых конфигурациях настройки 1С отчетов сохранялись в регистр сведений. А настройки 1С отчетов СКД можно сохранить в файл XML.

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

Все эти возможности остались и в новой платформе 8.2, но появился наконец некий «стандартный метод» сохранения настроек – Хранилище настроек 1С.

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

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

  • Командный управляемый интерфейс
  • Формы
  • Настройки и варианты отчетов.

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

  • Когда требуется запомнить настройку
    ХранилищеОбщихНастроек.Сохранить("ИмяОбъекта", "ИмяНастроек", Значение);
  • Чтобы прочитать настройку
    Значение = ХранилищеОбщихНастроек.Загрузить("ИмяОбъекта", "ИмяНастроек", Значение);
  • Чтобы получить список настроек
    Список = ХранилищеОбщихНастроек.ПолучитьСписок("ИмяОбъекта");

Настройки 1С сохраняются непосредственно в базе данных, в специальных таблицах.

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

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

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

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

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

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

Это предполагается делать в следующих случаях:

  • Ссылочный контроль при хранении настроек 1С
  • Миграция настроек 1С при использовании
  • Специальная структура настроек 1С (для автоматического ее соблюдения)
  • Переопределение стандартных хранилищ.

Для создания собственного хранилища настроек 1С – необходимо добавить таковое в конфигураторе в окне конфигурации в ветке Общие/Хранилища настроек 1С.

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

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

В использование хранилища возможно автоматически:


В толстом клиенте для использования требуется в коде на языке 1С прописывать непосредственный вызов сохранения настроек 1С:
ХранилищаНастроек.ИмяХранилища.Сохранить();

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

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

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

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

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

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

Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:

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

К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.

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

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

Запись и получение настройки:

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

Удаление лишней/ненужной настройки:

ХранилищеОбщихНастроек.Удалить(НазваниеОбъекта, НазваниеНастройки, ИмяПользователя);

Получение списка настроек:

СписокЗначенийНастроек = ХранилищеОбщихНастроек.ПолучитьСписок(ИмяОбъекта, ИмяПользователя);

Параметры «НазваниеОбъекта», «НазваниеНастройки» и «ИмяПользователя» должны строковой тип.

В базе данных, все настройки хранятся в отдельно таблице.

Хранилища настроек создаваемые программистом

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

  • необходимо перемещение настроек между базами данных;
  • необходим ссылочный контроль при хранении настроек;
  • требуется особая структура настроек 1С.

Хранилища настроек добавляют в соответствующем разделе конфигурации.

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

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

Доступ к созданному хранилищу можно получить таким образом:

ХранилищаНастроек.НазваниеХранилища.Загрузить();

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

Управляемые формы имеют два свойства:

  • Автоматическое сохранение данных — если выбрано значение «Использовать», то данные будут сохраняться автоматически в стандартное хранилище настроек данных форм;
  • Сохранение данных в настройках — если выбрано значение «Использовать список», то в окне реквизитов формы появится столбец «Сохранение», с помощью которого можно указать какие реквизиты формы должны сохраняться, а также появиться возможность выбрать хранилище настроек для этих данных.

На этом все, надеюсь данная статья Вам помогла.

Отправить эту статью на мою почту

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

Для того чтобы сохранить настройку отчета в 1С в обычных формах , например, 1с торговля 8 редакции 10.3 или 1с бухгалтерия 8 редакции 2.0, нужно отрыть сам отчет, далее настроить его показатели, колонки, сортировку, так как Вам удобно. Сформируйте отчет, убедитесь, что он отображается так как вам нужно.

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

В этом же окне вы можете удалить не нужные настройки.

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

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

О там как сохранять и восстанавливать настройки отчетов в управляемых формах 1с - читайте в следующих статьях.

Публикации по теме