dbf=zzDbfOdbc("d:/temp/hr/base/") cu=dbf.select(u"""select count(1) as c1 from spr_kad""",cp="cp1251") count=0 for x in cu: count=int(x['C1']) pb=zzProgressBar(barText=u"Импорт", barMax=count+1) cu=dbf.select("""select * from spr_kad""",cp="cp1251") transaction() dbfError=False for x in cu: if pb.step(interval=1000): lastError=u"Прервано пользователем" dbfError=True break dic={} dic['UID']=x['TN'] dic['NAME']=x['NAME'] dic['BIRTHDATE']=x['BIRTH'] if gi("people","uid",dic['UID'],"uid")==dic['UID']: rez=update("people",dic) else: rez=insert("people",dic) if not rez: lastError=u"Ошибка при записи (%s)" % MyApp.myDataBase.lastError dbfError=True break pb.close() if dbfError: zzMess(u"При импорте произошла ошибка <b>%s</b>!!! Необходимо повторить!!!" % lastError) else: commit()