|
СКД и пользовательские варианты отчетов | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
02.10.20
✎
15:24
|
Есть конфигурация на базе БСП (если важно - ерп).
В ней есть куча сохранённых вариантов отчётов. Нужно во все добавить ещё одно поле. Беру справочник вариантов. Нахожу нужные, получаю настройку, добавляю в выбранные поля нужное, сохраняю... Открываю отчёт с вариантом и не вижу своих изменений, хотя программно они видятся... По результатам трейса видно, что она делает "иннерджойн" с пользовательскими настройками... Но в справочнике их нет... Как мне правильно изменить варианты? Может, ужо готовая функция есть? |
|||
1
mikecool
02.10.20
✎
15:38
|
подписался на рассылку )
|
|||
2
Андроны едут
02.10.20
✎
16:01
|
?кеш?
|
|||
3
ДенисЧ
02.10.20
✎
16:01
|
(2) Нет. Кеша тут ни причём. Именно пользовательская настройка
|
|||
4
fisher
02.10.20
✎
16:04
|
Глянул - пользовательские настройки в стандартное хранилище настроек складываются.
|
|||
5
ДенисЧ
02.10.20
✎
16:06
|
(4) И как их оттуда для всех пользователей по очереди дёрнуть?
|
|||
6
fisher
02.10.20
✎
16:07
|
Может, у меня под рукой старая версия БСП, но там есть справочник "ПользовательскиеНастройкиОтчетов", в котором хранится ключ пользовательских настроек варианта из стандартного хранилища настроек.
|
|||
7
Андроны едут
02.10.20
✎
16:09
|
модуль ОбщегоНазначения:
// Загружает настройку из хранилища общих настроек, как метод платформы Загрузить, // объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>, // но с поддержкой длины ключа настроек более 128 символов путем хеширования части, // которая превышает 96 символов. // Кроме того, возвращает указанное значение по умолчанию, если настройки не найдены. // Если нет права СохранениеДанныхПользователя, возвращается значение по умолчанию без ошибки. // // В возвращаемом значении очищаются ссылки на несуществующий объект в базе данных, а именно // - возвращаемая ссылка заменяется на указанное значение по умолчанию; // - из данных типа Массив ссылки удаляются; // - у данных типа Структура и Соответствие ключ не меняется, а значение устанавливается Неопределено; // - анализ значений в данных типа Массив, Структура, Соответствие выполняется рекурсивно. // // Параметры: // КлючОбъекта - Строка - см. синтакс-помощник платформы. // КлючНастроек - Строка - см. синтакс-помощник платформы. // ЗначениеПоУмолчанию - Произвольный - значение, которое возвращается, если настройки не найдены. // Если не указано, возвращается значение Неопределено. // ОписаниеНастроек - ОписаниеНастроек - см. синтакс-помощник платформы. // ИмяПользователя - Строка - см. синтакс-помощник платформы. // // Возвращаемое значение: // Произвольный - см. синтакс-помощник платформы. // Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт Возврат ХранилищеЗагрузить(ХранилищеОбщихНастроек, КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, ОписаниеНастроек, ИмяПользователя); КонецФункции |
|||
8
fisher
02.10.20
✎
16:09
|
А как оно складывается можно подсмотреть в ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере
|
|||
9
fisher
02.10.20
✎
16:11
|
Т.е. надо обойти настройки по справочнику, достать их из стандартного хранилища, поменять и засунуть обратно.
|
|||
10
ДенисЧ
02.10.20
✎
16:14
|
(9) Посмотрел. Настроек вариантов отчётов - 2600 записей. Пользовательских - от силы 20...
Не стыкуется |
|||
11
fisher
02.10.20
✎
16:16
|
(10) Хм... Вероятно, в справочник складываются только именованные настройки. А текущие - штатно.
|
|||
12
fisher
02.10.20
✎
16:19
|
ЕМНИП, текущие настройки варианта сохраняются в стандартном хранилище с ключом "ТекущиеНастройкиВарианта". Внезапно :)
|
|||
13
fisher
02.10.20
✎
16:20
|
Соврамши. "КлючТекущегоВарианта".
|
|||
14
fisher
02.10.20
✎
16:21
|
Да, точняк:
4.5. Системное хранилище Настройка: ключ текущего варианта отчета ● Ключ объекта ‑ текстовая строка, составленная из полного имени отчета и строки /КлючТекущегоВарианта (/CurrentVariantKey). |
|||
15
fisher
02.10.20
✎
16:27
|
И, наконец, правильная версия :)
// Сохранение текущих пользовательских настроек. ОбщегоНазначения.ХранилищеСистемныхНастроекСохранить( ПолноеИмяОтчета + "/" + Форма.КлючТекущегоВарианта + "/ТекущиеПользовательскиеНастройки", "", Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); |
|||
16
ДенисЧ
02.10.20
✎
16:48
|
Не... Не прокатывает...
У варианта один ключ. А в отчёте, в настройке выбранных полей совсем другой... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |