Имя: Пароль:
1C
 
УФ. Ноль целых в динамической ТЧ
0 nAPACEHAK
 
18.03.19
09:29
Доброго

Где то запутался. подскажите плз

УФ.ТЧ создается динамически из ТЗ

в ТЗ тип колонки - число 15.3
в ТЧ ввожу, например, 1.5 - в ячейке 1.5
ввожу 0.5 - в ячейке становится 5. При чем "0," вводится. как только ввожу "5" то значение в ячейке преобразуется просто в "5"
если вводить "1,5" то значение остается "1,5"

* привернул при создании: НовыйЭлементФормы.КнопкаОткрытия = Истина;
Кнопка открытия "квадратиками" а не "вводом числа"

что прикрутить забыл?

Спасибо
1 aleks_default
 
18.03.19
09:55
"что прикрутить забыл?" - скорее что-те перекрутил, с масками, форматом и тп
2 spiller26
 
18.03.19
09:59
(0) Смотри в сторону событий.
3 nAPACEHAK
 
18.03.19
10:04
(1) ни масок ни форматов ничего такого нет

НовыйЭлементФормы = Элементы.Добавить("ТЗ"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлементФормы.ПутьКДанным = "ТЗ." + Колонка.Имя;
НовыйЭлементФормы.Заголовок = ПолучитьЗаголовок (Колонка.Имя);
НовыйЭлементФормы.Ширина = 10;
НовыйЭлементФормы.ВыбиратьТип = Ложь;
;;НовыйЭлементФормы.КнопкаОткрытия = Истина;
;; МассивТипов = новый Массив;
;;МассивТипов.Добавить(Тип ("Число"));
;;ОписаниеТипов = Новый ОписаниеТипов (МассивТипов);
;; НовыйЭлементФормы.ОграничениеТипа.ПривестиЗначение(Колонка);
НовыйЭлементФормы.ТолькоПросмотр = НЕ ЕстьПраваНаРедактирование();
4 nAPACEHAK
 
18.03.19
10:06
в колонке из ТЗ это
http://prntscr.com/mzby5d
5 nAPACEHAK
 
18.03.19
10:33
может так?

Как созданной ячейке присвоить тип "число"?
я так понимаю он у меня сейчас совсем не число, судя по кнопке http://prntscr.com/mzc82f
кстати, на скрине, как только введу цифру после запятой, то "0," сотрется и будет просто целое число. хотя если первое не "0" то все вводится все (см.строка выше)
6 Вафель
 
18.03.19
10:37
формат
7 aleks_default
 
18.03.19
10:44
НовыйЭлементФормы.ОграничениеТипа.ПривестиЗначение(Колонка); Колонка это ж реквизит формы, что ты хочешь тут получить?
8 nAPACEHAK
 
18.03.19
10:46
(6) не получается с Формат
он "0," убирает как только ввожу дробную часть. Там еще значения то не введено что бы что то форматировать

Например, хочу ввести 0,53
ввожу 0, - в ячейке "0,"; нажимаю 5 - в ячейке "5", хотя ввод еще не закончен
9 nAPACEHAK
 
18.03.19
10:47
(7) не. не обращай внимания, жест отчаяния ))))
10 aleks_default
 
18.03.19
10:49
(9)У тебя там весь код такой. Описание типов создал а присвоить забыл
11 nAPACEHAK
 
18.03.19
10:50
(7) хочу что бы в этот реквизит вводилось число а не пойми что ((

http://prntscr.com/mzcgx9 как в этом реквизите объекта ТЧ
(9) не. то что с ;; там не смотрите
12 nAPACEHAK
 
18.03.19
10:54

ТЗ_рез = РезультатЗапросаПоЦФО(); // рез.выгрузить ()

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

// **************

ЭлементТЗ = Элементы.ТЗ;
Для Каждого Колонка ИЗ ТЗ_рез.Колонки Цикл
        Если Колонка.Имя = "ВидРабот" Тогда
// ...
Иначе            
            НовыйЭлементФормы = Элементы.Добавить("ТЗ"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ);
            НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
            НовыйЭлементФормы.ПутьКДанным = "ТЗ." + Колонка.Имя;
            НовыйЭлементФормы.Заголовок = ПолучитьЗаголовок (Колонка.Имя);
            НовыйЭлементФормы.Ширина = 10;
            НовыйЭлементФормы.ВыбиратьТип = Ложь;
            НовыйЭлементФормы.ТолькоПросмотр = НЕ ЕстьПраваНаРедактирование();
        КонецЕсли;


вот создание
13 aleks_default
 
18.03.19
11:13
Может у тебя результат запроса что-то не то возвращает. Там тип у этой колонки составной
14 nAPACEHAK
 
18.03.19
11:21
вроде заработало. Поправьте если не так сделал

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

        НоваяКолонка.ТипЗначения = Колонка.ТипЗначения; //вот эта строка добавлена

    КонецЦикла;  
15 nAPACEHAK
 
18.03.19
11:21
(13) результат возвращает тип этой колонки - число 15.3.
нет, не составной
16 aleks_default
 
18.03.19
11:23
(15)Уверен?:)
17 nAPACEHAK
 
18.03.19
12:46
(16) да.
там и составному неоткуда взяться, и результат запроса обходится - изменяется таблица
http://prntscr.com/mze2lm


...
Иначе
    Заголовок = ИдентификаторЗаголовка(ДД.Дата);
    Таб.Колонки.Добавить("План" + Заголовок, Новый ОписаниеТипов ("Число",,, Новый КвалификаторыЧисла (15,3)), Формат(ДД, "ДФ=dd.MM.yy"));
КонецЕсли;     
...

Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Выборка.Следующий() Цикл
        Стр = Таб.Добавить();
        Стр.ВидРабот = Выборка.ВидРабот;
        Стр.ЕдИзм = Выборка.ЕдИзм;
        
        ВыборкаДет = Выборка.Выбрать();
        Пока ВыборкаДет.Следующий() Цикл
            Если ВыборкаДет.ТипЗаписи () = ТипЗаписиЗапроса.ДетальнаяЗапись Тогда
                Заголовок = "План" + ИдентификаторЗаголовка(ВыборкаДет.Дата);
                Стр[Заголовок] = ВыборкаДет.План;    
            КонецЕсли;
        КонецЦикла;
        
    КонецЦикла;
...
Возврат Таб