Осторожно! Грабли!
Пару раз наступив, хочу предостеречь коллег.
Стандартная схема:
1. Есть форма с гридом и есть кнопочка, вызывающая какую-то обработку текущей строки
2. При нажатии кнопочки запускается процесс, где в классе (форме) обработки выполняется строка
myTable = args().record();
3. В процессе выводится некий диалог с пользователем.
4. Делается окончательная обработка с использованием курсора myTable
Все работает замечательно... но в один "прекрасный" день пользователь на шаге 3 за какой-то надобностью полез обратно в форму с гридом и перешел на другую запись.
В результате на шаге 4 мы используем уже другую(!!!) запись из myTable.
Поймать эту ошибку сложно, так как возникает редко, а последствия могут быть очень разнообразны.
Решение:
На шаге 2 использовать строку
myTable.data(args.record());
|