[tryton-fr] Re: Séquençage mensuel de la facturation

2018-06-15 Par sujet Goulven Guillard
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

2018-06-15 Par sujet Goulven Guillard
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

2018-06-14 Par sujet Thierry Bruyere


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.