![]() |
![]() |
![]() |
|
Настройки отчетов | ☑ | ||
---|---|---|---|---|
0
Злобный Фей
19.07.05
✎
15:24
|
Вопрос такой: один пользователь настроил отчет (показатели, группировки, поля и т.д.) и сохранил настройку. Можно ли каким-нибудь образом сделать эту настройку доступной всем остальным? Пользователей очень много и настраивать для каждого пользователя несколько несколько вариантов нескольких отчетов довольно долго.
|
|||
1
vvv29
19.07.05
✎
15:31
|
Стандартными средствами нет, настройки храняться на компе пользователя локально, ИМХО это не всегда удобно
|
|||
2
Волшебник
19.07.05
✎
15:36
|
(1) У меня заведен справочник, в котором хранятся настройки, общие для всех пользователей. Могу поделиться решением.
|
|||
3
vvv29
19.07.05
✎
15:40
|
(2)Скинь на ящик, очень интересно посмотреть, по какому принципу?
|
|||
4
Волшебник
19.07.05
✎
15:40
|
НастройкиОтчетов
ИмяОтчета - индексирование с доп. упорядочиванием Комментарий СохраненныеНастройки - строка неогр. длины В каждом отчете: 1. В диалоге есть поле ввода, типа СправочникСсылка.НастройкиОтчетов У этого поля ввода есть события: Процедура НастройкаОтчетаПриИзменении(Элемент) Если НЕ НастройкаОтчета.Пустая() Тогда Если ЗначениеЗаполнено(НастройкаОтчета.СохраненныеНастройки) Тогда СохраненныеНастройки = ЗначениеИзСтрокиВнутр(НастройкаОтчета.СохраненныеНастройки); ПослеВосстановленияЗначений(); ОбновитьОтчет(); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура НастройкаОтчетаНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.НастройкиОтчетов.ПолучитьФормуВыбора(); ФормаВыбора.ВладелецФормы = ЭлементыФормы.НастройкаОтчета; ФормаВыбора.ИмяОтчета = ЭтотОтчет.Метаданные().Имя; ФормаВыбора.Открыть(); КонецПроцедуры 2. Переписаны обработчики событий для формы: Процедура ПередСохранениемЗначений(Отказ) СохраненныеНастройки = ЭтотОтчет.СформироватьСтруктуруДляСохраненияНастроек(ПоказыватьЗаголовок); Если РольДоступна("ПолныеПрава") Тогда Если НЕ НастройкаОтчета.Пустая() И ЗначениеЗаполнено(НастройкаОтчета.СохраненныеНастройки) Тогда Если Вопрос("Вы действительно хотите перезаписать отчет '" + НастройкаОтчета.Наименование + "'?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Нет Тогда Об_НастройкаОтчета = НастройкаОтчета.ПолучитьОбъект(); Об_НастройкаОтчета.СохраненныеНастройки = ЗначениеВСтрокуВнутр(СохраненныеНастройки); Об_НастройкаОтчета.Записать(); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // ПередСохранениемЗначений() 3. Событие Процедура ПослеВосстановленияЗначений() // Если настройка восстанавливается, когда открывается форма сформровенного отчета, игнорируем Если НеЗаполнятьНастройкиПриОткрытии Тогда Возврат; КонецЕсли; Если ТипЗнч(СохраненныеНастройки) = Тип("Структура") Тогда ЭтотОтчет.ВосстановитьНастройкиИзСтруктуры(СохраненныеНастройки, ПоказыватьЗаголовок); // Очистим результат - он более не соответствует настройке ЭлементыФормы.ДокументРезультат.Очистить(); ВысотаЗаголовка=0; ВыводЗаголовка(); СформироватьЗаголовокФормы(); КонецЕсли; КонецПроцедуры // ПослеВосстановленияЗначений() |
|||
5
Злобный Фей
19.07.05
✎
16:14
|
(4) Большой thanx! Очень полезная штука, сейчас попробую :)
|
|||
6
Волшебник
19.07.05
✎
16:16
|
процедуру ПослеВосстановленияЗначений() трогать не надо
|
|||
7
Волшебник
19.07.05
✎
16:18
|
в спр. НастройкиОтчета есть форма выбора:
у нее есть реквизит ИмяОтчета - строка у формы есть событие ПередОткрытием Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если ЗначениеЗаполнено(ИмяОтчета) Тогда СправочникСписок.Отбор.ИмяОтчета.Установить(ИмяОтчета); КонецЕсли; КонецПроцедуры |
|||
8
Shaytan
19.07.05
✎
16:24
|
||||
9
Волшебник
19.07.05
✎
16:50
|
еще исправление ошибочки:
Если Вопрос("Вы действительно хотите перезаписать отчет '" + НастройкаОтчета.Наименование + "'?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда |
|||
10
колодина
19.07.05
✎
16:52
|
мне очень понравилось.... здорово.
|
|||
11
Злобный Фей
19.07.05
✎
17:01
|
(1) А где они хранятся и в каком виде? Можно ли скопировать настройки одного пользователя на остальные компы?
|
|||
12
Shaytan
19.07.05
✎
17:29
|
(11) Свалены в файл. Скопировать можно,но работать не будут. Так хранятся в разрезе пользователь-БД
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |