Отображение разных табличных частей в одном табличном поле
Обычные формы;

В этой статье я хочу показать, как можно решить задачу переключения одной табличной части на другую в одном и том же табличном поле. Например, есть справочник с двумя табличными частями – «Ответственные» и «ИсторияОтветственных». По умолчанию на форме элемента справочника располагается табличное поле с данными табличной части «Ответственные», а при нажатии на кнопку «История» на командной панели система должна отобразить в этом же табличном поле историю ответственных, то есть соответствующую табличную часть. Повторное нажатие кнопки должно вернуть всё в первоначальный вариант.
Решение.

Процедура КоманднаяПанельИстория(Кнопка)
    Если ЭлементыФормы.ТабличноеПоле.Данные = "Ответственные" Тогда
        ЭлементыФормы.ТабличноеПоле.Данные = "";
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Тип("СправочникТабличнаяЧасть.НазваниеСправочника.ИсторияОтветственных"));
        ОписаниеТипаНовойТЧ = Новый ОписаниеТипов(МассивТипов);
        ЭлементыФормы.ТабличноеПоле.ТипЗначения = ОписаниеТипаНовойТЧ;
        ЭлементыФормы.ТабличноеПоле.Данные = "ИсторияОтветственных";
        ЭлементыФормы.ТабличноеПоле.Значение = ИсторияОтветственных;
        ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
    Иначе
        ЭлементыФормы. ТабличноеПоле.Данные = "";
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Тип("СправочникТабличнаяЧасть.НазваниеСправочника.Ответственные"));
        ОписаниеТипаНовойТЧ = Новый ОписаниеТипов(МассивТипов);
        ЭлементыФормы. ТабличноеПоле.ТипЗначения = ОписаниеТипаНовойТЧ;
        ЭлементыФормы.ТабличноеПоле.Данные = "Ответственные";
        ЭлементыФормы.ТабличноеПоле.Значение = Ответственные;
        ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
    КонецЕсли;
КонецПроцедуры