17 мая 2013 г.

Ответы на поисковые запросы


Как программно получить открытую форму в обычном приложении

У обычных и управляемых форм есть свойство "КлючУникальности". Например, если я сначала исполню в обычном приложении такой код:

Форма = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаСписка");
Форма.КлючУникальности = "МойКлюч";
Форма.Заголовок = "Тест ключа уникальности";
Форма.Открыть(); 

то потом, чтобы найти и открыть эту форму среди открытых мне нужно будет выполнить следующий код:

ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаСписка", , ,"МойКлюч"); 
либо
Форма = Справочники.Контрагенты.ПолучитьФормуСписка(, , "МойКлюч");
Форма.Открыть();
 
Если форма с таким ключом уникальности будет отсутствовать, то будет создана новая форма и ей будет присвоен переданный ключ уникальности.

Так же можно воспользоваться глобальным методом ПолучитьОкна. Он возвращает коллекцию окон, которую можно обойти в цикле. У элемента этой коллекции можно получить заголовок окна, форму, а так же активизировать его.

Создание колонок таблицы значений для произвольного документа

Предположу, что здесь необходимо создание пустой таблицы значений с колонками, идентичными колонкам табличной части документа. Для подобной операции лучше воспользоваться методом ВыгрузитьКолонки() табличной части, например:

ТЗ = ДокСсылка.Товары.ВыгрузитьКолонки(); 

В данном примере мы знаем имя табличной части документа. Для создания таблиц для всех имеющихся табличных частей документа можно воспользоваться следующим способом:

СтруктураТЧ = Новый Структура;
Для Каждого мТЧ Из ДокСсылка.Метаданные().ТабличныеЧасти Цикл
 СтруктураТЧ.Вставить(мТЧ.Имя, ДокСсылка[мТЧ.Имя].ВыгрузитьКолонки());
КонецЦикла;


СКД вывод треугольный макет

Не получилось представить себе, что хотел автор этого запроса. Дружище, если вдруг еще зайдешь, отпиши в личку или в комментарии. Интересно, что ты имел ввиду.

Комментариев нет:

Отправить комментарий