Скрыть "лишние" субконто на поле формы

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. roofless 23 10.05.16 15:23 Сейчас в теме
БП 3.0

Добавляю новый документ с ТЧ.
Поля ТЧ: счет затрат, субконто1, субконто2, субконто3, подразделение.

На форме при выборе счета мне нужно скрыть "лишние" субконто, если таковые имеются (если на счете их 1 или 2).
Нашел в других формах документов, например "КорректировкаПоступления" подобные механизмы, но легко перенести их не удается.
Например код
&НаСервере
Процедура УстановитьУсловноеОформлениеВидимость()
	
	// Субконто БУ и НУ
	// Первое субконто не скрываем, чтобы не мигала колонка в разных строках.
	
	Для Сч = 1 По 3 Цикл
		
		ЭлементУО = УсловноеОформление.Элементы.Добавить();
		КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТабличнаяЧасть1Субконто" + Сч);
		
		ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
		"Объект.ТабличнаяЧасть1.Субконто" + Сч + "Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
		
		ЭлементУО.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
		
	КонецЦикла;
	
	
	// Субконто БУ
	// Первое субконто не скрываем, чтобы не мигала колонка в разных строках.
	
	ЭлементУО = УсловноеОформление.Элементы.Добавить();
	КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТабличнаяЧасть1Субконто1");
	
	ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
	"Объект.ТабличнаяЧасть1.Субконто1Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
	ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
	"Объект.ТабличнаяЧасть1.Субконто2Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
	ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
	"Объект.ТабличнаяЧасть1.Субконто3Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
	
	ЭлементУО.Оформление.УстановитьЗначениеПараметра("Видимость", Истина);
	
	ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет);
	
	ЭлементУО.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
	
	ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<не требуется>'"));

	ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
	
КонецПроцедуры
Показать

успешно отрабатывает, но в строки таблицы эти поля не добавляются.
В результате имею ошибку в процедуре БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы.СчетЗатрат, СтрокаТаблицы, ПоляОбъекта, Истина, ЗначенияСубконто) тк объект СтрокаТаблицы не содержит поля Субконто1Доступность.

Уже затупил совсем, может кто-то кратко рассказать алгоритм решения подобных задач, возможно я пошёл не тем путем или у меня какой-то шаг пропущен.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. марксист 10.05.16 15:33 Сейчас в теме
а что реквизит в тч так и называется "Субконто1Доступность"?
+
3. roofless 23 10.05.16 15:44 Сейчас в теме
(2) марксист, это 99% типовой код из формы дока Корректировка поступления БП 3.0. меняю только название тч. если есть третья бухия под рукой, то можно посмотреть
+
4. starik-2005 3036 10.05.16 15:50 Сейчас в теме
(3) roofless, смысл этого кода в том, что при установке флагов СубконтоХДоступность поле становится доступным, а при их снятии - недоступным, отображающим слова "<не требуется>". Т.е. эти колонки должны быть в табличной части (по крайней мере через реквизит формы).
roofless; +1
5. марксист 10.05.16 15:59 Сейчас в теме
(3) roofless, starik-2005 тебе написал,что я имел ввиду
roofless; +1
6. roofless 23 10.05.16 16:21 Сейчас в теме
(5) марксист, (4) starik-2005, спасибо, всё верно, добавил нужные колонки
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот