Доработка регистра сведений «Сохраненные настройки».

07.11.19

Разработка - Механизмы платформы 1С

Сортировка и отбор настроек пользователей в отчете.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Форма "ФормаУправленияНастройками" с процедурами и функциями
.epf 12,25Kb
2
2 Скачать (1 SM) Купить за 1 850 руб.

Доработка регистра сведений «Сохраненные настройки». Сортировка и отбор настроек пользователей в отчете.

В отчетах на базе «Универсального отчета» есть возможность выбора настройки других пользователей, но при большом кол-ве пользователей и настроек возникла сложность в навигации.

 

Предлагаю не большие доработки для устранения данной проблемы.

Добавление в форму списка настроек командной панели с функциями:

- Отбор по текущему значению

- Отключить отбор

- Упорядочить по возрастанию

- Упорядочить по убыванию

 

 

 

 

Регистр сведений «Сохраненные настройки» форма «ФормаУправленияНастройками»

Добавляем командную панель

 

 

Процедура КоманднаяПанельТабличноеПолеСписокНастроекОтборПоТекущемуЗначению(Кнопка)
	
	ТекКолонка = ЭлементыФормы.ТабличноеПолеСписокНастроек.ТекущаяКолонка;
	ТекЗначение = ЭлементыФормы.ТабличноеПолеСписокНастроек.ТекущиеДанные[ТекКолонка.Имя]; 
	
	КопияТЗ = Новый ТаблицаЗначений;
	КопияТЗ = СписокНастроек.Скопировать();
	
	КопияТЗ.Очистить();
	
	Отбор = Новый Структура();
	Отбор.Вставить(ТекКолонка.Имя,ТекЗначение);
	МассивЭлементов = СписокНастроек.НайтиСтроки(Отбор);
	
	Для Каждого ЭлементМассива Из МассивЭлементов Цикл 
		НоваяСтрока = КопияТЗ.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока,ЭлементМассива);
	КонецЦикла; 
	
	СписокНастроек = КопияТЗ.Скопировать();
	Заголовок = "Восстановление настройки - " + ТекЗначение;
	ЭлементыФормы.КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.ОтключитьОтбор.Доступность = Истина;	
КонецПроцедуры

 

 

Процедура КоманднаяПанельТабличноеПолеСписокНастроекОтключитьОтбор(Кнопка)
	
	ЗаполнитьНастройки();	
	Заголовок = "Восстановление настройки";
	ЭлементыФормы.КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.ОтключитьОтбор.Доступность = Ложь;	
КонецПроцедуры

Процедура КоманднаяПанельТабличноеПолеСписокНастроекУпорядочитьПоВозрастанию(Кнопка)
	
	ТекКолонка = ЭлементыФормы.ТабличноеПолеСписокНастроек.ТекущаяКолонка;
	СписокНастроек.Сортировать(ТекКолонка.Имя + " ВОЗР");
	
КонецПроцедуры

Процедура КоманднаяПанельТабличноеПолеСписокНастроекУпорядочитьПоУбыванию(Кнопка)
	
	ТекКолонка = ЭлементыФормы.ТабличноеПолеСписокНастроек.ТекущаяКолонка;
	СписокНастроек.Сортировать(ТекКолонка.Имя + " УБЫВ");
	
КонецПроцедуры

Изменения в других процедурах

Процедура УправлениеОтображениемФормы()
	
	Если мВосстановлениеНастройки = Истина Тогда
		
		Заголовок = "Восстановление настройки";
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеДобавить);
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеСкопировать);
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеИзменить);
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеУдалить);
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеЗакончитьРедактирование);
		ЭлементыФормы.ТабличноеПолеСписокНастроек.ТолькоПросмотр = Истина;
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеНастройкиВсехПользователей.Пометка = НастройкиВсехПользователей;
		
		ЭлементыФормы.КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.ОтключитьОтбор.Доступность = Ложь; //RR 05.08.2013
				
	Иначе
		
		Заголовок = "Сохранение настройки";
		ЭлементыФормы.КоманднаяПанельФормы.Кнопки.Удалить(ЭлементыФормы.КоманднаяПанельФормы.Кнопки.ДействиеНастройкиВсехПользователей);
		
		//RR 05.08.2013
		КоманднаяПанельТабличноеПолеСписокНастроек = ЭлементыФормы.КоманднаяПанельТабличноеПолеСписокНастроек;
		Если КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Найти("ОтборПоТекущемуЗначению") <> Неопределено Тогда
			КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Удалить(КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.ОтборПоТекущемуЗначению);
		КонецЕсли;
		Если КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Найти("ОтключитьОтбор") <> Неопределено Тогда
			КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Удалить(КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.ОтключитьОтбор);
		КонецЕсли;
		
		Если КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Найти("УпорядочитьПоВозрастанию") <> Неопределено Тогда
			КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Удалить(КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.УпорядочитьПоВозрастанию);
		КонецЕсли;
		Если КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Найти("УпорядочитьПоУбыванию") <> Неопределено Тогда
			КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.Удалить(КоманднаяПанельТабличноеПолеСписокНастроек.Кнопки.УпорядочитьПоУбыванию);
		КонецЕсли;
		//RR 05.08.2013
		
	КонецЕсли;
	
КонецПроцедуры // УправлениеОтображениемФормы()

 

Результат:

 

 

 

 

 

Универсальный отчет Сохраненные настройки

См. также

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    7459    bayselonarrend    20    

154

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    5947    dsdred    16    

80

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    17674    YA_418728146    26    

71

Перенос данных 1C Механизмы платформы 1С Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    11227    dsdred    44    

130

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    23763    SeiOkami    48    

135

Механизмы платформы 1С Системный администратор Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    18835    human_new    27    

80

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    14735    YA_418728146    7    

166