Вверх
if mem.t.currentRow()<>0: mem.t.zzDb.transaction() cu_npp=int(mem.t.r.npp) mem.t.prev() cu2_npp=int(mem.t.r.npp) if cu_npp==cu2_npp: cu2_npp+=1 mem.t.si("npp",cu_npp) mem.t.next() mem.t.si("npp",cu2_npp) mem.brUp() mem.t.zzDb.commit() mem.refresh()
Вниз
if mem.t.currentRow()<mem.t.rowCount()-1: mem.t.zzDb.transaction() cu_npp=int(mem.t.r.npp) mem.t.next() cu2_npp=int(mem.t.r.npp) if cu_npp==cu2_npp: cu_npp+=1 mem.t.si("npp",cu_npp) mem.t.prev() mem.t.si("npp",cu2_npp) mem.brDown() mem.t.zzDb.commit() mem.refresh()
Для варианта с уникальным индексом по полю NPP
Вверх
if mem.t.currentRow()<>0: mem.t.zzDb.transaction() cu_npp=int(mem.t.r.npp) mem.t.prev() cu2_npp=int(mem.t.r.npp) tmpnpp=mem.t.kodmax("npp") if cu_npp==cu2_npp: cu2_npp+=1 mem.t.si("npp",tmpnpp) mem.t.next() mem.t.si("npp",cu2_npp) mem.t.prev() mem.t.si("npp",cu_npp) mem.brUp() mem.t.zzDb.commit() mem.refresh()
Вниз
if mem.t.currentRow()<mem.t.rowCount()-1: mem.t.zzDb.transaction() cu_npp=int(mem.t.r.npp) tmpnpp=mem.t.kodmax("npp") mem.t.next() cu2_npp=int(mem.t.r.npp) if cu_npp==cu2_npp: cu_npp+=1 mem.t.si("npp",tmpnpp) mem.t.prev() mem.t.si("npp",cu2_npp) mem.t.next() mem.t.si("npp",cu_npp) mem.brDown() mem.t.zzDb.commit() mem.refresh()