| 
    
            
         
         | 
    
  | 
Установить тип "Число" для колонки таблиной части. Обычные формы | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        бл....яяя, точки нет... ЭлУправленияРежимВыбораИзСписка = Ложь;     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |