X++:
TEST_Table TEST_Table1;
    TEST_Table TEST_Table2;
    ;
    
    TEST_Table2.Field1 = 'testValue'; // может быть поэтому?
    TEST_Table2.insert();
    
    info(strfmt("TEST_Table1.isTmp() = %1", TEST_Table1.isTmp()));
    info(strfmt("TEST_Table2.isTmp() = %1", TEST_Table2.isTmp()));
    TEST_Table1.setTmp();
    TEST_Table2.setTmp();
    
    info(strfmt("TEST_Table1.isTmp() = %1", TEST_Table1.isTmp()));
    info(strfmt("TEST_Table2.isTmp() = %1", TEST_Table2.isTmp()));
    TEST_Table2.data(TEST_Table1);
    info(strfmt("TEST_Table1.isTmp() = %1", TEST_Table1.isTmp()));
    info(strfmt("TEST_Table2.isTmp() = %1", TEST_Table2.isTmp()));X++:
TEST_Table1.isTmp() = false
TEST_Table2.isTmp() = false
TEST_Table1.isTmp() = true
TEST_Table2.isTmp() = false
TEST_Table1.isTmp() = true
TEST_Table2.isTmp() = false