Как программно получить открытую форму в обычном приложении
У обычных и управляемых форм есть свойство "КлючУникальности". Например, если я сначала исполню в обычном приложении такой код:
Форма = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаСписка"); Форма.КлючУникальности = "МойКлюч"; Форма.Заголовок = "Тест ключа уникальности"; Форма.Открыть();
то потом, чтобы найти и открыть эту форму среди открытых мне нужно будет выполнить следующий код:
ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаСписка", , ,"МойКлюч");либо
Форма = Справочники.Контрагенты.ПолучитьФормуСписка(, , "МойКлюч"); Форма.Открыть();Если форма с таким ключом уникальности будет отсутствовать, то будет создана новая форма и ей будет присвоен переданный ключ уникальности.
Так же можно воспользоваться глобальным методом ПолучитьОкна. Он возвращает коллекцию окон, которую можно обойти в цикле. У элемента этой коллекции можно получить заголовок окна, форму, а так же активизировать его.
Создание колонок таблицы значений для произвольного документа
Предположу, что здесь необходимо создание пустой таблицы значений с колонками, идентичными колонкам табличной части документа. Для подобной операции лучше воспользоваться методом ВыгрузитьКолонки() табличной части, например:
ТЗ = ДокСсылка.Товары.ВыгрузитьКолонки();
В данном примере мы знаем имя табличной части документа. Для создания таблиц для всех имеющихся табличных частей документа можно воспользоваться следующим способом:
СтруктураТЧ = Новый Структура; Для Каждого мТЧ Из ДокСсылка.Метаданные().ТабличныеЧасти Цикл СтруктураТЧ.Вставить(мТЧ.Имя, ДокСсылка[мТЧ.Имя].ВыгрузитьКолонки()); КонецЦикла;
СКД вывод треугольный макет
Не получилось представить себе, что хотел автор этого запроса. Дружище, если вдруг еще зайдешь, отпиши в личку или в комментарии. Интересно, что ты имел ввиду.
Комментариев нет:
Отправить комментарий