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 | Не... Не прокатывает...
У варианта один ключ. А в отчёте, в настройке выбранных полей совсем другой... |
|
Список тем форума |