GoodERP

80 lines
2.9KB

  1. from odoo import fields, models, api
  2. class SellReceipt(models.TransientModel):
  3. _name = 'sell.receipt'
  4. _description = '销售收款一览表'
  5. c_category_id = fields.Many2one('core.category', '客户类别')
  6. partner_id = fields.Many2one('partner', '客户')
  7. user_id = fields.Many2one('res.users', '销售员')
  8. type = fields.Char('业务类别')
  9. date = fields.Date('单据日期')
  10. warehouse_id = fields.Many2one('warehouse', '仓库')
  11. order_name = fields.Char('单据编号')
  12. sell_amount = fields.Float('销售金额', digits='Amount')
  13. discount_amount = fields.Float('优惠金额',
  14. digits='Amount')
  15. amount = fields.Float('成交金额', digits='Amount')
  16. partner_cost = fields.Float('客户承担费用', digits='Amount')
  17. receipt = fields.Float('已收款', digits='Amount')
  18. balance = fields.Float('应收款余额', digits='Amount')
  19. receipt_rate = fields.Float('回款率(%)')
  20. note = fields.Char('备注')
  21. def view_detail(self):
  22. '''销售收款一览表查看明细按钮'''
  23. self.ensure_one()
  24. order = self.env['sell.delivery'].search(
  25. [('name', '=', self.order_name)])
  26. if order:
  27. if not order.is_return:
  28. view = self.env.ref('sell.sell_delivery_form')
  29. else:
  30. view = self.env.ref('sell.sell_return_form')
  31. return {
  32. 'name': '销售发货单',
  33. 'view_mode': 'form',
  34. 'view_id': False,
  35. 'views': [(view.id, 'form')],
  36. 'res_model': 'sell.delivery',
  37. 'type': 'ir.actions.act_window',
  38. 'res_id': order.id,
  39. }
  40. def generate_reconcile_order(self):
  41. """新建核销单,应收冲预收,客户为所选行客户"""
  42. self.ensure_one()
  43. view = self.env.ref('money.reconcile_order_form')
  44. # 如果已存在该客户核销单,则查看核销单,否则创建
  45. order = self.env['reconcile.order'].search([
  46. ('partner_id', '=', self.partner_id.id),
  47. ('business_type', '=', 'adv_pay_to_get')])
  48. if order:
  49. return {
  50. 'name': '核销单',
  51. 'view_mode': 'form',
  52. 'views': [(view.id, 'form')],
  53. 'res_model': 'reconcile.order',
  54. 'type': 'ir.actions.act_window',
  55. 'res_id': order.id,
  56. }
  57. order = self.env['reconcile.order'].create({
  58. 'partner_id': self.partner_id.id,
  59. 'business_type': 'adv_pay_to_get',
  60. })
  61. order.onchange_partner_id()
  62. return {
  63. 'name': '核销单',
  64. 'view_mode': 'form',
  65. 'views': [(view.id, 'form')],
  66. 'res_model': 'reconcile.order',
  67. 'type': 'ir.actions.act_window',
  68. 'res_id': order.id,
  69. }
上海开阖软件有限公司 沪ICP备12045867号-1