Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм)

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю…

 

Позволяет увидеть все сохранённые в 1С настройки (печати табличных форм, отчетов, …)

Удалить ненужные (борьба за размер, «битые» настройки, …)

Скопировать «удачную» настройку другим пользователям…

 

ВНИМАНИЕ! Работает на релизе не ниже 8.2.15

СПАСИБО sanfoto (//infostart.ru/profile/24807/) за публикацию //infostart.ru/public/149007/  где он «ткнул меня носом», что в 1С у некоторых объектов иногда появляются новые методы и свойства, а также разработчикам платформы 1С, что не устают нас радовать…

19/06/2013 Добавлена обработка для 

СтандартноеХранилищеНастроекМенеджер

ХранилищеПользовательскихНастроекОтчетов

ХранилищеОбщихНастроек

ХранилищеНастроекДанныхФорм

ХранилищеВариантовОтчетов

 

 

 

 

46 Comments

  1. wowkai

    Искал ранее такую обработку для 1с 8.1, но так и не нашел

    Reply
  2. AnryMc

    (1) wowkai,

    К сожалению до 8.2.15 можно было только через перебор метаданных (скорость — до скончания века…)

    Reply
  3. Amara

    Обработка неплохая, полезная. Единственный минус — неудобный отбор. Как пожелание — добавить возможность отбора по пользователю на форму.

    Reply
  4. AnryMc

    (3) Amara,

    В системном хранилище настроек пользователи хранятся как «Строка» а не ссылка на справочник «Пользователи», что позволяет хранить их настройки без привязки к этому справочнику (который может называться по разному в разных конфигурациях), плюс система поэтому может (И ХРАНИТ) настройки уже полностью удаленных пользователей.

    Поэтому сделать фильтрацию по пользователю как элементу справочника можно, но не всегда целесообразно.

    Пока есть отбор по «строке» «Пользователь», см. рисунок.

    Reply
  5. Amara

    Да, я видела возможность такого отбора, но согласитесь отбор по строке не очень удобен. И еще при первой попытки установить отбор запутало то, что доступен выбор типа: строка, справочник. Если данные только типа строка, то тип справочник «Пользователи», на мой взгляд, следует убрать.

    Reply
  6. AnryMc

    (5) Amara,

    Добавил колонку «Пользователь ссылка» — элемент справочника «Пользователи».

    Добавил обработку удаления настроек удаленных (в базе и конфигурации) пользователей

    Reply
  7. capshow

    Автор, это те настройки (на уровне платформы), которые хранятся в файлах pfl в папках юзеров или это настройки на уровне конфигурации в спец регистрах и справочника? Если первое, то это супер, особенно если работает для настроек форм диалога и списка документов!

    Reply
  8. AnryMc

    (7) capshow,

    Настройки из СИСТЕМНОГО ХРАНИЛИЩА НАСТРОЕК, тех что хранятся в базе (Системный аналог -> Конфигурация — Общие — Хранилища настроек)

    А если пользовательские то Вам сюда — http://infostart.ru/public/77702/

    Reply
  9. kiros

    Вот спасибо, как раз начались «глюки» с принтерами, теперь можно будет проще бороться с такими проблемами.

    Reply
  10. Sintson

    Молодец, я сам давно хотел нечто подобное замутить, да все, как говорится руки не доходили!

    Плюсую!

    Reply
  11. arjuna

    Мелочь, а приятно. Полезная штучка.

    Reply
  12. ArikiteSun

    Удобно, спасибо!

    Reply
  13. AnryMc

    (11) arjuna, (12) Arikite,

    Очень мне нравяться пользователи которые говорят спасибо, даже не скачав файл. И даже не поставив «+».

    Reply
  14. demanru

    + хорошо бы ещё ХранилищеВариантовОтчетов и ХранилищеНастроекДанныхФорм 🙂

    Reply
  15. AnryMc

    (14) demanru,

    А у вас есть на чем проверить (да и желание проверить)?

    Есть вариант с остальными, но не доделывал, т.к. не начем попробовать…

    Reply
  16. AnryMc

    (14) demanru, Выложил второй файл — по всем (почти) хранилищам

    Reply
  17. vladir

    (0) Опять чудеса с Тестом на интеллект. Sm за скачивание успешно снялось, файл не скачался… :(((

    Reply
  18. vladir

    + к (17) Все же удалось скачать с пятой попытки…

    Reply
  19. AnryMc

    ВНИМАНИЕ!!! Первый файл

    Обработка (для СтандартноеХранилищеНастроекМенеджер, ХранилищеПользовательскихНастроекОтчетов, ХранилищеОбщихНастроек, ХранилищеНастроекДанныхФорм, ХранилищеВариантовОтчетов)

    включает в себя функционал второго!!!

    Просто я его оставил, т.к. небыло возможности хорошо потестировать новый (первый)…

    Reply
  20. KliMich

    Спасибо! В работе будет полезно.

    Reply
  21. lett

    Копирование настройки возможно только одному пользователю, потом снова нужно копировать настройку в буфер и выбирать другого пользователя. Удобнее было бы указывать список пользователей, ну или хотя бы возможность копировать сразу всем пользователям.

    За обработку — спасибо.

    Reply
  22. AllexSoft

    Спасибо, пробывал на 8.3, вроде работает, если закомментировать условие при открытии окна. Плюс если бы под УФ переделать было бы шикарно

    Reply
  23. ZhokhovM

    (22) AllexSoft, вот обработка на УФ http://infostart.ru/public/127198/.

    Reply
  24. AnryMc

    (23) ZhokhovM, Мне понравилось 😉

    Reply
  25. zqzq

    Плюсую.

    Сделал для себя альтернативную кнопку копирования, можете использовать, если хотите.

    1. Выбор сразу нескольких пользователей

    2. Пофиксил копирование описания настроек

    3. 1 кнопка вместо 2 🙂

    Тестировал на вариантах отчетов СКД.

    Процедура КнопкаКопировать2(Элемент)
    
    текСтрока=ЭлементыФормы.СписокСистемныхНастроек.ТекущиеДанные; Если текСтрока = Неопределено Тогда Возврат КонецЕсли;
    
    КешЗначения=НОВЫЙ Структура;
    КешЗначения.Вставить(«КлючОбъекта», текСтрока.КлючОбъекта);
    КешЗначения.Вставить(«КлючНастроек», текСтрока.КлючНастроек);
    КешЗначения.Вставить(«Пользователь», текСтрока.Пользователь);
    Описание = Новый ОписаниеНастроек;
    ЗаполнитьЗначенияСвойств(Описание, текСтрока);
    КешЗначения.Вставить(«Представление», Описание);
    СтрокаКоманды=»КешЗначения.Вставить(«»Настройка»», «+ЭлементыФормы.ПолеВыбораТипаХранилища.Значение+».Загрузить(текСтрока.КлючОбъекта, текСтрока.КлючНастроек, текСтрока.Представление, текСтрока.Пользователь))»;
    Выполнить(СтрокаКоманды);
    
    //————————————————
    Для каждого ДляПользователя Из СписокПользователейБазы Цикл
    ДляПользователя.Пометка = Ложь;
    КонецЦикла;
    СписокПользователейБазы.ОтметитьЭлементы(«Отметьте пользователей, которым скопировать»);
    
    Для каждого ДляПользователя Из СписокПользователейБазы Цикл
    Если ДляПользователя.Пометка //И НЕ СокрЛП(ДляПользователя.Значение.Код)=КешЗначения.Пользователь — для изменения названия можно того же выбрать
    Тогда
    СтрокаКоманды=ЭлементыФормы.ПолеВыбораТипаХранилища.Значение+».Сохранить(КешЗначения.КлючОбъекта, КешЗначения.КлючНастроек, КешЗначения.Настройка, КешЗначения.Представление, ДляПользователя.Значение.Код)»;
    Выполнить(СтрокаКоманды);
    КонецЕсли;
    КонецЦикла;
    
    КешЗначения=НЕОПРЕДЕЛЕНО;
    ПолучитьСохраненныеНастройки();
    
    КонецПроцедуры

    Показать

    Reply
  26. AnryMc

    (25) zqzq,

    Плюсую.

    Где?

    Reply
  27. MasterSVS

    Спасибо! Понадобилась…

    Модераторы удалите минус!!! Сорри…

    Reply
  28. katilek

    Отлично

    Reply
  29. AllexSoft

    (23) ZhokhovM, дело в том что у меня их было примерно 700мб! одна только таблица настроек ) поэтому пришлось разрабатывать свою обработину которая смогла бы вообще переварить подобные объемы

    Reply
  30. d_vit

    Удобная.

    Спасибо!!!

    Reply
  31. gruk

    Сделал отбор по имени пользователя, нажал отметить все, и потом удалить отмеченные…..

    =-O А настройки то удалились все полностью!!!!

    Обработка нужная и актуальная, но вот за такое не то что плюс непоставить — минусовать хочется.

    P.S. Глянул код: вы кнопку «отметить все» неправильно назвали, надо было «отметить все, игнорируя отбор» 🙂

    Reply
  32. AnryMc

    (31) gruk, Спасибо, за замечание.

    Появиться время — сразу исправлю…

    ЗЫ. Просто я сначала сделал кнопки, а затем добавил отбор…

    Reply
  33. Matador

    отличная обработка, только ГДЕ управляемая форма.

    Reply
  34. AnryMc

    (34) Matador,

    только ГДЕ управляемая форма.

    вот обработка на УФ http://infostart.ru/public/345667/.
    Reply
  35. DrSender

    Спасибо. Конечно плюс. Использую сейчас при отладке. Еще бы видеть поле Настройка в форме списка, как в (35) — было бы еще удобнее.

    Reply
  36. _Маша

    Спасибо, полезная обработка, только изменили, для версии 1С:Предприятие 8.3 (8.3.5.1248) не пускало))

    вместо

    ВП=Лев(ВП, 6);

    ВП=СтрЗаменить(ВП,».»,»»);

    сделала

    ВП=СтрЗаменить(ВП,».»,»»);

    ВП=Лев(ВП, 4);

    Reply
  37. ZhokhovM

    (36) DrSender, угу.

    Reply
  38. ZhokhovM

    В управляемой форме добавил все те возможности, что и у вас. На всякий случай оставлю тут ссылочку http://infostart.ru/public/345667/. Спасибо автору за такие возможности!

    Reply
  39. ZhokhovM

    (25) zqzq, спасибо, так же для себя сделал кнопку копирования другим пользователям.

    Reply
  40. naziknazik333

    На 8.3 пойдет?

    Reply
  41. AnryMc

    (41) naziknazik333, Для обычных форм.

    Reply
  42. fagust19821112

    нужна обработка для сброса настроек пользователя УПП

    Reply
  43. AnryMc

    (43) fagust19821112,

    Это «стол заказов»?

    Reply
  44. alexnov

    на 1С:Предприятие 8.3 (8.3.12.1440) ругается и не открывается

    Reply
  45. Лиза777

    выбираю «ХранилищеДанныхФорм» и ничего не отображается. Жалко что стартмани потратила ((

    Reply
  46. AnryMc

    (46) Наверно в вашей конфигурации храниться как то по другому…

    К сожалению механизма возврата стартмани на сайте не предусмотрено ;-(

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *