РазместитьГруппуИндикатораОшибки (БСП)

Автор: 1С
ОбщийМодуль.КонтрольВеденияУчетаСлужебный
1С БСП

Разместить группу индикатора ошибки. Размещает группу индикатора ошибок в форме.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ЗаполнитьГруппуИндикатораОшибки (БСП)

ПриОпределенииПараметровГруппыИндикации (БСП)

Индикатор отчета для Обычных форм

СформироватьОбщуюСтрокуИндикатор (БСП)

Создать группу формы

УстановкаПараметровСеанса (БСП)

ПредставлениеГруппыДоступа (БСП)

ПриОпределенииПараметровКолонкиИндикации (БСП)

ОбъектЯвляетсяГруппой (БСП)

TurboConf 6 - расширение Конфигуратора 1С