Каталог решений - Система компоновки данных — сохранение настроек как в стандартном отчёте с возможностью просмотра чужих настроек

Система компоновки данных — сохранение настроек как в стандартном отчёте с возможностью просмотра чужих настроек

Система компоновки данных — сохранение настроек как в стандартном отчёте с возможностью просмотра чужих настроек

В наличии

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

Категория:

Описание

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

Для решения данной проблемы необходимо:
1. Готовый отчет, созданный с помощью СКД.
2. Создать форму отчета (автоматически сюда всё что нужно будет добавлено). Форма выглятит так же, как и форма по умолчанию, но здесь уже можно при открытии формы заполнять параметры компоновщика настроек и что-то менять на своё усмотрение.
3. Создать свои кнопки сохранения и восстановления настроек (или изменить процедуры на старых).
4. Вставить код в соответствующие процедуры и всё работает.

Процедура ДействияФормыСохранитьНастройки(Кнопка)

  Перем СохраненнаяНастройка;
  СохраненнаяНастройка = КомпоновщикНастроек.ПолучитьНастройки();
  СтруктураНастройки = Новый Структура;
  СтруктураНастройки.Вставить(«Пользователь», глЗначениеПеременной(«глТекущийПользователь»));
  СтруктураНастройки.Вставить(«ИмяОбъекта», Строка(ЭтотОбъект.Метаданные().ПолноеИмя()));
  СтруктураНастройки.Вставить(«НаименованиеНастройки», «Основная»);
  СтруктураНастройки.Вставить(«СохраненнаяНастройка», СохраненнаяНастройка);
  СтруктураНастройки.Вставить(«ИспользоватьПриОткрытии», Ложь);
  СтруктураНастройки.Вставить(«СохранятьАвтоматически», Ложь);

  Результат = УниверсальныеМеханизмы.СохранениеНастроек(СтруктураНастройки);

КонецПроцедуры

Процедура ДействияФормыВостановитьНастройки(Кнопка)

  Перем СохраненнаяНастройка;
  СтруктураНастройки = Новый Структура;
  СтруктураНастройки.Вставить(«Пользователь», глЗначениеПеременной(«глТекущийПользователь»));
  СтруктураНастройки.Вставить(«ИмяОбъекта», Строка(ЭтотОбъект.Метаданные().ПолноеИмя()));
  СтруктураНастройки.Вставить(«НаименованиеНастройки», «»);

  Результат = УниверсальныеМеханизмы.ВосстановлениеНастроек(СтруктураНастройки);
  Если Результат <> Неопределено Тогда
     КомпоновщикНастроек.ЗагрузитьНастройки(Результат.СохраненнаяНастройка);
  КонецЕсли;

КонецПроцедуры

has been added to your cart:
Оформление заказа