НастроитьПредставлениеДанных (БСП)

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

Настроить представление данных. Только для внутреннего использования.

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

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

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

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

ПриОпределенииДоступныхВнешнихСистем (БСП)

ПредставлениеДанныхНажатие (БСП)

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

НастроитьОбменШаг1 (БСП)

ОбработкаКомандыНастроитьРасписаниеВыполненияОбмена (БСП)

РазборПредставленияОбъектаXML (БСП)

ПолучитьОписаниеДанных (БСП)

УчетнаяЗаписьНастроена (БСП)

ПолучитьОбъектыТаблицы (БСП)

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