Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не редактируется поле табличного документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
irbis_triffle
Добрый вечер всем.
Не могу решить проблему - уже клаву из-за неё поломал((.

Есть форма внешней обработки, на ней табличное поле типа ДеревоЗначений с данными "СписокТоваров" (есть такой же реквизит типа ДеревоЗначений).
С таблицей работали, все было нормально, пока не понадобилось создать несколько динамических колонок: создаю колонки (скажем Цена1 и Цена2), выставляю им одноименные "Данные", такие же колонки добавляю в инициализацию реквизита СписокТоваров и соответственно заполняю запросами. На форме программно-созданные колонки отображаются и выводят то, что в них попало из запроса.. НО!! редактировать значения в этих колонках невозможно! То есть вход в содержимое ячейки происходит, но на нажатие любых клавиш, кроме ЕНТЕР И ESC, реакции нет((

Подскажите в какую сторону копать?
Заранее благодарен.

PS "Управление торговлей для Украины", редакция 2.3. 1С:Предприятие 8.1 (8.1.15.14)
PPS ТолькоПросмотр для колонки и для элемента управления выставлены в ЛОЖЬ
Ardi
Выложите на форум эту обработку. Ну или упрощённую зацензуреную.
irbis_triffle
Спасибо за быстрый ответ)
Проблема была в следующем: на момент создания колонок табличного поля реквизит (ДеревоЗначений) не был инициализирован и ничего не работало - перенес инициализацию перед созданием колонок - все работает как надо!!! Поясните, если не трудно, в чем суть такого затыка? По-сути, мне кажется, разницы быть не должно, т.к. свойство "Данные" - типа строка и затрагивается лишь в момент выполнения функции "ЗаполнитьЗначениеСвойств" для вывода результата запроса в реквизит..

Инициализация реквизита:
Процедура ИнициализироватьДеревоНоменклатуры()
    
    СписокТоваров = Новый ДеревоЗначений;
    СписокТоваров.Колонки.Добавить("Артикул",                Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный)));
        ...
    Для Каждого ТипЦены ИЗ СписокТиповЦен Цикл
        нКолонка = СписокТоваров.Колонки.Добавить(СтрЗаменить(ТипЦены.Значение, " ", "_"),    Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2, ДопустимыйЗнак.Неотрицательный)));
    КонецЦикла;
        ...
КонецПроцедуры

Создание колонки:
Процедура СформироватьКолонкиВСпискеТоваров()
    
    Для Каждого ТипЦены ИЗ СписокТиповЦен Цикл
        
        НазваниеКолонки = СтрЗаменить(ТипЦены.Значение, " ", "_");    
            
        ЭлементыФормы.СписокТоваров.Колонки.Добавить(НазваниеКолонки, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2, ДопустимыйЗнак.Неотрицательный)));
        ЭлементыФормы.СписокТоваров.Колонки[НазваниеКолонки].Данные = НазваниеКолонки;
        ЭлементыФормы.СписокТоваров.Колонки[НазваниеКолонки].Доступность = Истина;
        ЭлементыФормы.СписокТоваров.Колонки[НазваниеКолонки].Ширина = 4;
        
    КонецЦикла;
    
КонецПроцедуры


PS Вот именно за это я люблю этот форум - пока писал вопрос - придумал ответ))) icon_beer17.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.