Вверх
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()