问题描述
from openerp 导入模型、字段、api、_ 从 openerp.addons.decimal_precision 导入 decimal_precision 作为 dp
class account_analytic_account(models.Model):
_inherit = "account.analytic.account"
recurring_date_due = fields.Date("Expiration date")
recurring_day = fields.Char("Expiration Day")
_defaults = {
'recurring_date_due': lambda *a: time.strftime('%Y-%m-%d')
}
------------- 这是创建发票的工作---------
@api.multi
def recurring_create_invoice(self):
current_date = time.strftime('%Y-%m-%d')
if(self.recurring_date_due,'<=',current_date):
value = super(account_analytic_account,self).recurring_create_invoice()
date_due=self.recurring_date_due
for each in value:
invoice = self.env['account.invoice'].search([('id','=',each)])
invoice.write({'date_due': date_due})
self.recurring_date_due = (datetime.strptime(self.recurring_date_due,'%Y-%m-%d') + relativedelta(months=1)).strftime('%Y-%m-%d')
return value
else:
raise Warning(_("You can no longer generate quotas for this contract."))
-------不行,发票生成日期到了不计算日期不填写
@api.model
def recurring_create_invoice_giganet(self):
value = super(account_analytic_account,self)._cron_recurring_create_invoice()
for each in value:
invoice = self.env['account.invoice'].search([('id',each)])
contract = self.env['account.analytic.account'].search([('code',invoice.origin)])
date_due = (datetime.strptime(self.recurring_date_due,'%Y-%m-%d') + relativedelta(months=1)).strftime('%Y-%m-%d')
self.env.cr.execute('update account_analytic_account set date_due = %s where id = %s',(contract.recurring_date_due,contract.id))
invoice.write({'date_due': date_due})
return value
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)