ПараметрыФормыНазначаемогоОбъекта (БСП)

Автор: 1С
ОбщийМодуль.ДополнительныеОтчетыИОбработкиПовтИсп
БСП

Параметры формы назначаемого объекта. Настройки для формы назначаемого объекта.

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

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

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

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

ПодключенныеОбъектыМетаданных (БСП)

ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов (БСП)

ЗаблокироватьРеквизиты (БСП)

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

ПрисоединитьОбластьИЗаполнитьПараметры (БСП)

ПодготовитьСтруктуруПараметровВывода (БСП)

ТипКомандыВызовКлиентскогоМетода (БСП)

ПараметрыФормы (БСП)

ПечатныеФормыПоОбъектам (БСП)

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