Ajout mise à niveau module
This commit is contained in:
parent
4ecd144593
commit
56e7703859
5 changed files with 255 additions and 9 deletions
99
_upgrade_to031.tpl
Normal file
99
_upgrade_to031.tpl
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{*
|
||||
Mettre à niveau vers v0.31
|
||||
- créer un doc de liaison pour chaque amortissement lié à une immobilisation
|
||||
mais uniquement pour les immo déjà gérées, sinon l'upgrade
|
||||
vers 0.33 ne fonctionnera pas car on pourrait se retrouver avec
|
||||
des liaisons immo <-> amort sans doc associé à l'immo donc la
|
||||
transformation de link vers amort_link ne pourra se faire
|
||||
|
||||
- id ligne d'immobilisation
|
||||
- id ligne d'amortissement
|
||||
- id écriture d'amortissement
|
||||
*}}
|
||||
|
||||
{{* lister les immobilisations *}}
|
||||
{{:include file="_get_config.html" keep="module.config"}}
|
||||
|
||||
{{:assign account_condition="("}}
|
||||
{{#foreach from=$module.config.prefixes item="code"}}
|
||||
{{:assign code=$code|cat:"%"|quote_sql}}
|
||||
{{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
|
||||
{{/foreach}}
|
||||
{{:assign account_condition=$account_condition|cat:"0)"}}
|
||||
|
||||
{{:assign filter_condition=" AND NOT ("}}
|
||||
{{#foreach from=$module.config.filters item="filter"}}
|
||||
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||
{{:assign filter_condition=$filter_condition|cat:" trans.label LIKE "|cat:$filter|cat:" OR "}}
|
||||
{{/foreach}}
|
||||
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||
|
||||
{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
|
||||
|
||||
{{#select
|
||||
line.id as immo_line_id
|
||||
FROM acc_transactions AS trans
|
||||
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
|
||||
INNER JOIN acc_accounts AS account ON line.id_account = account.id
|
||||
INNER JOIN acc_years AS years ON trans.id_year = years.id
|
||||
WHERE !condition
|
||||
ORDER BY trans.date DESC;
|
||||
!condition=$condition
|
||||
}}
|
||||
{{* voir si l'immo est prise en charge *}}
|
||||
{{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id|intval}}
|
||||
{{:assign status=$status}}
|
||||
{{else}}
|
||||
{{:assign status="unknown"}}
|
||||
{{/load}}
|
||||
|
||||
{{* ne pas faire la liaison si pas de doc *}}
|
||||
{{if $status == "ignored" || $status == "unknown"}}
|
||||
{{:continue}}
|
||||
{{/if}}
|
||||
|
||||
{{* lister les écritures d'amortissement liées *}}
|
||||
{{:assign amort_lines=null}}
|
||||
{{#select
|
||||
CASE links.id_related = t_immo.id
|
||||
WHEN true THEN links.id_transaction
|
||||
WHEN false THEN links.id_related
|
||||
END as amort_trans_id,
|
||||
l_amort.id AS amort_line_id
|
||||
FROM acc_transactions_lines as l_immo
|
||||
INNER JOIN acc_transactions as t_immo on t_immo.id = l_immo.id_transaction
|
||||
INNER JOIN acc_transactions_links as links
|
||||
ON (t_immo.id = links.id_transaction OR t_immo.id = links.id_related)
|
||||
INNER JOIN acc_transactions_lines as l_amort on amort_trans_id = l_amort.id_transaction
|
||||
INNER JOIN acc_accounts AS account ON l_amort.id_account = account.id
|
||||
WHERE l_immo.id = :line_id AND l_amort.credit <> 0 AND account.code LIKE '28%';
|
||||
:line_id = $immo_line_id|intval
|
||||
assign="amort_lines."
|
||||
}}
|
||||
{{/select}}
|
||||
|
||||
{{#foreach from=$amort_lines item="line"}}
|
||||
{{* chercher un doc associé *}}
|
||||
{{#load type="link"
|
||||
where="$$.immo_line_id = :immo_line_id
|
||||
AND $$.amort_line_id = :amort_line_id
|
||||
AND $$.amort_trans_id = :amort_trans_id"
|
||||
:immo_line_id = $immo_line_id
|
||||
:amort_line_id = $line.amort_line_id
|
||||
:amort_trans_id = $line.amort_trans_id
|
||||
assign="link"
|
||||
}}
|
||||
{{else}}
|
||||
{{* pas de doc => le créer *}}
|
||||
{{:save
|
||||
key=""|uuid
|
||||
type="link"
|
||||
immo_line_id=$immo_line_id
|
||||
amort_line_id=$line.amort_line_id
|
||||
amort_trans_id=$line.amort_trans_id
|
||||
}}
|
||||
{{/load}}
|
||||
{{/foreach}}
|
||||
{{/select}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue