Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/jopp289/domains/progmans.net/public_html/engine/modules/show.full.php on line 243 1С, Изменение типа поля (колонки) у табличного поля, Тип поля, Тип колонки, Табличное поле
Заголовок
1С, Изменение типа поля (колонки) у табличного поля, Тип поля, Тип колонки, Табличное поле
//"СчетДт" - поле (колонка) табличного поля с типом "ПланСчетовСсылка.Хозрасчетный"
//"Субконто1Дт", "Субконто2Дт", "Субконто1Дт" поля (колонки) табличного поля с типом "Характеристика.ВидыСубконтоХозрасчетные"
//При изменении "СчетДт" остальным полям присваивается тип в соответствии с типами субконто у счета "СчетДт"

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

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

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