1С, Изменение типа поля (колонки) у табличного поля, Тип поля, Тип колонки, Табличное поле
//"СчетДт" - поле (колонка) табличного поля с типом "ПланСчетовСсылка.Хозрасчетный"
//"Субконто1Дт", "Субконто2Дт", "Субконто1Дт" поля (колонки) табличного поля с типом "Характеристика.ВидыСубконтоХозрасчетные"
//При изменении "СчетДт" остальным полям присваивается тип в соответствии с типами субконто у счета "СчетДт"
Процедура РегистрСведенийСписокСчетДтПриИзменении(Элемент)
СчетДт = Элемент.Значение;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Неопределено;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Неопределено;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Неопределено;
Если СчетДт.ВидыСубконто.Количество() > 0 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Новый(СчетДт.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
Если СчетДт.ВидыСубконто.Количество() > 1 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Новый(СчетДт.ВидыСубконто[1].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
Если СчетДт.ВидыСубконто.Количество() > 2 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Новый(СчетДт.ВидыСубконто[2].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
КонецПроцедуры
//"Субконто1Дт", "Субконто2Дт", "Субконто1Дт" поля (колонки) табличного поля с типом "Характеристика.ВидыСубконтоХозрасчетные"
//При изменении "СчетДт" остальным полям присваивается тип в соответствии с типами субконто у счета "СчетДт"
Процедура РегистрСведенийСписокСчетДтПриИзменении(Элемент)
СчетДт = Элемент.Значение;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Неопределено;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Неопределено;
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Неопределено;
Если СчетДт.ВидыСубконто.Количество() > 0 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто1Дт"] = Новый(СчетДт.ВидыСубконто[0].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
Если СчетДт.ВидыСубконто.Количество() > 1 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто2Дт"] = Новый(СчетДт.ВидыСубконто[1].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
Если СчетДт.ВидыСубконто.Количество() > 2 Тогда
ЭтаФорма.ЭлементыФормы.РегистрСведенийСписок.ТекущиеДанные["Субконто3Дт"] = Новый(СчетДт.ВидыСубконто[2].ВидСубконто.ТипЗначения.Типы()[0]);
КонецЕсли;
КонецПроцедуры