Имя: Пароль:
1C
 
Установить тип "Число" для колонки таблиной части. Обычные формы
0 sqr4
 
14.09.15
15:03
Делаю так
Процедура ДанныеДляОценкиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    ТекСтр = Элемент.ТекущиеДанные;
    ЭлУправления = Колонка.ЭлементУправления;
    Если ТекСтр.Параметр.ВариантНастройки = Перечисления.ВариантыНастройкиПараметровОценкиСтоимостиСопровождения.ЧисловойДиапозон или не ТекСтр.Параметр.УчаствуетВРасчете Тогда
        ЭлУправления.СписокВыбора.Очистить();
        ЭлУправления.КнопкаСпискаВыбора = Ложь;
        ЭлУправленияРежимВыбораИзСписка = Ложь;
        КвалификаторыЧисла =  Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный);
        ОписаниеЧисла = Новый ОписаниеТипов("Число", КвалификаторыЧисла);
        ЭлУправления.ОграничениеТипа = ОписаниеЧисла;    
        ЭлУправления.Значение = ОписаниеЧисла.ПривестиЗначение(ТекСтр.Значение);
        ЭлУправления.ВыбиратьТип = Ложь;
        
    ИначеЕсли  ТекСтр.Параметр.ВариантНастройки = Перечисления.ВариантыНастройкиПараметровОценкиСтоимостиСопровождения.ВыбранноеЗначение Тогда
        //ЭлементыФормы.ДанныеДляОценки.Колонки.Значение.УстановитьЭлементУправления(Тип("ПолеВыбора"));
        КвалификаторыСтроки = Новый КвалификаторыСтроки(150);
        ОписаниеСтроки = Новый ОписаниеТипов("Строка", ,КвалификаторыСтроки);
        ЭлУправления.ОграничениеТипа = ОписаниеСтроки;    
        ЭлУправления.Значение = ОписаниеСтроки.ПривестиЗначение(ТекСтр.Значение);
        ЭлУправления.ВыбиратьТип = Ложь;

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

Т.е обрабатываю событие Выбор для табличной части на форме. Но если попытаться ввести в данную колонку какое то значение, то ничего не получится, поля остается недоступно для редактирования...
1 mistеr
 
14.09.15
16:05
Табличная часть чего? Оттуда тип и берется.
2 sqr4
 
14.09.15
16:13
Табличная часть документа. Тип множественный - Число, Строка, ЛюбаяСсылка. Нужно явно указать тип
3 sqr4
 
14.09.15
16:18
С тем почему не указывается разобрался, ТекСтр.Значение было неясного типа, если явно указать, заполняется. А вот если опуститься на строку ниже в табличной части и ввести какое то строковое значение и затем обратно вернуться  к числовому, он не даст его отредактировать. По возврату ЭлУправления.Значение идет типом строка и что с этим сделать я ни..я не понимаю, уже третий час убил.
4 sqr4
 
14.09.15
16:27
СписокОтветов = ПолучитьСписокВыбораДляПараметра(ТекСтр.Параметр);
        ЭлУправления.СписокВыбора = СписокОтветов;
        ЭлУправления.КнопкаСпискаВыбора = Истина;
        ЭлУправления.РежимВыбораИзСписка = Истина;

Вот это чтото делает, после чего ничего не ввести в поле ввода...
5 Nuobu
 
14.09.15
16:27
ЭлУправления.РежимВыбораИзСписка = Истина;
6 aleks_default
 
14.09.15
16:34
Используй событие ПриАктивацииЯчейки, а не Выбор
7 sqr4
 
14.09.15
16:37
Убрал
ЭлУправления.РежимВыбораИзСписка = Истина;
и взлетело.
(5) Спасибо огромное
8 Nuobu
 
14.09.15
16:37
(7) А кнопочка выбора из списка осталась?
9 sqr4
 
14.09.15
16:37
Хотя не понятно почему вот это

ЭлУправленияРежимВыбораИзСписка = Ложь;
не отрабатывало...
10 sqr4
 
14.09.15
16:38
(8) да
11 Nuobu
 
14.09.15
16:42
(9) В выбор не попадает.
А в остальных случаях стоит "ИначеЕсли".
Поэтому до этой строки "ЭлУправленияРежимВыбораИзСписка = Ложь; "
не доходит.
12 sqr4
 
14.09.15
16:46
бл....яяя, точки нет... ЭлУправленияРежимВыбораИзСписка = Ложь;
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.