|
v8: Программное создание колонки нет возможности редактирования | ☑ | ||
---|---|---|---|---|
0
Baloven
26.03.13
✎
07:14
|
есть код создания колонки:
Запрос = ПолучитьСправочник("ТипыКонтактов"); ЭлементыФормы.ТаблицаДанных.Значение.Очистить(); Если ЭлементыФормы.ТаблицаДанных.Колонки.Найти("ТипКонтакта")=Неопределено Тогда ЭлементыФормы.ТаблицаДанных.Колонки.Добавить("ТипКонтакта","Тип контакта"); ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Видимость = Истина; ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Доступность = Истина; ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.УстановитьЭлементУправления(Тип("ПолеВвода")); ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Данные = "ТипКонтакта"; ЭлементыФормы.ТаблицаДанных.Значение.Колонки.Добавить("ТипКонтакта",Новый ОписаниеТипов("Строка")); КонецЕсли; Если Запрос.RecordCount > 0 Тогда Пока Запрос.EOF()=0 Цикл Стр=ЭлементыФормы.ТаблицаДанных.Значение.Добавить(); Стр.ID = Формат(Запрос.Fields("ID").Value,"ЧГ=0"); Стр.ТипКонтакта = Запрос.Fields("Name").Value; Запрос.MoveNext(); КонецЦикла; КонецЕсли; колонка добавляется, выводится, но при создании новой строки или попытки редактирования - в созданой колонке отсутсвует возможность редактирования, т.е. если я редактирую строку - то все поля редактировать в строке могу, а именно поле "ТипКонтакта" не редактируется (не работают в этом поле ни какие клавиши), тоже самое и при создании новой строки. перепроверил все реквизиты поля ТипКонтакта и соседнего (специально в конфигураторе создал пустой столбец) и разницы в значениях не нашел, на редактирование у столбца все есть, куды рыть не пойму :( |
|||
1
kosts
26.03.13
✎
07:31
|
(0) Так вроде
Колонка = ЭлементыФормы.ТаблицаДанных.Колонки.Добавить("ТипКонтакта","Тип контакта"); Колонка.Видимость = Истина; Колонка.Доступность = Истина; Колонка.УстановитьЭлементУправления(Тип("ПолеВвода")); Колонка.Данные = "ТипКонтакта"; |
|||
2
kosts
26.03.13
✎
07:32
|
Хотя...
|
|||
3
Baloven
26.03.13
✎
07:35
|
(1)(2) "хотя..." результат тот же :(
|
|||
4
kosts
26.03.13
✎
07:41
|
КС = Новый КвалификаторыСтроки(20);
Массив = Новый Массив; Массив.Добавить(Тип("Строка")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС); ЭлементыФормы.ТаблицаДанных.Значение.Колонки.Добавить("ТипКонтакта", ОписаниеТиповС); |
|||
5
Baloven
26.03.13
✎
07:57
|
(4) результата нет :( этот код у меня был, просто нашел в инете другой пример по сути сокращающий этот (4)
|
|||
6
kosts
26.03.13
✎
07:58
|
(5) Не знаю, у меня работает.
|
|||
7
Baloven
26.03.13
✎
07:58
|
и мой и Ваш вариант определения типа корректно записывает тип для поля
|
|||
8
Baloven
26.03.13
✎
07:59
|
(6) а у меня нет :(
|
|||
9
kosts
26.03.13
✎
07:59
|
|
|||
10
Baloven
26.03.13
✎
08:05
|
блин, ну когда искал инфу ну видел же в одном из обсуждений что очень важно последовательность соблюдать :) и мой и ваш вариант рабочий, только вот такой вариант вашей интерпритации приведет к моей проблеме :)
вопрос на смекалку найдите разницу :) ЭлементыФормы.ТаблицаДанных.Значение.Очистить(); Если ЭлементыФормы.ТаблицаДанных.Колонки.Найти("ТипКонтакта") = Неопределено Тогда // Создание описателя типов для таблицы значений КС = Новый КвалификаторыСтроки(50); Массив = Новый Массив; Массив.Добавить(Тип("Строка")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС); ЭлементыФормы.ТаблицаДанных.Колонки.Добавить("ТипКонтакта", "Тип контакта"); ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Видимость = Истина; ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Доступность = Истина; ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.УстановитьЭлементУправления(Тип("ПолеВвода")); ЭлементыФормы.ТаблицаДанных.Колонки.ТипКонтакта.Данные = "ТипКонтакта"; ЭлементыФормы.ТаблицаДанных.Значение.Колонки.Добавить("ТипКонтакта", ОписаниеТиповС); КонецЕсли; |
|||
11
Baloven
26.03.13
✎
08:06
|
в общем нужно сначала ТЗ описать а потом ТЧ а не наобророт :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |