|
Доступность колонок в зависимости от уровня | ☑ | ||
---|---|---|---|---|
0
ХочуСпец
08.04.12
✎
11:16
|
Предложите нормальное работающее решение. Уже несколько раз задавал этот вопрос, но те решения которые предлагают не работают. Постановка задачи простейшая.
Есть дерево(всего два уровня),состоящая из колонок: Кол1, Кол2, Кол3, Кол4 На верхнем уровне можно редактировать только колонку Кол1 На первом уровне нельзя редактировать Кол1, но можно редактировать колонки Кол2, Кол3. Для решения этой "простейшей" задачи использовал обработчик события "ПриАктивизацииЯчейки" Если ТекСтр.Уровень() = 0 тогда //верхний уровень Если ТекКол.Имя = "Кол1" тогда ТекКол.ТолькоПросмотр = Ложь; ИначеЕсли ТекКол.Имя = "Кол2" тогда ТекКол.ТолькоПросмотр = Истина; ИначеЕсли ТекКол.Имя = "Кол3" тогда ТекКол.ТолькоПросмотр = Истина; КонецЕсли Иначе //первый уровень Если ТекКол.Имя = "Кол1" тогда ТекКол.ТолькоПросмотр = Истина; ИначеЕсли ТекКол.Имя = "Кол2" тогда ТекКол.ТолькоПросмотр = Ложь; ИначеЕсли ТекКол.Имя = "Кол3" тогда ТекКол.ТолькоПросмотр = Ложь; КонецЕсли КонецЕсли Прошу давать только проверенные решения. Ответы типа "используй при активизации строки", "при выводе строки" прошу не давать, уже проверено и не раз. спасибо |
|||
1
zak555
08.04.12
✎
11:20
|
что не работает ?
|
|||
2
ХочуСпец
08.04.12
✎
11:22
|
(1) При отладке
ТекКол.ТолькоПросмотр = Истина; А редактируется без проблем |
|||
3
vicof
08.04.12
✎
11:25
|
А почему толькоПросмотр, а не доступность?
|
|||
4
ХочуСпец
08.04.12
✎
11:27
|
(3) чтобы пользователь мог спозиионироваться на текущей ячейке. Но суть от этого не меняется, пробовал использовать Доступность, тоже самое
Кстати обработчик ПриАктивизацииЯчейки - событие табличного поля |
|||
5
vicof
08.04.12
✎
11:53
|
(4) спорим, у тебя при создании колонок тип не указывается :)
|
|||
6
ХочуСпец
08.04.12
✎
12:03
|
(5) да, колонки я добавляю программно. НО! тип указываю же
НоваяКолонкаИД = Дерево.Колонки.Добавить("Кол1", ОписаниеТиповЧ); НоваяКолонка = ЭлементыФормы.Дерево.Колонки.Добавить("Кол1"); Или же у элементов формы тож надо тип указать? |
|||
7
ХочуСпец
08.04.12
✎
12:07
|
(5) не понимаю как это связано с типом
|
|||
8
vicof
08.04.12
✎
12:10
|
скажи почту, обработку тебе скину, за 5 минут написанную, все работает
|
|||
9
ХочуСпец
08.04.12
✎
12:20
|
||||
10
ХочуСпец
08.04.12
✎
12:29
|
(8) почему при активизации строки а не ячейки?
или разницы особой нет? |
|||
11
ХочуСпец
08.04.12
✎
12:38
|
(8) я не использую метод СоздатьКолонки(), но тип значения у элемента управления колонки у меня задан
|
|||
12
ХочуСпец
08.04.12
✎
12:38
|
в любом случае спасибо
|
|||
13
ХочуСпец
08.04.12
✎
12:43
|
Использовал метод ПриАктивизацииСтроки - аналогично
|
|||
14
ХочуСпец
08.04.12
✎
12:47
|
Все таки более корректно использовать ПриАктивизацииЯчейки
ПриАктивизацииСтроки сработает один раз если встать сначала на одну колонку, потом на другую |
|||
15
vicof
08.04.12
✎
16:44
|
если тип конлонки не указать, ее редактировать нельзя будет
|
|||
16
ХочуСпец
09.04.12
✎
11:08
|
(15) тип указан, редактировтаь можно
|
|||
17
nuctoh
09.04.12
✎
11:24
|
Я для этого использовал другое событие - ПередНачаломРедактирования()
Если уровень не вяжется с именем текущей колонки, Отказ = Истина и все дела |
|||
18
Mort
09.04.12
✎
11:35
|
При выводе строки (получении данных) прятать ненужные ячейки в зависимости от уровня. Тока не все в курсе такой возможности и лепят всякий УГ.
|
|||
19
nuctoh
09.04.12
✎
11:40
|
(18) Ага-ага, хочу чтоб юзер видел значения, но не мог менять. Реши ту же задачу своим способом
|
|||
20
Mort
09.04.12
✎
11:48
|
(19) Сомнения есть что у автора именно такая задача.
|
|||
21
Mort
09.04.12
✎
11:52
|
+(20) Все указывает на то, что в ДЗ нечто вроде результата запроса.
Ну если не так и пользователю нужно видеть эти колонки, то в начале редактирования поставить элементам только просмотр. Потому что метод (17) пропустит вход в редактирование из другой колонки, а там уже переходом по колонкам можно и до запрещенной дойти. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |