diff --git a/controllers/main.py b/controllers/main.py index d07868fdfca7248fe0d31bfafbda50c71f7388b5..76917c488e737c0443d1c198a3bea73528356903 100644 --- a/controllers/main.py +++ b/controllers/main.py @@ -19,7 +19,8 @@ class ExportJournalCg(http.Controller): @http.route('/web/export_journal_cg/', type='http', auth="user") @serialize_exception def export_journal_cg( - self, date_start, date_end, company_id, partner_ids, **kwargs): + self, date_start, date_end, date_creation_start, date_creation_end, + company_id, partner_ids, **kwargs): """ Sélectionne les account.move.line correspondants aux journaux et à la plage de date définis @@ -39,11 +40,19 @@ class ExportJournalCg(http.Controller): # Selection des dates + pas d'export du journal UR / FEDE domain = [ - ('date', '>=', date_start), - ('date', '<=', date_end), ('partner_id', '!=', False), ('journal_id', '!=', contribution_ur_or_fede_journal_id.id), ] + if date_start and date_end: + domain += [ + ('date', '>=', date_start), + ('date', '<=', date_end), + ] + if date_start and date_end: + domain += [ + ('create_date', '>=', date_creation_start), + ('create_date', '<=', date_creation_end), + ] if type == 'empty': domain += [('date_export', '=', False)] @@ -69,17 +78,7 @@ class ExportJournalCg(http.Controller): lines_to_export.append(self._export_row( line=line, amount=amount_analytic, direction=direction, account=('7060' + line.partner_id.ur_id.code_ur), a_type='A', - analytic='010201') - ) - lines_to_export.append(self._export_row( - line=line, amount=amount_analytic, direction=direction, - account=('7060' + line.partner_id.ur_id.code_ur), a_type='A', - analytic='020201') - ) - lines_to_export.append(self._export_row( - line=line, amount=round(amount - 2 * amount_analytic, 2), direction=direction, - account=('7060' + line.partner_id.ur_id.code_ur), a_type='A', - analytic='030201') + analytic='010000') ) # Produit Adhésion CG + Analytique + OD elif line.product_id == product_adhesion_id: @@ -87,18 +86,13 @@ class ExportJournalCg(http.Controller): # Compte général lines_to_export.append(self._export_row( line=line, amount=amount, direction=direction, - journal='VE', account='706200') + journal='VE', account='756200') ) # Lignes analytiques lines_to_export.append(self._export_row( - line=line, amount=amount_analytic, direction=direction, - account='706200', journal='VE', a_type='A', - analytic='010201') - ) - lines_to_export.append(self._export_row( - line=line, amount=amount_analytic, direction=direction, - account='706200', journal='VE', a_type='A', - analytic='020201') + line=line, amount=amount, direction=direction, + account='756200', journal='VE', a_type='A', + analytic='010000') ) # OD Adhésion lines_to_export.append(self._export_row( @@ -114,7 +108,7 @@ class ExportJournalCg(http.Controller): lines_to_export.append(self._export_row( line=line, amount=amount / 2, direction='D', account=('6581' + line.partner_id.ur_id.code_ur), - journal='OD', a_type='A', analytic='020201') + journal='OD', a_type='A', analytic='010000') ) # Compte client CG Scop - Adhésion & Cotisation elif line.account_id == default_receivable_account_id: diff --git a/wizard/export_journal_wizard.py b/wizard/export_journal_wizard.py index d5e4ed9de85f8be52dbd410cdfcb4fd8b321f893..a3e4b0bf652d1390f3def863b9c2d572d2cb55ef 100755 --- a/wizard/export_journal_wizard.py +++ b/wizard/export_journal_wizard.py @@ -20,11 +20,13 @@ class ExportJournalWizard(models.TransientModel): ('company_id', '=', self.env.user.company_id.id)], limit=1) return export - date_start = fields.Date('Date de début', required=True) + date_start = fields.Date('Date de début des écritures') date_end = fields.Date( - string='Date de fin', - required=True, - default=fields.Date.today()) + string='Date de fin des écritures') + + date_creation_start = fields.Date('Date de début (création des écritures)') + date_creation_end = fields.Date( + string='Date de fin (création des écritures)') company_id = fields.Many2one( comodel_name='res.company', @@ -48,6 +50,8 @@ class ExportJournalWizard(models.TransientModel): 'export_type': self.export_type, 'date_start': self.date_start, 'date_end': self.date_end, + 'date_creation_start': self.date_creation_start, + 'date_creation_end': self.date_creation_end, 'company_id': self.company_id.id, 'partner_ids': ','.join(str(x) for x in self.partner_ids.ids), } diff --git a/wizard/export_journal_wizard_view.xml b/wizard/export_journal_wizard_view.xml index b4662f713cbcf3073c8c89805757251e5633a720..4ec116560ac2c960ce25ffaf2b128f5d7a7fc5c9 100755 --- a/wizard/export_journal_wizard_view.xml +++ b/wizard/export_journal_wizard_view.xml @@ -13,14 +13,28 @@ </group> <p class="text-muted">Les dates de début et de fin sont incluses dans l'export des écritures</p> - <group> + <hr/> + <p style="background: #f0f0f0; padding: 5px"><u>Sélection sur la plage de <strong>date d'écriture</strong> :</u></p> + <group name="date"> + <group> + <field name="date_start" attrs="{'required': [('date_end', '!=', False)]}"/> + </group> + <group> + <field name="date_end" attrs="{'required': [('date_start', '!=', False)]}"/> + </group> + </group> + <hr/> + <p style="background: #f0f0f0; padding: 5px"><u>Sélection sur la plage de <strong>date de création de l'écriture</strong> :</u></p> + <group name="date"> <group> - <field name="date_start"/> + <field name="date_creation_start" attrs="{'required': [('date_creation_end', '!=', False)]}"/> </group> <group> - <field name="date_end"/> + <field name="date_creation_end" attrs="{'required': [('date_creation_start', '!=', False)]}"/> </group> </group> + <hr/> + <p style="background: #f0f0f0; padding: 5px"><u>Sélection des coopératives (si souhaité) :</u></p> <group> <field name="partner_ids" widget="many2many_tags" options="{'no_create': True, 'no_edit': True}"/> </group>