[tryton-fr] Re: Séquençage mensuel de la facturation
Le jeudi 14 juin 2018 13:51:16 UTC+2, Thierry Bruyere a écrit : > > Il est possible d'associer une séquence pour chaque période de l'année > fiscale. > Nous avons créé une séquence différente pour chaque période (actuellement > manuellement). > Nous n'utilisons pas dans ce cas les placeholders pour être certain de la > suite chronologique des numéros dans une période. > Nous allons regarder pour ajouter cette notion de le script que vous avez > réalisé. > > Copie d'écran de notre config : https://pasteboard.co/HpQvYjk.png > Merci, grâce à ces éléments j'ai pu obtenir quelque chose qui peut probablement être nettoyé, mais qui fonctionne : for year in xrange(2015,2020): start_date = datetime.date(year, 6, 1) end_date = start_date + relativedelta(years=1, months=-1, day=31 ) fiscalyear = FiscalYear(name='%s-%s' % (year, year+1)) fiscalyear.start_date = start_date fiscalyear.end_date = end_date fiscalyear.company = company fiscalyear.post_move_sequence = post_move_sequence for attr, name in (('out_invoice_sequence', 'Facturation'), ('in_invoice_sequence', 'Facturation fournisseur'), ('out_credit_note_sequence', 'Crédit'), ('in_credit_note_sequence', 'Crédit fournisseur')): for rawmonth in xrange(1,13): month = string.zfill(rawmonth,2) sequence = SequenceStrict( name='%s %s-%s-%s' % (name, start_date.year, end_date.year, month), code='account.invoice', company=company) sequence.padding = 3; #sequence.prefix = '${year}-${month}-'; sequence.prefix = '${year}-%s-' % month; sequence.save() sequence, = SequenceStrict.find([('name', '=', '%s %s-%s-%s' % (name, start_date.year, end_date.year, '01'))]) setattr(fiscalyear, attr, sequence) fiscalyear.save() FiscalYear.create_period([fiscalyear.id], config.context) for period in fiscalyear.periods: for attr, name in (('out_invoice_sequence', 'Facturation'), ('in_invoice_sequence', 'Facturation fournisseur'), ('out_credit_note_sequence', 'Crédit'), ('in_credit_note_sequence', 'Crédit fournisseur')): sequence, = SequenceStrict.find([('name', '=', '%s %s-%s-%s' % (name, start_date.year, end_date.year, string.zfill(period. start_date.month,2)))]) setattr(period, attr, sequence) period.save() -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes tryton-fr. Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/tryton-fr/229c32b1-1728-4a03-93af-faa9cb5bac05%40googlegroups.com.
[tryton-fr] Re: Séquençage mensuel de la facturation
Le jeudi 14 juin 2018 10:07:03 UTC+2, Goulven Guillard a écrit : > > L'année, c'était assez facile : > > sequence.prefix = '%s-' % start_date.year; > > Attention à qui voudrait s'inspirer du code de mon premier message, cela ne fonctionne que si l'année fiscale correspond à l'année civile (ce qui n'est pas le cas ici, donc on se retrouve en 2018 avec des factures préfixées 2017…). -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes tryton-fr. Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/tryton-fr/f76d3bd9-b209-4369-ab22-3b6c5cae1e58%40googlegroups.com.
[tryton-fr] Re: Séquençage mensuel de la facturation
Le jeudi 14 juin 2018 10:07:03 UTC+2, Goulven Guillard a écrit : > > Bonjour, > > Je cherche à préfixer les factures par l'année et le mois, en initialisant > la DB avec proteus. L'année, c'était assez facile : > >if 'account_invoice' in modules: > for year in xrange(2015,2020): > start_date = datetime.date(year, 6, 1) > end_date = start_date + relativedelta(years=1, months=-1, day= > 31) > fiscalyear = FiscalYear(name='%s-%s' % (year, year+1)) > fiscalyear.start_date = start_date > fiscalyear.end_date = end_date > fiscalyear.company = company > fiscalyear.post_move_sequence = post_move_sequence > for attr, name in (('out_invoice_sequence', 'Facturation'), > ('in_invoice_sequence', 'Facturation fournisseur'), > ('out_az_invoice_sequence', 'Facturation particuliers' > ), > ('out_credit_note_sequence', 'Crédit'), > ('in_credit_note_sequence', 'Crédit fournisseur')): > sequence = SequenceStrict( > name='%s-%s' % (start_date.year, name), > code='account.invoice', > company=company) > sequence.padding = 3; > sequence.prefix = '%s-' % start_date.year; > sequence.save() > sequence, = SequenceStrict.find([('name', '=', '%s-%s' % ( > start_date.year, name))]) > setattr(fiscalyear, attr, sequence) > fiscalyear.save() > FiscalYear.create_period([fiscalyear.id], config.context) > > > > Mais je sèche sur le mois. J'ai lu qu'on pouvait créer les séquences par > période mais je n'ai pas trouvé d'exemple. Quelle est la meilleure façon de > le faire ? > > PS : Désolé si ça fait doublon, j'ai déjà posté cette discussion il y a > quelques jours mais elle n'apparaît pas. > Bonjour, Il est possible d'associer une séquence pour chaque période de l'année fiscale. Nous avons créé une séquence différente pour chaque période (actuellement manuellement). Nous n'utilisons pas dans ce cas les placeholders pour être certain de la suite chronologique des numéros dans une période. Nous allons regarder pour ajouter cette notion de le script que vous avez réalisé. Copie d'écran de notre config : https://pasteboard.co/HpQvYjk.png -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes tryton-fr. Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/tryton-fr/3094ffe6-53a8-454e-bb94-5f14cafdd3c6%40googlegroups.com.