Задача
В ИБ с конфигурацией УТ 11 у всех пользователей очистить настройки формы элемента справочника «Номенклатура».
Решение
В конфигурациях на БСП есть утилита копирования/очистки настроек пользователя, но в некоторых ситуациях, обработка очищает не все настройки.
Настройки хранятся в хранилище системных настроек, получим выборку и в цикле будем сообщать значения настроек.
Выборка = ХранилищеСистемныхНастроек.Выбрать(); Пока Выборка.Следующий() Цикл ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек + "; КлючОбъекта " + Выборка.КлючОбъекта + "; Пользователь " + Выборка.Пользователь + "; Представление" + Выборка.Представление; ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); КонецЦикла;
В окне сообщение получим примерный текст:
КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
Проанализировав текст дописываем в наш код проверку на ключа объекта и при необходимости будем удалять настройку
Выборка = ХранилищеСистемныхНастроек.Выбрать(); Пока Выборка.Следующий() Цикл Если Найти(Выборка.КлючОбъекта, "Справочник.Номенклатура.Форма.ФормаЭлемента") <> 0 Тогда ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек + "; КлючОбъекта " + Выборка.КлючОбъекта + "; Пользователь " + Выборка.Пользователь + "; Представление" + Выборка.Представление; ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, Выборка.Пользователь); КонецЕсли; КонецЦикла;
У процедуры Удалить() хранилища системных настроек есть 3 обязательных параметра, но в эти параметры можно передать значение Неопределено. В этом случае будут удалены все данные. Код по удалению настроек из последнего листинга можно заменить строкой ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, Неопределено);
Спасибо! Очень помогло!!!
Просьба подсказать какие настрокйи нужно удалить чтобы нормализовалось отображение колонок в таблицах формы.
Спасибо! Очень полезная инфа!