ed1=zzFirstDateOfMonth(acnt.s.date) ed2=zzLastDateOfMonth(acnt.s.date) keyPrim=u"#закрытие_месяца#расчет10/13" mbp_in_use=const.mbp_in_use mbp_cnt_cr=const.mbp_cnt_cr date=ed2 cdate=dtoc(date) rnd=const.rnd zzCursor("""delete FROM move where date>='%(ed1)s' and date<='%(ed2)s' and cr_cnt='%(mbp_cnt_cr)s' and prim like '%(keyPrim)s' """ % locals()) m_mbp_in_use=num(zzCursor("""select sum( case when _db_cnt='%(mbp_in_use)s'=_cr_cnt='%(mbp_in_use)s' then 0 when _db_cnt='%(mbp_in_use)s' then summa else -summa end ) as summa from move0 where date<='%(date)s' and '%(mbp_in_use)s' in (_db_cnt,_cr_cnt) """ % locals()).r.summa) m_mbp_cnt_cr=num(zzCursor("""select sum( -case when _db_cnt='%(mbp_cnt_cr)s'=_cr_cnt='%(mbp_cnt_cr)s' then 0 when _db_cnt='%(mbp_cnt_cr)s' then summa else -summa end ) as summa from move0 where date<='%(date)s' and '%(mbp_cnt_cr)s' in (_db_cnt,_cr_cnt) """ % locals()).r.summa) t_mbp_in_use=num(zzCursor("""select sum(round(qt*price,%(rnd)s)) as summa from infs where date<='%(date)s' and cnt='%(mbp_in_use)s' """ % locals()).r.summa) if m_mbp_in_use!=t_mbp_in_use: zzMess(u"""Сальдо на конец периода (<b>%(cdate)s</b>)<br> по балансу (<b>%(m_mbp_in_use)s</b>)<br> и <br> по учету ТМЦ (<b>%(t_mbp_in_use)s</b>)<br> <font color=red size=+2>Не совпадают!!!</font> <br> Для расчета будут использованы данные баланса! """ % locals()) must_be=round(m_mbp_in_use/2,rnd) delta=must_be-m_mbp_cnt_cr if not insert("move",{"SUMMA":delta,"DATE":ed2,"DB_CNT":"26/","CR_CNT":mbp_cnt_cr,"PRIM":keyPrim}): wasError=u"Ошибка при записи результата расчета: %s" % lastError()