Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД и пользовательские варианты отчетов

СКД и пользовательские варианты отчетов
Я
   ДенисЧ
 
02.10.20 - 15:24
Есть конфигурация на базе БСП (если важно - ерп).
В ней есть куча сохранённых вариантов отчётов.
Нужно во все добавить ещё одно поле.

Беру справочник вариантов. Нахожу нужные, получаю настройку, добавляю в выбранные поля нужное, сохраняю...
Открываю отчёт с вариантом и не вижу своих изменений, хотя программно они видятся...

По результатам трейса видно, что она делает "иннерджойн" с пользовательскими настройками... Но в справочнике их нет...

Как мне правильно изменить варианты? Может, ужо готовая функция есть?
   mikecool
 
1 - 02.10.20 - 15:38
подписался на рассылку )
   Андроны едут
 
2 - 02.10.20 - 16:01
?кеш?
   ДенисЧ
 
3 - 02.10.20 - 16:01
(2) Нет. Кеша тут ни причём. Именно пользовательская настройка
   fisher
 
4 - 02.10.20 - 16:04
Глянул - пользовательские настройки в стандартное хранилище настроек складываются.
   ДенисЧ
 
5 - 02.10.20 - 16:06
(4) И как их оттуда для всех пользователей по очереди дёрнуть?
   fisher
 
6 - 02.10.20 - 16:07
Может, у меня под рукой старая версия БСП, но там есть справочник "ПользовательскиеНастройкиОтчетов", в котором хранится ключ пользовательских настроек варианта из стандартного хранилища настроек.
   Андроны едут
 
7 - 02.10.20 - 16:09
модуль ОбщегоНазначения:

// Загружает настройку из хранилища общих настроек, как метод платформы Загрузить,

// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,

// которая превышает 96 символов.
// Кроме того, возвращает указанное значение по умолчанию, если настройки не найдены.

// Если нет права СохранениеДанныхПользователя, возвращается значение по умолчанию без ошибки.
//

// В возвращаемом значении очищаются ссылки на несуществующий объект в базе данных, а именно
// - возвращаемая ссылка заменяется на указанное значение по умолчанию;

// - из данных типа Массив ссылки удаляются;
// - у данных типа Структура и Соответствие ключ не меняется, а значение устанавливается Неопределено;

// - анализ значений в данных типа Массив, Структура, Соответствие выполняется рекурсивно.
//

// Параметры:
//   КлючОбъекта          - Строка           - см. синтакс-помощник платформы.

//   КлючНастроек         - Строка           - см. синтакс-помощник платформы.
//   ЗначениеПоУмолчанию  - Произвольный     - значение, которое возвращается, если настройки не найдены.

//                                             Если не указано, возвращается значение Неопределено.
//   ОписаниеНастроек     - ОписаниеНастроек - см. синтакс-помощник платформы.

//   ИмяПользователя      - Строка           - см. синтакс-помощник платформы.
//

// Возвращаемое значение: 
//   Произвольный - см. синтакс-помощник платформы.

//
Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено, 
            ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт
    
    Возврат ХранилищеЗагрузить(ХранилищеОбщихНастроек,
        КлючОбъекта,
        КлючНастроек,
        ЗначениеПоУмолчанию,
        ОписаниеНастроек,
        ИмяПользователя);
    
КонецФункции
   fisher
 
8 - 02.10.20 - 16:09
А как оно складывается можно подсмотреть в ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере
   fisher
 
9 - 02.10.20 - 16:11
Т.е. надо обойти настройки по справочнику, достать их из стандартного хранилища, поменять и засунуть обратно.
   ДенисЧ
 
10 - 02.10.20 - 16:14
(9) Посмотрел. Настроек вариантов отчётов - 2600 записей. Пользовательских - от силы 20...
Не стыкуется
   fisher
 
11 - 02.10.20 - 16:16
(10) Хм... Вероятно, в справочник складываются только именованные настройки. А текущие - штатно.
   fisher
 
12 - 02.10.20 - 16:19
ЕМНИП, текущие настройки варианта сохраняются в стандартном хранилище с ключом "ТекущиеНастройкиВарианта". Внезапно :)
   fisher
 
13 - 02.10.20 - 16:20
Соврамши. "КлючТекущегоВарианта".
   fisher
 
14 - 02.10.20 - 16:21
Да, точняк:
4.5. Системное хранилище
Настройка: ключ текущего варианта отчета

● Ключ объекта ‑ текстовая строка, составленная из полного имени отчета и строки /КлючТекущегоВарианта (/CurrentVariantKey).
   fisher
 
15 - 02.10.20 - 16:27
И, наконец, правильная версия :)
// Сохранение текущих пользовательских настроек.

ОбщегоНазначения.ХранилищеСистемныхНастроекСохранить(
    ПолноеИмяОтчета + "/" + Форма.КлючТекущегоВарианта + "/ТекущиеПользовательскиеНастройки",
    "",
    Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);
   ДенисЧ
 
16 - 02.10.20 - 16:48
Не... Не прокатывает...
У варианта один ключ. А в отчёте, в настройке выбранных полей совсем другой...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.