Имя: Пароль:
1C
1С v8
Програмно страницы(вкладки) и динамический список. 8.3
0 Kroll_1c
 
10.02.17
08:16
И так есть задача, условно есть динамический список с отборами и т.д. Допустим это справочник номенклатура.Нужно в окне список номенклатуры создать столько вкладок сколько видов номенклатуры (виды могу добавляться или убавляться) .И в каждой вкладке динамический список со своим отбором...
цикл
    ЭлементСтраница1 =Элементы.Добавить(наим, Тип("ГруппаФормы"),                    Элементы.КучаСтраниц);
    ЭлементСтраница1.Вид = ВидГруппыФормы.Страница;
    ЭлементСтраница1.Заголовок = ВыборкаДетальныеЗаписи.наименование;
    ЭлементФормы1 = Элементы.Добавить("Эл"+наим , Тип("ТаблицаФормы"), ЭлементСтраница1);
    ЭлементФормы1.Отображение = ОтображениеТаблицы.Список;
    ЭлементФормы1.ПутьКДанным = "Список";
    ЭлементФормы1.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
    ЭлементФормы1.ИзменятьСоставСтрок = Ложь;  
конецикла
Конечно не работает. Нашел на просторах как формировать польностью свою тз, но там добавляют колонки и т.д. Я уверен что можно сделать проще, ведь элемент "список" уже определен у него надо подменять лишь параметр.
1 Kroll_1c
 
10.02.17
09:36
Переписал на основе инфостарта .Но все равно ошибку выдает на строке.  эТаблица = Элементы.Добавить(ЗаголовокТЗ, Тип("ТаблицаФормы"), Элементы.КучаСтраниц); Не могу понять в чем причина.


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

        Запрос = Новый Запрос;
        Запрос.Текст =     
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РегистраторСтандартов.Обозначение,
        |    РегистраторСтандартов.Наименование,
        |    РегистраторСтандартов.ДатаВвода,
        |    РегистраторСтандартов.Автор,
        |    РегистраторСтандартов.Документ
        |ИЗ
        |    Справочник.РегистраторСтандартов КАК РегистраторСтандартов
        |ГДЕ
        |    РегистраторСтандартов.Процесс = &Процесс";
    
    Запрос.УстановитьПараметр("Процесс", Процесс);
    

        РезультатЗапроса = Запрос.Выполнить();
        ТЗ = РезультатЗапроса.Выгрузить();
        
        Для Каждого Колонка Из ТЗ.Колонки Цикл
            ТипыЗначений = Новый Массив;
            Для каждого тТип из Колонка.ТипЗначения.Типы() Цикл
                Если тТип <> Тип("Null") Тогда
                    ТипыЗначений.Добавить(тТип);
                КонецЕсли;
            КонецЦикла;
            МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(ТипыЗначений), ИмяТЗ));
        КонецЦикла;

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

        Для Каждого Колонка Из ТЗ.Колонки Цикл
            НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), эТаблица);
            НовыйЭлемент.ПутьКДанным = ИмяТЗ + "." + Колонка.Имя;
            НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
            НовыйЭлемент.КнопкаОчистки = Ложь;
            НовыйЭлемент.КнопкаВыбора = Ложь;
            НовыйЭлемент.РедактированиеТекста = Ложь;
            НовыйЭлемент.КнопкаОткрытия = Истина;
  
        КонецЦикла;
        
        ЭтаФорма.ЗначениеВРеквизитФормы(ТЗ, ИмяТЗ);        
КонецПроцедуры
2 Lexey_
 
10.02.17
09:38
(1) пока не прочитаешь текст ошибки, не поймешь
3 Kroll_1c
 
10.02.17
09:41
(2) Пока просто написано
       эТаблица = Элементы.Добавить(ЗаголовокТЗ, Тип("ТаблицаФормы"), Элементы.КучаСтраниц);
по причине:
Недопустимое значение параметров.
4 Lexey_
 
10.02.17
09:42
(3) всех?
5 Kroll_1c
 
10.02.17
09:47
(4) Не информативные ошибки, нет ни номера параметра, ничего.
6 Lexey_
 
10.02.17
09:48
(5) возможно, элемент с именем ЗаголовокТЗ уже есть на форме
7 Lexey_
 
10.02.17
09:49
(5) и Элементы.КучаСтраниц сверь тип с СП
8 Kroll_1c
 
10.02.17
10:36
(7) Да косяк в этом. Сейчас добавляю к Группе КучеСтраниц.Группу "страница".Без ошибок, добавляю таблицу уже в родитель указываю "Страница" , так же ошибка...
9 Kroll_1c
 
10.02.17
10:37
ТаблицаФормы почему-то настойчиво не хочет иметь родителя "страница".