Имя: Пароль:
1C
 
Упр форма 8,3. Флажок в колонке таблице на форме не появляется.Создаю программно
0 e053nk
 
27.09.18
11:34
Что то лыжи не едут.
Есть реквизит формы "ТЗДанных" -изначально без колонок, на самой форме Таблица, связанная с "ТЗДанных". Пытаюсь создать колонки и запихнуть в одну из них флажок-выводится в этой колонке число,флажка нет
Код примерно такой:
ТЗ= ДанныеФормыВЗначение(Объект.ТЗДанных, Тип("ТаблицаЗначений"));
    ЕСли ТЗ.Колонки.Количество()=0 тогда
        МассивРеквизитов = Новый Массив;
        //Создадим реквизиты ТЗ
        МассивРеквизитов.Очистить();
        
        ТЗ.Колонки.Добавить("Флаг",Новый ОписаниеТипов("Число"));
        ТЗ.Колонки.Добавить("НомерДокумента",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("ДатаПечати",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("ДатаДок",Новый ОписаниеТипов("Дата"));
        ТЗ.Колонки.Добавить("ПериодНач",Новый ОписаниеТипов("Дата"));
        ТЗ.Колонки.Добавить("ПериодОкон",Новый ОписаниеТипов("Дата"));
        ТЗ.Колонки.Добавить("КороткоеИмя",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("Имя",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("НомДог",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("ДатаДог",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("НДС",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("ИНН",Новый ОписаниеТипов("Строка"));  
        ТЗ.Колонки.Добавить("Фирма",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("КодКлиента",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("Номер1",Новый ОписаниеТипов("Строка"));
        ТЗ.Колонки.Добавить("Документ1с");
    конецесли;

//Далее следует заполнение данными вТЗ.
//затем отображение формируем

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

Что не так делаю?
1 s03
 
27.09.18
11:36
"Флаг",Новый ОписаниеТипов("Число")"
2 e053nk
 
27.09.18
11:38
(1) не понял? у меня то же самое написано
3 e053nk
 
28.09.18
00:47
Удалил код из модуля,переписал все кусками заново-заработало. Визуально все тоже самое, что и  было написано. Причину так и не понял