|
Активизация строки в табличной части УФ | ☑ | ||
---|---|---|---|---|
0
bUbA
18.05.17
✎
09:31
|
На форме есть 2 табличных части, и если в какой-то из них, или в обеих сразу, остается по одной строке, то процедура ПриАктивизацииСтроки не срабатывает. Подскажите, как победить эту проблему? 1С 8.3.9, Документооборот 2.1, УФ
|
|||
1
1Снеговик
гуру
18.05.17
✎
09:39
|
Из другого события проверяй количество строк и вызывай процедуру как при активизации
|
|||
2
bUbA
18.05.17
✎
09:44
|
(1) Не совсем понимаю из какого другого события и в какой момент это делать... можно пояснить?
|
|||
3
Ц_У
18.05.17
✎
09:45
|
(0) как узнал, что не работают
|
|||
4
bUbA
18.05.17
✎
09:52
|
(3) При одиночном клике на табличную часть, в данном случае, я не попадаю в процедуру активизации строки, т.к. там всего одна строка и она уже выделена цветом как активная. Как вариант, использовать обработчик ожидания, но может есть более красивый способ?
|
|||
5
cw014
18.05.17
✎
09:54
|
Возьми "ПриАктивизацииЯчейки" - может поможет
|
|||
6
Ц_У
18.05.17
✎
09:58
|
(4) активизировать по умолчанию галка стоит?
|
|||
7
bUbA
18.05.17
✎
10:06
|
(6) да, на одной из двух ТЧ, с которыми и работаю
|
|||
8
Ц_У
18.05.17
✎
10:07
|
(7) сними и проверь еще раз
|
|||
9
bUbA
18.05.17
✎
10:10
|
(8) не помогло
|
|||
10
bUbA
18.05.17
✎
10:11
|
(5) попробовал и ПриАктивизацииЯчейки, и ПриАктивизацииПоля, эти процедуры отрабатывают, но почему то они срабатывают и в тот момент, когда я активизируюсь на строке другой таблицы
|
|||
11
bUbA
18.05.17
✎
10:12
|
хотя тут уже можно сравнивать текущий элемент формы с элементом из параметров процедуры
|
|||
12
Ц_У
18.05.17
✎
10:12
|
(10) одна процедура на обе ТЧ?
|
|||
13
Остап Сулейманович
18.05.17
✎
10:14
|
(4) "я не попадаю в процедуру активизации строки, т.к. там всего одна строка и она уже выделена цветом как активная."
Так она уже когда-то активировалась. И процедура выполнилась (ну или должна была выполниться). Вам чего точно нужно? |
|||
14
bUbA
18.05.17
✎
10:21
|
(12) на форме есть 2 ТЧ - ЗадачиМне и ЗадачиМнеПринятые, когда я добавляю процедуру ЗадачиМнеПринятыеПриАктивизацииПоля() или ЗадачиМнеПринятыеПриАктивизацииЯчейки(), то я в них почему то попадаю при активизации из двух табличных частей, поэтому и надо добавить проверку на текущий элемент формы
|
|||
15
bUbA
18.05.17
✎
10:23
|
(13) в зависимости от выбранной строки выводятся данные по текущей задаче на отдельный элемент формы, а если строка в ТЧ одна, то данные по этой задаче не выводятся, т.к. она уже считается активной. Для адекватной работы тут требуется минимум 2 строки
|
|||
16
bUbA
18.05.17
✎
10:38
|
А может есть какой-нибудь метод, который отлавливает нажатие кнопки мышки?
|
|||
17
Ёпрст
18.05.17
✎
11:05
|
(0) Ну, тип того слепи, что ле..
Лень поверять, ч там не активизируется у тебя. Перем Вася_ТекущаяСтрока; &НаКлиенте Процедура Подключаемый_ТоварыПриАктивизацииСтроки() Если Элементы.Товары.ТекущиеДанные=Неопределено Тогда Возврат; КонецЕсли; //тут сравнивай с перменной Если Элементы.Товары.ТекущиеДанные<>Вася_ТекущаяСтрока Тогда //тут твори, че те надо, строка поменялась Вася_ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ТоварыПриАктивизацииСтроки(Элемент) ПодключитьОбработчикОжидания("Подключаемый_ТоварыПриАктивизацииСтроки", 0.1, Истина); КонецПроцедуры |
|||
18
bUbA
18.05.17
✎
11:27
|
(17) не прокактит, т.к. я уже не попадаю в процедуру ТоварыПриАктивизацииСтроки
|
|||
19
h-sp
18.05.17
✎
11:41
|
(18) а эта процедура ТоварыПриАктивизацииСтроки точно подцеплена к событию ПриАктивизацииСтроки ??
|
|||
20
Ёпрст
18.05.17
✎
11:46
|
(180 У тебя всегда 1 строка ?
|
|||
21
Ёпрст
18.05.17
✎
11:48
|
ну и событие сработает, даже при открытии с одной строкой
|
|||
22
bUbA
18.05.17
✎
12:08
|
(19) Точно
(20) не всегда, но когда остается 1 строка, начинаются такие вот проблемы. Тут форма с таблицами открывается всего 1 раз при запуске 1ски и закрывается вместе с ней, процедуру при открытии не получится задействовать |
|||
23
Ёпрст
18.05.17
✎
12:15
|
(22) У тебя всегда она хотя бы один раз, да выполнится. Либо при первом открытии формы, либо руками, когда в ТЧ тыкнешь.
Этого достаточно, чтоб обработка ожидания сработала. Усё. |
|||
24
Ёпрст
18.05.17
✎
12:15
|
Ты код то воткни, проверить 2 минуты, млин
|
|||
25
bUbA
18.05.17
✎
12:23
|
Код я воткнул, проверил
Есть 2 таблицы. Допустим в первой таблице 2 строки, во второй 1 строка. Если пользователь выбрал сначала строку из 1й ТЧ, ему вывелась полная информация по задаче на дополнительный элемент формы, потом он захотел посмотреть данные по задаче из 2й ТЧ, но они уже не выведутся, т.к. строка там всегда считается активной. Более того, если он обратно захочет просмотреть первую задачу из 1й ТЧ, то ему надо будет активизировать сначала вторую строку, потом первую. Не знаю получилось ли более-менее понятно разъяснить задачу |
|||
26
Ёпрст
18.05.17
✎
12:27
|
(25) Для каждой ТЧ подключил обработку ожидания ?
|
|||
27
Ёпрст
18.05.17
✎
12:27
|
или только для одной ?
|
|||
28
Ёпрст
18.05.17
✎
12:28
|
+ в обработке ожидания можно смотреть еще, на активный элемент формы.
|
|||
29
bUbA
18.05.17
✎
12:50
|
Для того, чтобы обработчик ожидания сработал, надо для начала попасть в процедуру ПриАктивизацииСтроки, а этого не происходит...
|
|||
30
bUbA
18.05.17
✎
12:50
|
т.к. строка однажды уже была активизирована и висит как активная
|
|||
31
Ёпрст
18.05.17
✎
13:02
|
(29) Она всегда сработает, при открытии
|
|||
32
Ёпрст
18.05.17
✎
13:03
|
твой обработчик и запустится. Чего еще тебе надобно ?
|
|||
33
Ёпрст
18.05.17
✎
13:04
|
При желании, можешь еще в ОбработкаОповещения пинать, что нужно
|
|||
34
ejikbeznojek
18.05.17
✎
13:19
|
Может если строки удаляются программно, можно дописать что если строка 1, то отменить выделение?
|
|||
35
bUbA
18.05.17
✎
14:38
|
(34) нет, там перезаполнение по запросу идет.
Сделал через процедуру ПриАктивизацииЯчейки перенаправление на процедуру ПриАктивизацииСтроки |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |