|   |   | 
| 
 | Активизация строки в табличной части УФ | ☑ | ||
|---|---|---|---|---|
| 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) нет, там перезаполнение по запросу идет.
 Сделал через процедуру ПриАктивизацииЯчейки перенаправление на процедуру ПриАктивизацииСтроки | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |