'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."),
'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."),
'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."),
- 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True, readonly=True,
+ 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['journal_id'], 20)
}),
- 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True, readonly=True,
+ 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['period_id'], 20)
}),
"""
Return default account period value
"""
+ context = context or {}
+ if context.get('period_id', False):
+ return context['period_id']
account_period_obj = self.pool.get('account.period')
ids = account_period_obj.find(cr, uid, context=context)
period_id = False
"""
Return journal based on the journal type
"""
-
+ context = context or {}
+ if context.get('journal_id', False):
+ return context['journal_id']
journal_id = False
journal_pool = self.pool.get('account.journal')
<field eval="4" name="priority"/>
<field name="arch" type="xml">
<tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items" create="true" on_write="on_create_write" version="7.0" editable="top">
- <field name="journal_id" invisible="context.get('journal_id',False)"/>
- <field name="period_id" invisible="context.get('period_id',False)"/>
+ <field name="journal_id" options='{"no_open":True}' invisible="context.get('journal_id',False)"/>
+ <field name="period_id" options='{"no_open":True}' invisible="context.get('period_id',False)"/>
<field name="date"/>
<field name="name"/>
<field name="ref"/>
<field name="amount_currency" readonly="True" invisible="not context.get('currency',False)"/>
<field name="currency_id" readonly="True" invisible="not context.get('currency',False)" />
<field name="state" />
+ <field name="company_id" invisible="1"/>
</tree>
</field>
</record>
if (self.current_journal !== null) domain.push(["journal_id", "=", self.current_journal]);
if (self.current_period !== null) domain.push(["period_id", "=", self.current_period]);
self.last_context["journal_id"] = self.current_journal === null ? false : self.current_journal;
- self.last_context["period_id"] = self.current_period === null ? false : self.current_period;
+ if (self.current_period === null) delete self.last_context["period_id"];
+ else self.last_context["period_id"] = self.current_period;
self.last_context["journal_type"] = self.current_journal_type;
self.last_context["currency"] = self.current_journal_currency;
self.last_context["analytic_journal_id"] = self.current_journal_analytic;