Изменение видимости колонок табличной части по параметру свойству таблицы "ПланыВидовРасчета"

Алгоритм позволяет управлять видимостью колон в зависимости от значения в данной колонке. Например, если в строке, в колонке "Вид расчета" введен объект "Прогул", то колонка "Параметр" должна изменить видимость. Не используются функ опции.

&НаКлиенте
Процедура ТаблицаНачисленийВидРасчетаПриИзменении(Элемент)
	
	//Псевдо таблица значений = "ТаблицаНачислений"
	//Изменяемая колонка  = "ВидРасчета"
	//Постановка задачи : Если используется вид расчета у которого нету периода действия, то колонку "Параметр" нужно скрыть.
	
	///////////////////////////////////////////////////////////
	//Вариант с использованием метаданных
	
	//Условия для выбора типа данных, так как если ипользуется несколько видов расчета, при изменении процедура "ТаблицаНачисленийВидРасчетаПриИзменении" будет вызываться 2 раза, один после выбора типа, второй после выбора значения типа. 
	СтрокаТабличнойЧасти = Элементы.ТаблицаНачислений.ТекущиеДанные;
	Если СтрокаТабличнойЧасти.ВидРасчета.Код = "" Тогда
		Возврат;
	КонецЕсли;
	
	ИспользованиеПериодаДействия = ПроверкаМетаданные(СтрокаТабличнойЧасти.ВидРасчета);
	
	Если ИспользованиеПериодаДействия Тогда
		Элементы.ТаблицаНачисленийПараметр.Видимость = Истина;
	Иначе Элементы.ТаблицаНачисленийПараметр.Видимость = Ложь; 
	КонецЕсли;
	
	///////////////////////////////////////////////////////////
	//Вариант без серверных вызовов, но каждый элементы придеться вбивать вручную
	МассивОбъектовБезПериодаДействия = Новый Массив; 
	МассивОбъектовБезПериодаДействия.Добавить("Прогул");
	ВыбранноеЗначение = Элемент.ТекстРедактирования;
		
	Если НЕ МассивОбъектовБезПериодаДействия.Найти(ВыбранноеЗначение) = Неопределено Тогда
		Элементы.ТаблицаНачисленийПараметр.Видимость = Ложь;
	Иначе Элементы.ТаблицаНачисленийПараметр.Видимость = Истина; 
	КонецЕсли;
	
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверкаМетаданные(Элемент)

	//На сервере, элемент формы автоматически преобразуется в объект.
	МетаданныеЭлемента = Элемент.Метаданные();
	
	Если МетаданныеЭлемента.ИспользованиеПериодаДействия Тогда 
		Возврат Истина; 
	Иначе 
		Возврат Ложь;    
	КонецЕсли;
		
КонецФункции
Орфографическая ошибка в функ: функ
Орфографическая ошибка в Псевдо: Псевдо
Орфографическая ошибка в придеться: придеться
OneTracker - трекер учета рабочего времени программиста 1С

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

СформироватьОписаниеКолонок (БСП)

ИнициализироватьСвойстваТабличныхЧастей (БСП)

Расчет суммы в строке табличной части

ЭтоПланВидовРасчета (БСП)

ЭтоПланВидовХарактеристик (БСП)

Модератору