|
Как отменить автоматическую активизацию строки на таблице на форме при заполнении? |
☑ |
0
Механик
03.03.22
✎
16:25
|
На форме обработки есть 3 таблицы значений (Таб1, Таб2 и Таб3). При активизации строки у Таб1 я заполняю некоторыми данными Таб 2 и Таб3. У Таб2 тоже есть событие ПриАктивизацииСтроки() и при тыкании мышкой на Таб2 я заполняю данными Таб3.
Проблема в следующем: если тыкнуть на Таб1 - то заполнится Таб2 и Таб3 по алгоритму. При этом, когда заполняется программно Таб2 - то срабатывает событие ПриАктивизацииСтроки() и начинает заполняться Таб3 алгоритмами из Таб2 (перебивая при этом заполнение алгоритмами из Таб1).
Можно ли как-то определить, когда строка активизируется программно, а когда - вручную? Или как-то по-другому избежать срабатывания алгоритма ПриАктивизацииСтроки() у Таб2, если запущено событие ПриАктивизацииСтроки() из Таб1?
|
|
1
Галахад
гуру
03.03.22
✎
16:43
|
Флаг добавить. АктивенАлгоритм1.
|
|
2
Механик
03.03.22
✎
17:46
|
(1) А когда этот флаг снимать?
|
|
3
Механик
03.03.22
✎
17:51
|
(2) Раскрою мысль: щёлкаю по Таб1, взвожу реквизит АктивенАлгоритм1 = Истина. Далее в событии у Таб2 ПриАктивизацииСтроки() проверяю этот флаг, и если он = Истина, то событие у Таб2 не активизируется. А как быть, если я вручную активизирую строку из Таб2, и хочу, чтобы эта активизация сработала в событии? В какой момент установить АктивенАлгоритм1 = Ложь?
|
|
4
lubitelxml
03.03.22
✎
17:58
|
Попробуй в ПриАктивации у Таб2 делать заполнение Таб3 не сразу, а через ПодключитьОбработчикОжидания() - я так обычно делаю, чтобы успевало отрисоваться (задержки 0.1 хватает)
|
|
5
volodya1122
03.03.22
✎
17:59
|
В процедуре ПриАктивизацииСтроки Таб2
Если АктивенАлгоритм1 = Истина
тогда АктивенАлгоритм1 = Ложь
Возврат
Конесли
|
|
6
Механик
03.03.22
✎
18:11
|
(5) Спасибо, похоже то, что надо.
|
|