Для умного гашения

&НаКлиенте
Функция НайтиВДереве(Имя,Колонка,Значение)
	Рез = Новый Массив;	        
	Если ТипЗнч(Колонка) = Тип("Строка") Тогда
		Для Каждого Стр Из ЭтаФорма["Таб"+Имя+"Дерево"].ПолучитьЭлементы() Цикл
			ПодСтр = Стр.ПолучитьЭлементы();
			Если ПодСтр.Количество()=0 Тогда
				Если Стр[Колонка] = Значение Тогда 
					Рез.Добавить(Стр);
				КонецЕсли;
			Иначе
				Для Каждого пСтр Из ПодСтр Цикл
					Если пСтр[Колонка] = Значение Тогда 
						Рез.Добавить(пСтр);
					КонецЕсли;
				КонецЦикла;
			КонецЕсли;
		КонецЦикла;	
	Иначе		
		Для Каждого Стр Из ЭтаФорма["Таб"+Имя+"Дерево"].ПолучитьЭлементы() Цикл
			ПодСтр = Стр.ПолучитьЭлементы();
			Если ПодСтр.Количество()=0 Тогда
				Буф = Истина;
				Для каждого ТекКолонка из Колонка цикл
					Если Стр[ТекКолонка.Ключ] <> ТекКолонка.Значение Тогда 
						Буф = Ложь;
					КонецЕсли;						
				КонецЦикла;
				Если Буф Тогда
					Рез.Добавить(Стр);
				КонецЕсли;
			Иначе
				Для Каждого пСтр Из ПодСтр Цикл
					Для каждого ТекКолонка из Колонка цикл
						Буф = Истина;
						Для каждого ТекКолонка из Колонка цикл
							Если пСтр[ТекКолонка.Ключ] <> ТекКолонка.Значение Тогда 
								Если ТекКолонка.Ключ = "НомерТТН" Тогда
									ЛевЗнч = пСтр[ТекКолонка.Ключ];
									ПравЗнч = ТекКолонка.Значение;
									Если СтрокуВЧисло(ЛевЗнч) <> СтрокуВЧисло(ПравЗнч) Тогда
										Буф = Ложь;
									КонецЕсли;
								Иначе									
									Буф = Ложь;
								КонецЕсли;
							КонецЕсли;									
						КонецЦикла;
						Если Буф Тогда
							Рез.Добавить(пСтр);
						КонецЕсли;
					КонецЦикла;
				КонецЦикла;
			КонецЕсли;
		КонецЦикла;
		
	КонецЕсли;
	Возврат Рез;
КонецФункции

&НаКлиенте
Функция СтрокуВЧисло(СтрокаСЧислом)	
	МассивСтрок = СтрРазделить(СтрокаСЧислом, "0123456789", Ложь);
	Для Каждого ТекСтрока из МассивСтрок Цикл 
	    СтрокаСЧислом = СтрЗаменить(СтрокаСЧислом, ТекСтрока, "");
	КонецЦикла;	
	СтрокаСЧислом = УбратьЛидирующиеНули(СтрокаСЧислом);
	Возврат СтрокаСЧислом;	
КонецФункции

&НаКлиенте
Функция УбратьЛидирующиеНули(Код) Экспорт    
    _Код = СтрЗаменить(Код, "УТ", "");    
    Если Лев(_Код, 1) = "0" Тогда
        Возврат УбратьЛидирующиеНули(Прав(_Код, СтрДлина(_Код) - 1)); 
    Иначе
        Возврат _Код;
    КонецЕсли;     
КонецФункции