|
Редактирование значений в таблице значений. | ☑ | ||
---|---|---|---|---|
0
Креатив
31.01.16
✎
09:51
|
БП 3.0. Пишу обработку. На форме создал таблицу значений. В неё загрузил из запроса даннфе. В таблице есть колонка, в которой будут либо вводится значения, либо открываться другая форма(в зависимости от содержимого). Не могу сообразить на какое событие повесить процедуру?
Вроде бы напрашивается приизменении. Но там нет прямого(да и кривого тоже)доступа к данным ячейки. |
|||
1
Креатив
31.01.16
✎
11:35
|
Переформулирую вопрос. В каком обработчике можно получить координаты ячейки, в которую пользователь собирается менять данные?
|
|||
2
Mort
31.01.16
✎
11:36
|
Гм интересно, какое же поле обрабатывает событие "КонтрагентПриИзменении"...
|
|||
3
Mort
31.01.16
✎
11:37
|
Или ты не знаешь как получить текущие данные строки?
|
|||
4
Креатив
31.01.16
✎
11:42
|
(3)Текущие данный выдают всю строку. А мне нужна конкретная ячейка. Кстати, текущая строка есть, а текущей колонки нет.
|
|||
5
Записьдампа
31.01.16
✎
11:45
|
(4) А находишся ты в обработчике, привязанному к нажатию кнопки ОК, я так понимаю?
|
|||
6
Креатив
31.01.16
✎
11:47
|
(5)К таблице.
|
|||
7
Записьдампа
31.01.16
✎
11:47
|
(6) зачем?
|
|||
8
Креатив
31.01.16
✎
11:54
|
(7)Потом занесу введённые значения в регистр сведений.
|
|||
9
Записьдампа
31.01.16
✎
11:56
|
(8) зачем в обработчик таблицы, а не элемента?
|
|||
10
Записьдампа
31.01.16
✎
11:58
|
Который колонка
|
|||
11
фобка
31.01.16
✎
12:04
|
(0) на форме табличное поле, имеющее тип данных ТЗ
(4) ну и норм, тащи имя поля в которое тыкнул.. Если без заморочек, то просто переименуй имен полей чтобы они соответствовали именам ТЗ |
|||
12
Креатив
31.01.16
✎
12:36
|
(9)Попробовал все обработчики, доступные у колонки таблицы. Только ХарактеристикиЗначениеАвтоПодбор перехватывает событие до начала выбора.
(11)Склоняюсь к этому варианту. Через Текущийэлемент получить имя колонки, потом как-то из текущихданных получить значение по имени. |
|||
13
Записьдампа
31.01.16
✎
12:46
|
(12) До начала выбора события перехватываются обработчиками "НачалоВыбора", "НачалоВыбораИзСписка" и "ОкончаниеВводаТекста".
|
|||
14
Креатив
31.01.16
✎
12:52
|
(11)А по-другому и не получается, потому как в текущихданных имена из ТЗ. В этом случае можно получить так.
Элемент.ТекущиеДанные.Свойство(Элемент.ТекущийЭлемент.Имя) (13)В моём случае заходит только в ОкончаниеВводаТекста и то только после того, как в ячейке произведено редактирование. |
|||
15
Записьдампа
31.01.16
✎
13:06
|
(14) Можешь попробовать еще "Ввод" у всей таблицы перехватить.
Если не получится - медицина здесь бессильна. |
|||
16
Креатив
31.01.16
✎
13:18
|
(15У всей таблицы дела лучше обстоят.
|
|||
17
kosts
31.01.16
✎
15:27
|
Как вариант.
Отображаешь кнопку открытия. На неё вешаешь событие открытия твоей формы редактирования. Заменяешь картинку кнопки открытия, например на три точки. В условном оформлении в зависимости от твоих условий для ячейки устанавливаешь или снимаешь "только просмотр" (было бы идеально "редактирование текста", но его в УО нету). Далее в зависимости от типа значения либо редактирование само происходит в ячейке (ведь мы разрешили это в УО). Либо пользователь может нажать кнопку и редактировать в форме. Пока писал, пришла другая мысль. Сделай для разных типов разные колонки. Сгруппируй в одну колонку (вертикально). И в УО отображай нужную колонку в зависимости от типа. Каждую колонку настраиваешь как удобно для редактирования заданного типа. Я б так сделал. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |