GoodERP
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

448 lines
24KB

  1. <?xml version="1.0"?>
  2. <odoo>
  3. <data>
  4. <!-- 根菜单 -->
  5. <menuitem id="menu_money_root" name="资金" groups='group_cashier' web_icon="money,static/description/icon.png" sequence='600'/>
  6. <menuitem id="menu_money_manage" name="单据" parent="menu_money_root" sequence="1"/>
  7. <menuitem id="menu_money_setting" name="设置" parent="menu_money_root" sequence="3"/>
  8. <menuitem id='bank_account_menu' name='账户' action='core.bank_account_action'
  9. parent='menu_money_setting' sequence='1'/>
  10. <menuitem id="menu_pay_method" action="pay_method_action"
  11. parent="menu_money_setting" sequence="2"/>
  12. <menuitem id='service_menu' name='收支项' action='core.service_action'
  13. parent='menu_money_setting' groups='core.service_groups' sequence='3'/>
  14. <menuitem id='settle_mode_menu' name='结算方式' action='core.settle_mode_action'
  15. parent='menu_money_setting' groups='core.settle_mode_groups' sequence='4'/>
  16. <menuitem id='customer_menu' action='core.customer_action' name="客户"
  17. parent='menu_money_setting' sequence='5'/>
  18. <menuitem id='vendor_menu' action='core.vendor_action' name="供应商"
  19. parent='menu_money_setting' sequence='6'/>
  20. <!--收/付款单list-->
  21. <record id="money_order_list" model="ir.ui.view">
  22. <field name="name">money.order.list</field>
  23. <field name="model">money.order</field>
  24. <field name="arch" type="xml">
  25. <list string="收付款单" decoration-info='state == "draft"' decoration-muted= 'state == "cancel"' >
  26. <field name="name" string="单据编号" optional="show"/>
  27. <field name="date" optional="show"/>
  28. <field name="partner_id" optional="show"/>
  29. <field name="amount" sum="合计" optional="show"/>
  30. <field name="state" optional="show"/>
  31. <field name="to_reconcile" sum="未核销总额" optional="show"/>
  32. <button name="create_reconcile" type='object' string="核销"
  33. invisible="to_reconcile==0"/>
  34. </list>
  35. </field>
  36. </record>
  37. <!--收/付款单form-->
  38. <record id="money_order_form" model="ir.ui.view">
  39. <field name="name">money.order.form</field>
  40. <field name="model">money.order</field>
  41. <field name="arch" type="xml">
  42. <form string="收付款单">
  43. <header>
  44. <button name="money_order_done" invisible="state!='draft'" string="确认"
  45. type="object" class="oe_highlight" groups='money.group_money_manager'/>
  46. <button name="money_order_draft" invisible="state!='done'" string="撤销确认"
  47. type="object" groups='money.group_money_manager'/>
  48. <button name="action_cancel" invisible="state!='draft'" string="作废"
  49. type="object"/>
  50. <field name="state" widget="statusbar"/>
  51. </header>
  52. <sheet>
  53. <div class="oe_title">
  54. <h1>
  55. <field name="name" class="oe_inline" readonly="1"/>
  56. </h1>
  57. </div>
  58. <group>
  59. <group>
  60. <field name="date" readonly="state!='draft'"/>
  61. <field name="partner_id"
  62. readonly="state!='draft'"
  63. options="{'no_open': True, 'no_create': True}"/>
  64. <field name="bank_name"
  65. invisible="context.get('default_get', 0)"
  66. readonly="state!='draft'"
  67. required="context.get('default_pay', 0)"/>
  68. <field name="bank_num"
  69. invisible="context.get('default_get', 0)"
  70. readonly="state!='draft'"
  71. required="context.get('default_pay', 0)"/>
  72. <field name="currency_id"
  73. groups='base.group_multi_currency'/>
  74. </group>
  75. <group>
  76. <field name="line_ids" nolabel="1" colspan='2' readonly="state!='draft'">
  77. <list string="Money Order Lines" editable="bottom">
  78. <field name="bank_id" optional="show"/>
  79. <field name="amount" sum="合计" optional="show"/>
  80. <field name="currency_id" groups='base.group_multi_currency' optional="show"/>
  81. <field name="mode_id" groups='core.settle_mode_groups' optional="show"/>
  82. <field name="number" groups='core.settle_mode_groups' optional="show"/>
  83. <field name="note" optional="show"/>
  84. </list>
  85. </field>
  86. </group>
  87. </group>
  88. <button name="write_off_reset" invisible="state!='draft'" string="核销行金额清零" type="object" class="oe_right"/>
  89. <field name="source_ids" groups='money.reconcile_groups' readonly="state!='draft'">
  90. <list string="Source Order Lines" create="false" editable="bottom">
  91. <field name="name" readonly='1' force_save="1" optional="show"/>
  92. <field name="category_id" readonly='1' force_save="1" optional="show"/>
  93. <field name="date" readonly='1' force_save="1" optional="hide"/>
  94. <field name="invoice_date" readonly='1' force_save="1" optional="show"/>
  95. <field name="date_due" readonly='1' force_save="1" optional="show"/>
  96. <field name="amount" readonly='1' sum="合计" force_save="1" optional="show"/>
  97. <field name="reconciled" readonly='1' sum="合计" force_save="1" optional="show"/>
  98. <field name="to_reconcile" readonly='1' sum="合计" force_save="1" optional="show"/>
  99. <field name="this_reconcile" sum="合计" optional="show"/>
  100. </list>
  101. </field>
  102. <field name="note" placeholder="备注信息……"/>
  103. <group>
  104. <group>
  105. <field name="discount_amount" groups="money.reconcile_groups" readonly="state!='draft'"/>
  106. <field name="discount_account_id" required="discount_amount!=0"
  107. options="{'no_open': True, 'no_create': True}"
  108. groups="money.reconcile_groups"
  109. readonly="state!='draft'"/>
  110. </group>
  111. <group>
  112. <field name="advance_payment" groups="money.reconcile_groups"/>
  113. <field name="voucher_id"/>
  114. </group>
  115. </group>
  116. <group>
  117. <group>
  118. <field name="create_uid" readonly="1" string="制单人"/>
  119. <field name="approve_uid" readonly="1"/>
  120. </group>
  121. <group>
  122. <field name="create_date" readonly="1" string="录单时间"/>
  123. <field name="approve_date" readonly="1"/>
  124. </group>
  125. </group>
  126. </sheet>
  127. <chatter/>
  128. </form>
  129. </field>
  130. </record>
  131. <!--收/付款单 search 视图-->
  132. <record id="money_order_search" model="ir.ui.view">
  133. <field name="name">money.order.search</field>
  134. <field name="model">money.order</field>
  135. <field name="arch" type="xml">
  136. <search string="收/付款单">
  137. <field name="name"/>
  138. <field name="partner_id"/>
  139. <field name="amount"/>
  140. <field name="state"/>
  141. <filter name="draft" string="草稿" domain="[('state','=','draft')]"/>
  142. <filter name="done" string="已确认" domain="[('state','=','done')]"/>
  143. <group expand="0" string="分组">
  144. <filter name="by_partner" string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
  145. <filter name="by_day" string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
  146. <filter name="by_currency" string="币种" domain="[]" context="{'group_by':'currency_id'}"/>
  147. </group>
  148. </search>
  149. </field>
  150. </record>
  151. <!-- 收款管理 action -->
  152. <record id="money_receipt_action" model="ir.actions.act_window">
  153. <field name="name">收款单</field>
  154. <field name="type">ir.actions.act_window</field>
  155. <field name="res_model">money.order</field>
  156. <field name="view_mode">list,form,graph</field>
  157. <field name='context'>{'type':'get', 'default_get': 1, 'default_pay': 0}</field>
  158. <field name="domain">[('type','=','get')]</field>
  159. <field name="help" type="html">
  160. <p class="oe_view_nocontent_create">
  161. 点击创建收款单
  162. </p>
  163. </field>
  164. </record>
  165. <!-- 付款管理 action -->
  166. <record id="money_payment_action" model="ir.actions.act_window">
  167. <field name="name">付款单</field>
  168. <field name="type">ir.actions.act_window</field>
  169. <field name="res_model">money.order</field>
  170. <field name="view_mode">list,form</field>
  171. <field name='context'>{'type':'pay', 'default_get': 0, 'default_pay': 1}</field>
  172. <field name="domain">[('type','=','pay')]</field>
  173. <field name="help" type="html">
  174. <p class="oe_view_nocontent_create">
  175. 点击创建付款单
  176. </p>
  177. </field>
  178. </record>
  179. <!--结算单list-->
  180. <record id="money_invoice_list" model="ir.ui.view">
  181. <field name="name">money.invoice.list</field>
  182. <field name="model">money.invoice</field>
  183. <field name="arch" type="xml">
  184. <list string="结算单" editable='top' create="false" delete="false">
  185. <field name="state" column_invisible="1"/>
  186. <field name="date" readonly="1" optional="show"/>
  187. <field name="name" readonly="1" optional="show"/>
  188. <button name="find_source_order" type="object" string="查看原始单据" icon="fa-search"
  189. invisible="is_init or name == '.'"/>
  190. <field name="partner_id" readonly="1" optional="show"/>
  191. <field name="category_id" readonly="1" optional="show"/>
  192. <field name="voucher_id" readonly="1" optional="show"/>
  193. <field name="cogs_voucher_id" readonly="1" optional="hide"/>
  194. <field name="currency_id"
  195. readonly="1" optional="hide"/>
  196. <field name="amount" sum="金额" readonly="1" optional="show"/>
  197. <button name="amount_add" type='object' string="+" invisible="state!='done'"/>
  198. <button name="amount_sub" type='object' string="-" invisible="state!='done'" />
  199. <field name="reconciled" sum="已核销金额" readonly="1" optional="show"/>
  200. <field name="to_reconcile" sum="未核销金额" readonly="1" optional="show"/>
  201. <field name="tax_amount" sum="税额" readonly="1" optional="hide"/>
  202. <button name="tax_add" type='object' string="+" invisible="state!='done'"/>
  203. <button name="tax_sub" type='object' string="-" invisible="state!='done'"/>
  204. <button name="money_invoice_done" invisible="state!='draft'" string="确认收票" type="object"/>
  205. <button name="money_invoice_draft" invisible="state!='done'" string="撤销收票" type="object"/>
  206. <field name="auxiliary_id" optional="hide"/>
  207. <field name="bill_number" optional="show"/>
  208. <field name="invoice_date" optional="show"/>
  209. <field name="pay_method" readonly="1" optional="hide"/>
  210. <field name="date_due" optional="show"/>
  211. <field name="note" optional="hide"/>
  212. <field name="overdue_days" readonly="1" optional="show"/>
  213. <field name="overdue_amount" sum="逾期金额" readonly="1" optional="show"/>
  214. <field name="is_init" invisible="1" optional="show"/>
  215. </list>
  216. </field>
  217. </record>
  218. <!--手工结算单list-->
  219. <record id="money_handwork_invoice_list" model="ir.ui.view">
  220. <field name="name">money.invoice.handwork.list</field>
  221. <field name="model">money.invoice</field>
  222. <field name="priority">17</field>
  223. <field name="arch" type="xml">
  224. <list string="结算单" decoration-info='state == "draft"'>
  225. <field name="state" invisible="1" optional="show"/>
  226. <field name="date" readonly="1" optional="show"/>
  227. <field name="name" readonly="1" optional="show"/>
  228. <field name="partner_id" readonly="1" optional="show"/>
  229. <field name="category_id" readonly="1" optional="show"/>
  230. <field name="voucher_id" readonly="1" optional="show"/>
  231. <field name="currency_id"
  232. readonly="1" optional="hide"/>
  233. <field name="amount" sum="金额" readonly="1" optional="show"/>
  234. <field name="reconciled" sum="已核销金额" readonly="1" optional="show"/>
  235. <field name="to_reconcile" sum="未核销金额" readonly="1" optional="show"/>
  236. <field name="tax_amount" sum="税额" readonly="1" optional="hide"/>
  237. <field name="auxiliary_id" optional="hide"/>
  238. <field name="bill_number" optional="show"/>
  239. <field name="invoice_date" optional="show"/>
  240. <field name="pay_method" readonly="1" optional="hide"/>
  241. <field name="date_due" optional="show"/>
  242. <field name="note" optional="hide"/>
  243. <field name="overdue_days" readonly="1" optional="show"/>
  244. <field name="overdue_amount" sum="逾期金额" readonly="1" optional="show"/>
  245. </list>
  246. </field>
  247. </record>
  248. <!--手工结算单form-->
  249. <record id="money_handwork_invoice_form" model="ir.ui.view">
  250. <field name="name">money.invoice.handwork.form</field>
  251. <field name="model">money.invoice</field>
  252. <field name="arch" type="xml">
  253. <form string="结算单">
  254. <header>
  255. <button name="money_invoice_done" invisible="state!='draft'" string="确认" type="object" class="oe_highlight"/>
  256. <button name="money_invoice_draft" invisible="state!='done'" string="撤销" type="object"/>
  257. <field name="state" widget="statusbar"/>
  258. </header>
  259. <group>
  260. <group>
  261. <field name="date" readonly="state != 'draft'"/>
  262. <field name="partner_id" readonly="state != 'draft'"/>
  263. <field name="amount" readonly="state != 'draft'"/>
  264. <field name="tax_amount" readonly="state != 'draft'"/>
  265. <field name="bill_number" readonly="state != 'draft'"/>
  266. <field name="invoice_date" readonly="state != 'draft'"/>
  267. </group>
  268. <group>
  269. <field name="date_due"/>
  270. <field name="category_id" required="1" readonly="state != 'draft'"/>
  271. <field name="auxiliary_id" readonly="state != 'draft'"/>
  272. <field name="currency_id"
  273. groups='base.group_multi_currency' readonly="state != 'draft'"/>
  274. <field name="note"/>
  275. </group>
  276. </group>
  277. </form>
  278. </field>
  279. </record>
  280. <!--结算单 form 视图-->
  281. <record id="money_invoice_form" model="ir.ui.view">
  282. <field name="name">money.invoice.form</field>
  283. <field name="model">money.invoice</field>
  284. <field name="arch" type="xml">
  285. <form string="结算单">
  286. <header>
  287. <button name="money_invoice_done" invisible="state!='draft'" string="确认" type="object" class="oe_highlight"/>
  288. <button name="money_invoice_draft" invisible="state!='done'" string="撤销" type="object" class="oe_highlight"/>
  289. <field name="state" widget="statusbar"/>
  290. </header>
  291. <sheet>
  292. <group>
  293. <group>
  294. <field name="date" readonly="state != 'draft'"/>
  295. <field name="partner_id" readonly="state != 'draft'"/>
  296. <field name="amount" readonly="state != 'draft'"/>
  297. <field name="tax_amount" readonly="state != 'draft'"/>
  298. <field name="bill_number" readonly="state != 'draft'"/>
  299. <field name="invoice_date" readonly="state != 'draft'"/>
  300. </group>
  301. <group>
  302. <field name="date_due"/>
  303. <field name="category_id" required="1" readonly="state != 'draft'"/>
  304. <field name="auxiliary_id" readonly="state != 'draft'"/>
  305. <field name="currency_id" readonly="state != 'draft'" groups='base.group_multi_currency'/>
  306. <field name="handwork" invisible="1"/>
  307. <field name="note" required="handwork" readonly="state!='draft'"/>
  308. </group>
  309. </group>
  310. </sheet>
  311. </form>
  312. </field>
  313. </record>
  314. <record id="money_invoice_pivot" model="ir.ui.view">
  315. <field name="name">money.invoice.pivot</field>
  316. <field name="model">money.invoice</field>
  317. <field name="arch" type="xml">
  318. <pivot>
  319. <field name="category_id" type="row"/>
  320. <field name="to_reconcile" type="measure"/>
  321. </pivot>
  322. </field>
  323. </record>
  324. <!--结算单 search 视图-->
  325. <record id="money_invoice_search" model="ir.ui.view">
  326. <field name="name">money.invoice.search</field>
  327. <field name="model">money.invoice</field>
  328. <field name="arch" type="xml">
  329. <search string="结算单">
  330. <field name="partner_id"/>
  331. <field name="name"/>
  332. <field name="category_id"/>
  333. <field name="amount"/>
  334. <filter name="done" string="已开票" domain="[('invoice_date','!=',False)]"/>
  335. <filter name="draft" string="未开票" domain="[('invoice_date','=',False)]"/>
  336. <filter name="to_reconcile" string="未核销" domain="[('state','=','done'),('to_reconcile','>',0)]"/>
  337. <filter name="by_partner" string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
  338. <filter name="by_category" string="类别" domain="[]" context="{'group_by':'category_id'}"/>
  339. <filter name="by_month" string="单据日期" domain="[]" context="{'group_by':'date:month'}"/>
  340. <filter name="by_due" string="到期日" domain="[]" context="{'group_by':'date_due:month'}"/>
  341. </search>
  342. </field>
  343. </record>
  344. <!-- 结算单 action -->
  345. <record id="money_invoice_action" model="ir.actions.act_window">
  346. <field name="name">结算单</field>
  347. <field name="type">ir.actions.act_window</field>
  348. <field name="view_id" ref="money_invoice_list"/>
  349. <field name="res_model">money.invoice</field>
  350. <field name="view_mode">list,pivot</field>
  351. </record>
  352. <!-- 查看结算单, 用于客户上的按钮显示未核销发票 -->
  353. <record id="money_invoice_mini_list" model="ir.ui.view">
  354. <field name="name">money.invoice.list</field>
  355. <field name="model">money.invoice</field>
  356. <field name="arch" type="xml">
  357. <list string="欠款记录" create="false" delete="false">
  358. <field name="date"/>
  359. <field name="name"/>
  360. <button name="find_source_order" type="object" string="查看原始单据" icon="fa-search"
  361. invisible="is_init or name=='.'"/>
  362. <field name="currency_id"
  363. optional="hide"/>
  364. <field name="amount"/>
  365. <field name="to_reconcile" sum="未核销金额" />
  366. <field name="overdue_days" />
  367. <field name="overdue_amount" sum="逾期金额" />
  368. <field name="pay_method" />
  369. <field name="date_due" />
  370. <field name="bill_number" />
  371. <field name="invoice_date"/>
  372. <field name="note" />
  373. <field name="is_init" invisible="1"/>
  374. </list>
  375. </field>
  376. </record>
  377. <record id="action_view_money_invoice" model="ir.actions.act_window">
  378. <field name="name">欠款记录</field>
  379. <field name="type">ir.actions.act_window</field>
  380. <field name="view_id" ref="money_invoice_mini_list"/>
  381. <field name="res_model">money.invoice</field>
  382. <field name="view_mode">list</field>
  383. </record>
  384. <!-- 手工结算单 action -->
  385. <record id="money_invoice_handwork_action" model="ir.actions.act_window">
  386. <field name="name">手工结算单</field>
  387. <field name="type">ir.actions.act_window</field>
  388. <field name="res_model">money.invoice</field>
  389. <field name="domain">[('handwork', '=', True)]</field>
  390. <field name="context">{'default_handwork':True}</field>
  391. <field name="view_mode">list,form</field>
  392. <field name="view_ids"
  393. eval="[(5, 0, 0),
  394. (0, 0, {'view_mode': 'list', 'view_id': ref('money_handwork_invoice_list')}),
  395. (0, 0, {'view_mode': 'form', 'view_id': ref('money_handwork_invoice_form')}),
  396. ]"/>
  397. </record>
  398. <!-- 销售发票 action -->
  399. <record id="money_invoice_income_action" model="ir.actions.act_window">
  400. <field name="name">销售发票</field>
  401. <field name="type">ir.actions.act_window</field>
  402. <field name="res_model">money.invoice</field>
  403. <field name="view_mode">form</field>
  404. <field name="context">{'type':'income', 'default_name':'.'}</field>
  405. </record>
  406. <!-- 采购发票 action -->
  407. <record id="money_invoice_expense_action" model="ir.actions.act_window">
  408. <field name="name">采购发票</field>
  409. <field name="type">ir.actions.act_window</field>
  410. <field name="res_model">money.invoice</field>
  411. <field name="view_mode">form</field>
  412. <field name="context">{'type':'expense', 'default_name':'.'}</field>
  413. </record>
  414. <!-- 收款单menu、付款单menu -->
  415. <menuitem id="menu_money_receipt_action" action="money_receipt_action" parent="menu_money_manage" sequence="1"/>
  416. <menuitem id="menu_money_payment_action" action="money_payment_action" parent="menu_money_manage" sequence="2"/>
  417. <!-- 结算单menu -->
  418. <menuitem id="menu_money_invoice_action" action="money_invoice_action"
  419. name="结算单" parent="menu_money_manage" sequence="3"
  420. groups='money.reconcile_groups'/>
  421. <!-- 手工结算单menu -->
  422. <menuitem id="menu_money_invoice_handwork_action" action="money_invoice_handwork_action"
  423. name="手工结算单" parent="menu_money_manage" sequence="4"
  424. groups='money.money_invoice_handwork_groups'/>
  425. </data>
  426. </odoo>
上海开阖软件有限公司 沪ICP备12045867号-1