0
dsdred
18.06.13
✎
12:52
|
У меня стоит задача по документу сохранять настройки ширины и видимость колонок.
В документе несколько таблиц.
Первым делом я собрал дерево из таблиц и колонок, но вод подтянуть ширину не получается. Подскажите пожалуйста напровление для копания.
Код построения дерева:
МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Документ.НазваниеДокумента.");
// Таблица значений, содержащая таблицы указанного объекта.
Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
//Создать дерево значений
Дерево = Новый ДеревоЗначений();
Дерево.Колонки.Добавить("Поле1",Новый ОписаниеТипов(Новый ОписаниеТипов("Булево")),"Пометка",10);
Дерево.Колонки.Добавить("Поле2",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150)),"Наименование колонки",30);
Дерево.Колонки.Добавить("Поле3",Новый ОписаниеТипов(Новый ОписаниеТипов("Булево")),"Видимость",10);
Дерево.Колонки.Добавить("Поле4",Новый ОписаниеТипов("Число",,Новый КвалификаторыЧисла(10,2)),"Ширина",15);
Дерево.Колонки.Добавить("Поле5",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150)),"Родитель",30);
Для Каждого Таблица Из Таблицы Цикл
Если Таблица.Назначение<>"Основная" Тогда
ПоляТаблицы = Таблица.Поля;
//Создать элемент (узел) верхнего уровня
НовСтрДерева = Дерево.Строки.Добавить();
ИмяТабл=НГО_МодульОбщегоНазначения.ОтрезаемЛишнее("Документ.НазваниеДокумента.","",СокрЛП(Таблица.ИмяТаблицы));
НовСтрДерева.Поле1 = Истина;
НовСтрДерева.Поле2 = ИмяТабл;
НовСтрДерева.Поле3 = Истина;
НовСтрДерева.Поле4 = 0;
НовСтрДерева.Поле5 = "";
Для Каждого Поле Из ПоляТаблицы Цикл
//Создать подчиненный элемент (узел) к строке "НовСтрДерева"
НовПодчСтрДерева = НовСтрДерева.Строки.Добавить();
НовПодчСтрДерева.Поле1 = Истина;
НовПодчСтрДерева.Поле2 = Поле.ИмяПоля;
НовПодчСтрДерева.Поле3 = Истина; <-Видимость Колонки должна попадать сюда
НовПодчСтрДерева.Поле4 = 0; <-Ширина Колонки должна попадать сюда
НовПодчСтрДерева.Поле5 = ИмяТабл;
КонецЦикла;
ИндексыТаблицы = Таблица.Индексы;
Для Каждого Индекс Из ИндексыТаблицы Цикл
// Просмотр свойств индекса.
КонецЦикла;
КонецЕсли;
КонецЦикла;
ЭлементыФормы.Настройки.Значение=Дерево;
ЭлементыФормы.Настройки.СоздатьКолонки();
//ЭлементыФормы.Настройки.Поле5.Видимость=Ложь;
|
|