首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过自动行动支付SDD (Odoo v13)

通过自动行动支付SDD (Odoo v13)
EN

Stack Overflow用户
提问于 2020-10-07 15:20:30
回答 2查看 309关注 0票数 1

不幸的是,Odoo已经将自动SSD支付从v12移到v13,这对我来说至关重要。因此,我试图通过一个自动的动作来再现这种行为,我想是走了很远的路。

我创建了一个自动操作( Automated ),它监视草稿中的所有发票,如果发票从草稿设置为非草稿,则运行python代码。但不幸的是,当我试图邮寄一张发票时,我就收到了一个错误:

“数据库获取错误ids (('10',)”和“有额外的ids”((10,)),可能是由于以前请求中的类型不一致造成的

据我所知,这与类型转换有关,但由于我是python & odoo新手,我不知道如何正确地转换odoo数据类型。有人有线索吗?

下面是应该执行的python代码:

代码语言:javascript
复制
payment = env['account.payment'].create({
     'payment_method_id' : '6',
     'partner_id': record.partner_id.id,
     'journal_id' :     '10',
     'amount' : record.amount_residual
})

对ids进行双重检查,并链接到正确的条目:

  • payment_method_id '6‘=我的银行account
  • journal_id '10’= SDD支付

下面请查找应用于“自动操作”的当前域。任何提示或帮助都是非常感谢的!

非常感谢。向你问好,克里斯蒂安

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-09 06:25:53

CBfac

many2one字段上,您必须分配ID

码校正:

代码语言:javascript
复制
payment = env['account.payment'].create({
     'payment_method_id' : 6,
     'partner_id': record.partner_id.id,
     'journal_id' : 10,
     'amount' : record.amount_residual
})
票数 1
EN

Stack Overflow用户

发布于 2020-10-14 11:20:29

对于在Odoo v13中需要自动SDD支付的每个人,下面是为我工作的自动操作(还有一个,感谢@Dipen对您的帮助):

account.move触发器: update操作:执行python

域(更新前):

代码语言:javascript
复制
["&","&","&","&",["sdd_paying_mandate_id","=",False],["partner_id.sdd_mandate_ids","!=",False],["type","=","out_invoice"],["invoice_payment_state","=","not_paid"],["state","=","draft"]]

域(更新后):

代码语言:javascript
复制
["&","&","&","&",["sdd_paying_mandate_id","=",False],["partner_id.sdd_mandate_ids","!=",False],["type","=","out_invoice"],["invoice_payment_state","=","not_paid"],["state","!=","draft"]]

要执行的Python代码:

代码语言:javascript
复制
payment = env['account.payment'].create({
     #'name' : env['ir.sequence'].next_by_code('account.payment.customer.invoice'),
     #'payment_type': 'inbound',
     #'partner_type' : 'customer',
     'payment_method_id' : 6,
     'partner_id': record.partner_id.id,
     'journal_id' :     10,
     'amount' : record.amount_residual}).post()

您必须在python代码中更新日志和payment_method in,以匹配您的in,以使操作正常运行。

欢迎任何改进和/或反馈意见。

向你问好,克里斯蒂安

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64247189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档