Ядро автоматически связывает курсоры dynalink'ом. Если хотите избежать автоматического связывания, то вместо инициализации t1 через
X++:
t1 = element.args().record();
используйте
X++:
Table1 t1Caller = element.args().record();
t1 = Table1::find( t1Caller)
если уникального ключа в явном виде нет, то ищите по RecId. При этом запись нужно выбрать на update.
Вобще для тех целей, что вы хотите достигнуть, лучше использовать паттерн RunBase.