Сегодня мы поговорим о настройках в отчетах в «1С:Підприємство» 8.2 или 8.3, на примере конфигурации 1С:Підприємство 8. Управління торгівлею для України
Обновление
Мы дополнили статью настройками для конфигурации на управляемых формах и написали о некоторых хитростях настройки отчетов в 1С:Підприємство 8. Управління торгівлею для України , ред. 3.1 (управляемые формы)
Давайте рассмотрим, как на примере конфигурации Управління торгівлею для України
можно легко и быстро настраивать отчёт именно под Ваши требования.
Управляемые формы подразумевают под собой то, что внешний вид отчётов можно настраивать так как Вам удобно. Ведь раньше, если пользователь хотел поменять настройки отчёта, ему приходилось просить программиста «допиливать» нужные ему отчёты. Сейчас Вы сможете сами настроить любой отчет не прибегая к помощи программиста.
Чтобы настроить отчет, нажимаем на кнопку Настройки . Перед нами открывается окно с настройками.
Чтобы увидеть все (расширенные настройки), нажимаем Все действия → Все настройки
В данном окне мы можем добавить необходимые нам поля, сгруппировать поля, сделать отбор и многое другое.
В строке период – мы можем выбрать за какой период мы хотим видеть данные.
Выбранные поля – здесь можно добавить недостающие поля
На вкладке отбор можем отобрать только те элементы, которые Вам необходимо видеть.
Виды сравнения:
Например, в ведомости по товарам на складах мы хотим видеть все товары, которые есть у нас в наличии. Для этого ставим отбор Конечный остаток больше 0.
Теперь наш отчет выглядит таким образом:
На вкладке сортировка можем отсортировать наши данные.
Например, мы хотим отсортировать наши товары по алфавиту. Для этого переходим в окошко сортировки. И просто перетягиваем реквизит «Номенклатура» в правую сторону окошка и устанавливаем направление сортировки «По возрастанию».
Отчёт начал выглядеть так:
На закладке группировка можем сгруппировать данные по какому-либо значению. Например, мы хотим видеть наши остатки в разрезе складов. Здесь всё просто: мы нажимаем на три точки, переходим в окошко редактирование группировок и добавляем новую группировку «Склад» и выбираем тип «Иерархия».
А еще сгруппируем по месяцам, то есть узнаем в каком месяце мы оприходовали товар.
Для этого добавим следующую группировку: Период месяц (так же возможно сделать группировку по годам, кварталам, дням)
Теперь посмотрим на внешний вид нашего отчёта:
Как видим, в настройке у нас задвоилась группировка по складам. Как же найти откуда появилась лишняя группировка? Поскольку в управляемых формах можно конструировать отчет самостоятельно, поэтому зайдем в саму структуру отчета. Для этого заходим во
Видим структуру отчёта:
То есть, отчёт построен следующим образом: сначала идёт группировка по складам, далее подгруппы: группировка по Номенклатуре, характеристикам, сериям и единицам измерения, после чего идет группировка по документам движения, и самая последняя независимая группировка – единица измерения
Если мы просто отключим галку Склад, то соответственно, отключится и 2 группировки: номенклатура и регистратор. Поэтому просто «хватаем» строку Номенклатура и перетягиваем ее в Отчёт. Снимаем галку склад. Теперь структура нашего отчета должна выглядеть следующим образом:
Теперь отчёт выглядит красиво:
На вкладке поля номенклатуры можем выбрать только те поля, которые мы хотим видеть в отчёте. Например, в отчете Ведомость по товарам на складах мы хотим видеть артикул номенклатуры, наименование номенклатуры, характеристики номенклатуры, ед. измерения. Для этого переходим на вкладку Поля номенклатуры и выставляем все выше перечисленные реквизиты. Также чтобы в отчете наименование номенклатуры и ее характеристика находились в одной колонке, необходимо поместить данные реквизиты в одну группу (как показано на рисунке).
Еще с помощью вкладки Условное оформление можем наш отчёт сделать цветным. Например, мы хотим быстро найти количество товара на определенном складе. Для этого цветом выделим определённый склад:
На вкладке Условие выбираем склад, который хотим «покрасить». Склад = Магазин «Продукты»
На вкладке оформление выбираем в какой именно цвет (выберем жёлтый):
На вкладке Оформляемые поля можем увидеть какие поля/колонки будем менять в цвете. Если оставим эту вкладку пустой, то программа закрасит желтым цветом всё, что касается склада «Магазин Продукты»
А теперь формируем наш отчет!
Теперь он выглядит таким образом:
Сначала мы видим группировку по складам, затем группировку по месяцам.
Переключаться между настройками можно благодаря такой кнопке как - Выбрать настройки :
Наша настройка на данный момент доступна только нам, но если мы хотим добавить ее и другим пользователям, тогда необходимо зайти в раздел Администрирование → Настройки пользователей и прав → Копирование настроек
На вкладке Настройки отчетов видим все отчеты, настройки которых мы сохраняли, и теперь выбираем нашу настройку.
Теперь нам остаётся только скопировать и закрыть.
Есть еще один фокус с отчётами на управляемых формах: можно добавлять колонки, строки немного другим способом.
Зайдем через Все действия → Изменить вариант отчета
Перед нами открылось такое окно:
Здесь мы можем также группировать, сортировать, добавлять колонки/строки. В общем, всё что душе пожелается.
А на примере отчёта Валовая прибыль я покажу как можно добавить колонку Наценка.
Также заходим в настройки через Все действия → Изменить вариант отчета .
В появившемся окне напишем наименование нашей колонки: Наценка.
В поле Выражение итоговых записей вводим формулу: Выручка/Всего*100 – 100
Слева находим папочку с названием Пользовательские поля и видим только что созданную Наценку
Добавляем ее в правую колонку
А теперь добавим нашу наценку в структуру отчёта: Организация и Подразделения:
И завершим редактирование.
Сформируем отчёт.
Видим, что новая колонка появилась, но мягко говоря, нас не устраивает количество знаков после запятой. Но это всё тоже очень легко поправимо.
Нам необходимо вернуться настройки, а именно ко вкладке Пользовательские поля, и редактируем нашу формулу. Формат числа мы хотим видеть 2 знака после запятой.
Делаем такую формулу: Формат(Выручка / Всего * 100 - 100, «ЧДЦ = 2»)
Снова сформируем отчет.
Теперь видим, что всё в порядке!
Но бывает, что выскакивает ошибка: «Деление на ноль». Чтобы избежать такой ошибки пропишем формулу следующим образом:
Выбор
Когда Всего <> 0
Тогда Формат(Выручка / Всего * 100 - 100, «ЧДЦ = 2»)
Иначе 0
Конец
Также можем добавить новую табличку в наш отчет. Для этого так же заходим в Изменить вариант отчёта. Далее Добавить → Новая таблица .
Теперь добавим строки и колонки.
Допустим, мы хотим видеть валовую прибыль только по сегменту Бытовая техника.
Добавим следующие группировки в строки: Номенклатура.
На вкладке Отбор включаем галку «Текущий элемент имеет собственный отбор» и добавляем номенклатуру из группы бытовая техника.
На вкладке Поля так же включаем галку «Текущий элемент имеет собственные настройки выбранных полей» - Номенклатура.
В структуре нашей таблицы, а именно колонки – добавляем новую группировку, Поле оставляем пустым.
Назовём нашу таблицу: Бытовая техника. Для этого встанем на Таблицу и на вкладке Дополнительные настройки введем заголовок (как показано на рисунке ниже).
Теперь сформируем отчёт.
Наша новая табличка попала в отчёт по валовой прибыли.
Всё элементарно!
Отчеты в «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
Довольно часто работая с 1с-кой и разбираясь с проблемами пользователей, обнаруживаю, что они не умеют пользоваться элементарными приемами для облегчения своей повседневной работы. Одним из таких приемов является сохранение настроек. Если в стандартных отчетах такая возможность, как правило, встроена то, разрабатывая свои отчеты, программисты часто забывают про эту возможность, хотя она реализуется довольно просто. В данной статье, мы постараемся рассмотреть, какие возможности предусматривает система для сохранения настроек с позиции программиста.
Многим хватит двух функций: СохранитьЗначение(<Имя>, <Значение>) и парную к ней ВосстановитьЗначение(<Имя>) . но это только для толстого клиента. Если почитать справку, то видно, что настройка сохраняется для пары база-пользователь. Нужно не забывать, что сохранять можно не только простые типы данных, но сложные, например структуру или даже таблицу значений.
Также программисты пользовались функциями ЗначениеВФайл(<ИмяФайла>, <Значение>) и ЗначениеИзФайла(<ИмяФайла>).
Начиная с версии 8.2, точный релиз не скажу, в дереве метаданных появилась ветка «Хранилище настроек» про которую нужно рассказать подробнее.
Механизм можно разделить на две части: стандартный механизм и пользовательский механизм.
В тонком клиенте механизм сохранения настроек активирован по умолчанию и доступен через кнопку «Все действия»
Стандартно система позволяет сохранять настройки нескольких объектов: настройки управляемого интерфейса, настройки отчетов, настройки форм.
Программно получить доступ к настройкам все также просто, немного поменялся синтаксис.
И соответственно восстановить
ХранилищеОбщихНастроек.Загрузить(<КлючОбъекта>, <КлючНастроек>, <ОписаниеНастроек>, <ИмяПользователя>)
Детально все параметры описаны в справке.
При написании внешних отчётов нужно не забывать использовать возможность автоматического сохранения данных, для того чтобы пользователь раз настроив отчет или обработку больше к этим настройкам не возвращался.
Сначала в форме укажем возможность сохранять значения реквизитов обработки и реквизитов формы, укажем значения, каких реквизитов мы хотим сохранять.
Также желательно отметить флажок восстанавливать значения при открытии.
Запустив отчет и показывая пользователю как им пользоваться, нужно не забыть, рассказать ему про возможность сохранения настроек формы, а также про автовостановление при открытии формы в последующем:
Механизмы простые, но действенные, пользователь будут вам благодарны.
Мы довольно подробно рассмотрели настройки отчетов, реализованных на базе СКД. Теперь разберем более тонкие и детальные настройки вариантов отчета. Окно «продвинутых» настроек варианта отчета вызывается по команде «Еще» - «Прочее» - «Изменить вариант отчета».
Окно изменения варианта отчета разделено на две части:
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. Хранилище общих настроек – данное хранилище предназначено для хранения различных настроек прикладного решения. Платформа самостоятельно не записывает в данное хранилище никаких настроек. Данное хранилище должен использовать разработчик из встроенного языка, для того чтобы выполнять сохранение/восстановление прикладных настроек пользователя.
3. Хранилище пользовательских настроек отчетов – в данное хранилище помещаются пользовательские настройки отчетов.
4. Хранилище вариантов отчетов – в данное хранилище помещаются варианты отчетов.
5. Хранилище настроек данных форм – в это хранилище сохраняются данные форм. Этим хранилищем можно пользоваться, например, для сохранения реквизитов обработок. При этом можно выбрать индивидуальное хранилище для каждого отчета и обработки.
При разработке конфигурации имеется возможность определить собственные хранилища настроек для всех хранилищ (кроме системного хранилища). Для этого необходимо создать объект хранилище настроек в соответствующей ветке дерева метаданных и затем указать его в нужном свойстве конфигурации. Свойства объекта Конфигурация имеют те же имена, что и вышеперечисленные хранилища.
Таким образом, данные хранилищ могут храниться как в системной таблице информационной базы, так и в некотором специальном объекте информационной базы, например, в справочнике или регистре сведений. Например, можно создать в конфигурации объект хранилище настроек и указать в свойстве конфигурации, что данное хранилище следует использовать для хранения настроек отчетов. Таким образом, настройки отчетов будут сохраняться не в системной таблице, а в некотором объекте, например, в справочнике, что дает возможность организовать работу с едиными настройками отчетов, реализовать систему прав, обмен настройками и т.п.
Объект метаданных ХранилищеНастроек предназначен для обеспечения хранения прикладных настроек конфигурации. За счет реализации обработчиков событий и создания формы объекта выполняется модификация механизма работы с настройками таким образом, что изменяется место хранения настроек (вместо системных таблиц используются специальные объекты конфигурации, которые создал разработчик) и визуальные механизмы работы с настройками.
В конфигурации может быть определено произвольное количество хранилищ настроек.
У объекта ХранилищеНастроекМенеджер имеется ряд методов, которые вызывают соответствующие события. Таким образом, определением обработчиков событий описывается логика сохранения/загрузки настроек.
В методах хранилища и обработчиках используются следующие параметры:
В процессе разработки хранилища, разработчик самостоятельно определяет, каким образом будет идентифицироваться объект хранилища, тем самым, определяя тип параметра.
Например, если настройки сохраняются в справочнике, то в качестве ключа настройки можно использовать поле Код или значение Ссылка (элемента справочника).
Объект ХранилищеНастроек предоставляет следующие методы:
Вызывает событие ОбработкаСохранения. Если обработчик события не реализован или пустой, то действие не будет выполнено.
Вызывает событие ОбработкаЗагрузки. Если обработчик события не реализован или пустой, то действие не будет выполнено.
Вызывает событие ОбработкаПолученияОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.
Вызывает событие ОбработкаУстановкиОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.
Подробнее про параметры методов можно посмотреть во встроенной справке.
В модуле менеджера объекта должны находится обработчики следующих событий:
Подробнее про параметры обработчиков можно посмотреть во встроенной справке.
Кроме описания обработчиков в хранилище настроек необходимо определить формы, которые будут использоваться при сохранении и выборе настроек пользователем.
Когда пользователь применяет команды сохранения или загрузки настроек, система получает соответствующую форму объекта хранилища настроек, и отображает ее на экране.
Например, при сохранении настроек отчета система будет использовать форму сохранения того объекта метаданных, который указан в качестве хранилища настроек отчетов (непосредственно у самого отчета или у всей конфигурации). При этом форме будут переданы следующие параметры:
При создании формы с помощью конструктора, вышеописанные параметры будут автоматически добавлены в список параметров формы.
В формах следует использовать переданные параметры и соответствующим образом фильтровать список настроек. Так, следует отображать только настройки для указанного в параметре КлючОбъекта объекта настройки (например, отчета).
Если пользователь выбрал настройку, то результатом работы формы должно быть значение типа ВыборНастроек. В этом значении, в свойстве КлючНастроек, должен находиться ключ выбранной настройки (например, код элемента справочника или другой, идентифицирующий настройку параметр), а в свойстве ДополнительныеСвойства – дополнительная информация, которую пользователь мог указать в форме.
Стандартное хранилище настроек представляется во встроенном языке объектом СтандартноеХранилищеНастроекМенеджер. Данный объект реализует тот же набор методов, что и объект ХранилищеНастроекМенеджер, и дополнительно реализует методы:
Стандартное хранилище сохраняет настройки в системных таблицах информационной базы.
В качестве ключа объекта настройки и в качестве ключа настройки системное хранилище настроек принимает строку.
В качестве настроек системное хранилище принимает любое значение, которое может быть помещено в хранилище значений.
Разработчик может управлять сохранением данных управляемых форм в настройках. Для этого при разработке формы ему необходимо воспользоваться следующими свойствами формы:
Если для формы установлена возможность сохранения данных, то необходимо указать, какие реквизиты формы должны сохраняться (колонка Сохранение на закладке Реквизиты редактора формы).
При сохранении настроек в качестве ключа объекта используется полное имя формы. В настройках сохраняется объект типа Соответствие, в котором в качестве ключей находятся пути к сохраняемым реквизитам, а в качестве значений – их (реквизитов) значения.
Для дополнительной обработки сохранения и загрузки в форме имеются следующие обработчики:
У объектов отчет и внешний отчет имеется свойства метаданных ХранилищеВариантов и ХранилищеНастроек. В данных свойствах указывается, в какие хранилища нужно сохранять варианты и настройки отчета соответственно. Если хранилища не указаны, то используются хранилища, указанные в свойствах конфигурации.
Форма отчета предоставляет команды сохранения и загрузки вариантов и настроек отчетов.
Для дополнительной обработки сохранения и загрузки настроек и вариантов отчета в расширении формы отчета имеются следующие обработчики:
При необходимости сохранять в настройках компоновки данных или пользовательских настройках компоновки данных некоторую дополнительную информацию можно воспользоваться свойствами ДополнительныеСвойства объектов НастройкиКомпоновкиДанных и ПользовательскиеНастройкиКомпоновкиДанных. Свойство ДополнительныеСвойства представляет собой объект типа Структура.
1. Определяется, какое хранилище (см. начало главы) будет использоваться. Например, будем реализовывать хранилище настроек данных форм конфигурации.
2. Определяется перечень объектов метаданных, которые будут использовать это хранилище, и определяется перечень хранимой информации, ее структура и типы. Эта информация поможет нам правильно выбрать объект метаданных, в данных которого будут храниться наши настройки.
3. На основании информации из п. 2 создается объект (и его структура), который будет хранить настройки. Пусть наши настройки хранятся в элементах справочника. Т. к. в нашем случае структура сохраняемых данных крайне разнородна, то нет смысла реализовывать отдельный набор реквизитов для хранения настроек каждой формы, поэтому настройки будут храниться в реквизите справочника типа ХранилищеЗначения.
4. Создается объект типа ХранилищеНастроек и для него выполняется реализация форм сохранения и загрузки. Тем самым мы обеспечиваем интерактивность при сохранении и восстановлении настроек.
5. Для созданного объекта ХранилищеНастроек выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек. Если не выполнить эту операцию, то не будут происходить собственно операции чтения/записи настроек. Для решения этой задачи нужно реализовать обработчики событий ОбработкаСохранения и ОбработкаЗагрузки в модуле созданного объекта типа ХранилищеНастроек.
6. В объектах, выделенных в п. 2 (или в свойствах конфигурации), заполняются соответствующие свойства, тем самым указывая объектам, в каких хранилищах будут храниться настройки. В нашем примере необходимо заполнить свойство конфигурации Хранилище настроек данных форм ссылкой на объект, созданный на шаге 4.
7. При необходимости выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек в тех прикладных объектах, где это необходимо.
Приложение описывает настройки, которые автоматически сохраняются платформой в системном хранилище.
меню Справка/Содержание справки/1С предприятие/Встроенный язык/Глобальный контекст/Свойства/Хранилища настроек
меню Справка/Содержание справки/1С предприятие/Встроенный язык/Прикладные объекты/Хранилища настроек
Глобальный контекст содержит ряд свойств (глобальных объектов), используемых для работы с настройками.
Использование: Только чтение.
Тип: СтандартноеХранилищеНастроекМенеджер; ХранилищеНастроекМенеджер.
Свойства глобального контекста:
В разделе описываются прикладные объекты, используемые для работы с хранилищем настроек.
Описание: Хранилище настроек, хранящее настройки в системных таблицах.
Доступность: клиент, сервер, внешнее соединение.
См. также: Глобальный контекст, свойство ХранилищеСистемныхНастроек
Элементы коллекции: ХранилищеНастроекМенеджер
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются хранилища настроек.
Возможно обращение к хранилищу настроек посредством оператора [...]. В качестве аргумента передается имя хранилища, как оно задано в конфигурации.
Свойства:
Описание: Коллекция хранилищ настроек, определенных в конфигурации.
Доступность: клиент, сервер, внешнее соединение.
См. также: Глобальный контекст, свойство ХранилищаНастроек
Описание: Объект, предоставляющий доступ к хранилищу настроек определенного типа.
Доступность: клиент, сервер, внешнее соединение.
См. также: ХранилищаНастроекМенеджер, свойство <Имя хранилища>
Свойства:
Конструкторы:
Описание: Содержит информацию о выбранной пользователем настройке.
Доступность: клиент, сервер, внешнее соединение, тонкий клиент, веб-клиент.
Свойства:
Описание: Содержит информацию об описании настройки.
Доступность: клиент, сервер, внешнее соединение.
См. также:
В разделе описываются механизмы использования форм сохранения и загрузки.
Параметры формы:
Описание: Форма, используемая для сохранения настроек. Результатом работы формы должно быть значение типа ВыборНастроек или значение Неопределено в случае, если пользователь отказался от сохранения настройки.
Доступность: клиент.
Параметры формы:
Описание:
Форма, используемая для загрузки настроек.
Результатом работы формы (значение, передаваемое в метод Закрыть()) должно быть значение типа ВыборНастроек или значение Неопределено в случае, если пользователь отказался от загрузки настройки.
Доступность: клиент.
Насколько можно понять из описания, можно выделить две части механизма:
Не очень понятно зачем нужен механизм переопределения стандартных хранилищ, но, наверное, можно что-то придумать... Типа контекстной чувствительности настроек.
В глобальном контексте всегда существует набор объектов-менеджеров хранилищ различного рода настроек, которые и используются системой и/или разработчиками.
Вместо СохранитьЗначение: Вместо ВосстановитьЗначение: