Имя: Пароль:
1C
1C 7.7
v7: Редактировать Табличное поле 1CPP
0 botman4
 
02.05.17
11:37
Подскажите пож в чем затык, создается Табл Поле, заполняется нужными данные, но при начале редактирования Числа, в ТП стоит число " 0.39" - жму редактировать пишет Ноль. В общем можно изменять только на целое число от 0 - 9
Подскажите Пож, Спасибо.
Мой Код:

    ТЗ=СоздатьОбъект("ТаблицаЗначений");
    ТП=_Форма_.СоздатьЭлементУправления("ТабличноеПоле",Форма.ТаблПолеОдин);
        
    ТП.ЦветФонаВыделения=222233;    
    ТП.РазрешитьПеретаскивание = 0;
    ТП.ИзменятьПозициюКолонок = 0;
    ТП.РазрешитьНачалоПеретаскивания= 0;
    ТП.SetTextMargins(, 0, , 2);

    
    ТзБаза = СоздатьОбъект("ТаблицаЗначений");
    База = СоздатьОбъект("Документ.СистемСебестоимость");    
    База.ВыбратьДокументы();
    Пока База.ПолучитьДокумент() = 1 Цикл
        Если База.КоличествоСтрок() <> 0 Тогда
            База.ВыгрузитьТабличнуюЧасть(ТзБаза);
            Прервать;
        КонецЕсли;
    КонецЦикла;
    
    Для Ы=1 По ТзБаза.КоличествоКолонок() Цикл
        ИмяКолонки = ТзБаза.ПолучитьПараметрыКолонки(Ы);        
        ТП.Колонки.Добавить(ИмяКолонки).Данные=ИмяКолонки;
    КонецЦикла;    
    
    
    ТП.ПоставщикДанных=СоздатьОбъект("ПоставщикДанныхТЗ");
    ТП.ПоставщикДанных.УстТаблицуЗначений(ТзБаза);
    ТаблПолеПриАктивизацииКолонки(ТП);
    
    Для Ы=1 По ТзБаза.КоличествоКолонок() Цикл
        ИмяКолонки = ТзБаза.ПолучитьПараметрыКолонки(Ы);        
        ТП.Колонки.Получить(ы-1).Заголовок = ИмяКолонки;
    КонецЦикла;
    
    ТекКолонка = ТП.Колонки.Получить(0);
    ТекКолонка.Заголовок = "№";
    ТекКолонка.ГоризонтальноеВыравнивание = 1;
    ТекКолонка.Ширина = 5;

    
    ТП.ОбновитьСтроки();
1 Масянька
 
02.05.17
11:53
(0) Тип колонки.
2 botman4
 
02.05.17
12:02
(1) что с типом не так ?
3 botman4
 
02.05.17
13:53
(0) Разобрался сам добавил получение Длина и Точность, в примере этого нету...
Процедура ТаблПолеОдинВыбор(__тп, __стр, __кол, __рег)
    
    Если __рег =3 Тогда

        _тз =__тп.ПоставщикДанных.ТаблицаЗначений;
        _нк =__тп.Колонки.Индекс(__кол) +1;
        _знач =_тз.ПолучитьЗначение(__стр, _нк);

        // ***** Установить длину и точность //          
        Длина    = 0; Точность = 0;        
        _тз.ПолучитьПараметрыКолонки(_нк, , Длина, Точность);
                // ***** Установить длину и точность //          
        __тп.РедактироватьЗначение(__стр, __кол, __рег, _знач, Длина, Точность, , "0x100000");
    КонецЕсли;
КонецПроцедуры