diff --git a/_archives.html b/_archives.html index fafad3b..791db91 100644 --- a/_archives.html +++ b/_archives.html @@ -1,6 +1,6 @@ {{* -*- brindille -*- *}} -{{* Liste des immobilisations sorties du bilan *}} +{{* Liste des immobilisations archivées *}}

Cette page liste les immobilisations sorties du bilan

@@ -8,21 +8,48 @@ {{* Immobilisation avec une écriture de sortie de bilan *}} {{:include file="_get_config.html" keep="module.config"}} -{{* lister les immobilisations *}} -{{:assign account_condition="("}} +{{:assign accounts_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 "}} + {{:assign accounts_condition=$accounts_condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} -{{:assign account_condition=$account_condition|cat:"0)"}} +{{:assign accounts_condition=$accounts_condition|cat:"0)"}} +{{:assign condition=$accounts_condition|cat:" AND acc2.code = account.code AND line.debit > 0 AND line.debit = line2.credit AND NOT (trans.status & 16)"}} -{{:assign filter_condition=" AND NOT ("}} +{{:assign filter_condition=" 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}} +{{:assign condition=$condition|cat:" AND "|cat:$filter_condition}} + +{{#select + trans.id as trans_id, + trans.label as trans_label, + trans.date as trans_date, + line.id as immo_id, + account.id as account_id, + account.code as account_code, + account.label as account_label, + line.debit AS debit, + project.label as project_label, + trans.id_year as trans_id_year, + trans2.date as exit_date + 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_transactions_lines AS line2 ON line.debit = line2.credit + INNER JOIN acc_transactions AS trans2 ON trans2.id = line2.id_transaction + INNER JOIN acc_accounts AS acc2 ON acc2.id = line2.id_account + LEFT JOIN acc_projects AS project ON line.id_project = project.id + WHERE !condition + ORDER BY trans.date DESC; + !condition=$condition + assign="immo_archivee" + }} + {{:assign var="immo_archivees.%s"|args:$trans_id value=$immo_archivee}} +{{/select}}
@@ -40,79 +67,28 @@ - - {{:assign nb_immo=0}} - {{:assign total_immo = 0}} - {{:assign total_cessions = 0}} - - {{#select - trans.id as trans_id, - trans.label as trans_label, - trans.date as trans_date, - trans.id_year as trans_id_year, - line.id as immo_id, - line.debit AS debit, - account.id as account_id, - account.code as account_code, - account.label as account_label, - project.label as project_label - 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 - LEFT JOIN acc_projects AS project ON line.id_project = project.id - WHERE !condition - ORDER BY trans.date DESC; - !condition=$condition - }} - {{:assign montant_immo=$debit}} - {{* voir si l'immo est prise en charge *}} - {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_id|intval}} - {{:assign status=$status}} - {{if $amount != null}} - {{:assign montant_immo=$amount}} - {{/if}} - {{else}} - {{:assign amortissable="nsp"}} - {{:assign status="unknown"}} - {{/load}} - {{if $status == "ignored"}} - {{:continue}} - {{/if}} - - {{* voir s'il existe une écriture liée qui solde l'immobilisation *}} - {{#select - trans.date as exit_date - FROM acc_transactions_links AS link - INNER JOIN acc_transactions AS trans ON - (CASE - WHEN link.id_transaction = :trans_id THEN link.id_related - WHEN link.id_related = :trans_id THEN link.id_transaction - END) = trans.id - INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id - INNER JOIN acc_accounts AS acc on line.id_account=acc.id - WHERE line.credit = :montant_immo - AND acc.code = :account_code - ; - :trans_id = $trans_id - :montant_immo = $montant_immo - :account_code = $account_code - }} - {{:assign status="archived"}} - {{:assign exit_date=$exit_date}} - {{/select}} - - {{if $status != "archived"}} - {{:continue}} - {{/if}} - - {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} - {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}} - {{:assign nb_immo="%d+1"|math:$nb_immo}} - {{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}} - {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} - {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$montant_immo}} - + {{:assign nb_immo=0}} + {{:assign total_immo = 0}} + {{:assign total_cessions = 0}} + {{#foreach from=$immo_archivees}} + {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} + {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}} + {{:assign nb_immo="%d+1"|math:$nb_immo}} + {{:assign total_immo="%d+%d"|math:$total_immo:$debit}} + {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} + {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}} + + + + + + + + + + + {{* voir s'il y a une écriture de cession associée à cette immo *}} {{#select trans.id, @@ -124,33 +100,21 @@ acc.label FROM acc_transactions_links AS link INNER JOIN acc_transactions AS trans ON (CASE - WHEN link.id_transaction = :trans_id THEN link.id_related - WHEN link.id_related = :trans_id THEN link.id_transaction + WHEN link.id_transaction = :trans_id THEN link.id_related + WHEN link.id_related = :trans_id THEN link.id_transaction END) = trans.id INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id INNER JOIN acc_accounts AS acc ON line.id_account = acc.id WHERE (link.id_transaction = :trans_id OR link.id_related = :trans_id) AND acc.code = 462 ; :trans_id = $trans_id - }} + }} {{:assign var="montant" from="montant_cessions.%d"|args:$account_code}} {{:assign var="montant_cessions.%d"|args:$account_code value="%d+%d"|math:$montant:$debit}} {{:assign total_cessions="%d+%d"|math:$total_cessions:$debit}} {{/select}} - - - - - - - - - - - - - {{/select}} + {{/foreach}} + {{if $total_immo != 0}} @@ -166,18 +130,18 @@ - {{/foreach}} - - - - - - - - - - - + {{/foreach}} + + + + + + + + + + + {{/if}} {{if $total_cessions != 0}} diff --git a/_immobilisations.html b/_immobilisations.html index aacdc34..16500eb 100644 --- a/_immobilisations.html +++ b/_immobilisations.html @@ -31,21 +31,22 @@ {{* lister les immobilisations *}} {{:include file="_get_config.html" keep="module.config"}} - {{:assign account_condition="("}} + {{:assign 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 "}} + {{:assign condition=$condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} - {{:assign account_condition=$account_condition|cat:"0)"}} + {{:assign condition=$condition|cat:"0)"}} + {{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}} - {{:assign filter_condition=" AND NOT ("}} + {{:assign filter_condition=" 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=$condition|cat:" AND "|cat:$filter_condition}} - {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}} {{:assign nb_immo=0}} {{:assign total_immo = 0}} {{#select @@ -53,10 +54,10 @@ trans.label as trans_label, trans.date as trans_date, line.id as immo_id, - line.debit AS debit, account.id as account_id, account.code as account_code, account.label as account_label, + line.debit AS debit, trans.id_year as trans_id_year FROM acc_transactions AS trans INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id @@ -69,15 +70,11 @@ {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}} {{:assign duration=null}} - {{:assign montant_immo=$debit}} {{* voir si l'immo est prise en charge *}} {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_id|intval}} {{:assign duration=$duration}} {{:assign status=$status}} - {{if $amount != null}} - {{:assign montant_immo=$amount}} - {{/if}} {{else}} {{:assign amortissable="nsp"}} {{:assign status="unknown"}} @@ -87,17 +84,25 @@ {{/if}} {{* voir s'il existe une écriture qui solde l'immobilisation *}} + {{:assign ignore=false}} {{#select - line.id AS line + line.id AS line, + line.id_transaction AS trans, + line.debit, + line.label, + line2.id AS line2, + line2.id_transaction AS trans2, + line2.credit, + line2.label FROM acc_transactions_lines AS line INNER JOIN acc_accounts AS acc ON acc.id = line.id_account INNER JOIN acc_transactions_lines AS line2 ON line2.id_account = acc.id WHERE line.id = :line_id - AND line2.credit = :montant_immo; + AND line2.credit = line.debit; :line_id = $immo_id|intval - :montant_immo = $montant_immo - }} + }} + {{:assign ignore=true}} {{:assign status="archived"}} {{/select}} {{if $status == "archived"}} @@ -133,37 +138,46 @@ {{:assign exist_amort=false}} {{:assign amort_amount=0}} {{else}} - {{:assign exist_amort=true}} {{:assign amort_amount=$amort_amount}} + {{:assign exist_amort=true}} {{/if}} {{/select}} {{* classement par onglet *}} - {{if $type_immo == "managed" && $amort_amount >= $montant_immo}}{{:continue}}{{/if}} + {{if $type_immo == "managed" && $amort_amount >= $debit}}{{:continue}}{{/if}} {{if $type_immo == "managed" && $status == "amortized"}}{{:continue}}{{/if}} {{if $status == "unknown" && ! $exist_amort}}{{:continue}}{{/if}} - {{if $type_immo == "amortized" && $amort_amount < $montant_immo && $status != "amortized"}}{{:continue}}{{/if}} + {{if $type_immo == "amortized" && $amort_amount < $debit && $status != "amortized"}}{{:continue}}{{/if}} {{:assign nb_immo="%d+1"|math:$nb_immo}} - {{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}} + {{:assign total_immo="%d+%d"|math:$total_immo:$debit}} {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} - {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$montant_immo}} + {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}} - + - +
#{{$trans_id}}{{$trans_date|date_short}}{{$exit_date|date_short}}{{$trans_label}}{{"%f"|math:$debit|money_html:false|raw}}{{$account_code}}{{$account_label}}{{$project_label}} +
#{{$trans_id}}{{$trans_date|date_short}}{{$exit_date|date_short}}{{$trans_label}}{{"%f"|math:$montant_immo|money_html:false|raw}}{{$account_code}}{{$account_label}}{{$project_label}} -
Total des immobilisations{{$total_immo|money_html:false|raw}}
Total des immobilisations{{$total_immo|money_html:false|raw}}
#{{$trans_id}} {{$trans_date|date_short}} {{$trans_label}}{{$montant_immo|money_html:false|raw}}{{$debit|money_html:false|raw}} {{if $duration != null}}{{$duration}}{{/if}} {{$amort_amount|money_html:false|raw}}{{"%d-%d"|math:$montant_immo:$amort_amount|money_html:false|raw}}{{"%d-%d"|math:$debit:$amort_amount|money_html:false|raw}} {{$account_code}} - {{:linkbutton - label="Paramètres" - href="add_infos.html?immo_id=%s&type_immo=%s"|args:$immo_id:$type_immo - shape="settings" - target="_dialog" - }} + {{if ! $exist_amort}} + {{:linkbutton + label="Paramètres" + href="add_infos.html?immo_id=%s&type_immo=%s"|args:$immo_id:$type_immo + shape="settings" + target="_dialog" + }} + {{elseif $status == "unknown"}} + {{:linkbutton + label="Paramètres" + href="add_infos.html?immo_id=%s&type_immo=%s"|args:$immo_id:$type_immo + shape="settings" + target="_dialog" + }} + {{/if}} {{:linkbutton label="Amortissements" href="amortization.html?immo_id=%s&type_immo=%s"|args:$immo_id:$type_immo diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html index 51aaa0d..51daa6d 100644 --- a/_immobilisations_autres.html +++ b/_immobilisations_autres.html @@ -154,12 +154,21 @@ {{$account_code}} {{$account_label}} - {{:linkbutton - label="Paramètres" - href="add_infos.html?immo_id=%s&type_immo=other"|args:$immo_id - shape="settings" - target="_dialog" - }} + {{if $status == "unknown"}} + {{:linkbutton + label="Paramètres" + href="add_infos.html?immo_id=%s&type_immo=other"|args:$immo_id + shape="settings" + target="_dialog" + }} + {{else}} + {{:linkbutton + label="Paramètres" + href="add_infos.html?immo_id=%s&type_immo=other"|args:$immo_id + shape="settings" + target="_dialog" + }} + {{/if}} {{:linkbutton label="Amortissements" href="amortization.html?immo_id=%s&type_immo=other"|args:$immo_id diff --git a/add_infos.html b/add_infos.html index 9573196..569aff8 100644 --- a/add_infos.html +++ b/add_infos.html @@ -5,31 +5,29 @@ @param type_immo : managed, amortized, archived, other *}} -{{* données de l'immobilisaion *}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}} {{/load}} -{{#select - trans.date as date_achat, - line.debit as montant - FROM acc_transactions_lines AS line - INNER join acc_transactions AS trans ON line.id_transaction = trans.id - WHERE line.id = :line_id; - :line_id = $_GET.immo_id - assign=ligne_immo - }} -{{/select}} {{* Traiter l'envoi du formulaire *}} {{#form on="save"}} - {{if $_POST.classify == null}} {{:error message="Vous devez choisir une action"}} {{/if}} + {{* chercher la date d'acquisition de l'immobilisation *}} + {{#select + trans.date as date_achat + FROM acc_transactions_lines AS line + INNER join acc_transactions AS trans ON line.id_transaction = trans.id + WHERE line.id = :line_id; + :line_id = $_GET.immo_id + assign=ligne_immo + }} + {{/select}} + {{if $_POST.classify == "ignored"}} {{* ne pas amortir *}} {{:assign duration=0}} - {{:assign montant=0}} {{:assign date_debut=$ligne_immo.date_achat|parse_date}} {{:assign status="ignored"}} {{else}} @@ -40,21 +38,9 @@ {{:assign da=$ligne_immo.date_achat|date_short}} {{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}} {{/if}} - {{if $_POST.classify == "amortized"}} - {{if $info_immo.duration == null}} - {{:assign duration=0}} - {{else}} - {{:assign duration=$info_immo.duration}} - {{/if}} + {{:assign duration=0}} {{:assign status="amortized"}} - {{elseif $_POST.classify == "archived"}} - {{if $info_immo.duration == null}} - {{:assign duration=0}} - {{else}} - {{:assign duration=$info_immo.duration}} - {{/if}} - {{:assign status="archived"}} {{else}} {{:assign duration=$_POST.duree|intval}} {{if $duration <= 0}} @@ -62,7 +48,6 @@ {{/if}} {{:assign status="managed"}} {{/if}} - {{:assign montant="%d*100"|math:$_POST.montant}} {{/if}} {{* enregistrer les infos de l'immobilisation *}} @@ -71,22 +56,18 @@ {{else}} {{:assign key=$info_immo.key}} {{/if}} - {{:save key=$key validate_schema="schema.json" type="immo" line=$_GET.immo_id|intval duration=$duration - amount=$montant|intval date=$date_debut status=$status }} {{if $_POST.classify == "managed" || $_POST.classify == "amortized"}} {{:assign type_immo=$_POST.classify}} - {{elseif $_POST.classify == "ignored"}} - {{:assign type_immo="other"}} {{else}} {{:assign type_immo=$_GET.type_immo}} {{/if}} @@ -95,47 +76,53 @@ {{:form_errors}} {{/form}} -{{:admin_header title="Classer l'immobilisation" custom_css=$custom_css current="module_amortization"}} +{{:admin_header title="Informations amortissement" custom_css=$custom_css current="module_amortization"}} {{* barre de navigation *}} {{if ! $dialog}} {{:include file="_nav.html" current="index"}} {{/if}} -{{:assign choix_defaut=$_GET.type_immo}} - -{{if $info_immo != null}} - {{:assign date_defaut=$info_immo.date}} - {{:assign duree_defaut=$info_immo.duration}} - {{:assign montant_defaut=$info_immo.amount}} +{{if $info_immo == null}} + {{:assign default=$_GET.type_immo}} {{else}} - {{:assign duree_defaut=null}} - {{:assign montant_defaut=null}} + {{:assign default=$info_immo.status}} +{{/if}} + +{{if $_GET.type_immo == "managed" || $_GET.type_immo == "amortized"}} + {{:assign disabled=0}} +{{else}} + {{:assign disabled=1}} {{/if}} {{* - classer l'immobilisation - - renseigner ou modifier la date de mise en service, le montant de - l'immobilisation et la durée d'amortissement -*}} + - renseigner ou modifier la date de mise en service et la durée d'amortissement + *}}
-
+
Classement -
+
(obligatoire)
- {{:input type="radio-btn" name="classify" value="managed" label="Immobilisation à amortir" help="Cette immobilisation sera classée parmi les immobilisations amortissables" default=$choix_defaut}} - {{:input type="radio-btn" name="classify" value="amortized" label="Amortissement terminé" help="Cette immobilisation sera classée parmi les immobilisations amorties" default=$choix_defaut}} - {{:input type="radio-btn" name="classify" value="archived" label="Immobilisation sortie du bilan" help="Cette immobilisation sera classée parmi les immobilisations sorties du bilan" default=$choix_defaut}} - {{:input type="radio-btn" name="classify" value="ignored" label="Immobilisation à ignorer" help="Cette écriture n'apparaitra plus dans la liste des immobilisations" default=$choix_defaut}} + {{:input type="radio-btn" name="classify" value="managed" label="Amortir" default=$default}} + {{:input type="radio-btn" name="classify" value="amortized" label="Amortissement terminé" help="Cette immobilisation sera classée parmi les immobilisations amorties" default=$default}} + {{:input type="radio-btn" name="classify" value="ignored" label="Ignorer l'écriture" help="Cette écriture n'apparaitra plus dans la liste des immobilisations" default=$default}}
Informations
- {{:input type="number" name="duree" label="Durée d'amortissement" default=$duree_defaut required=true min=1}} - {{:input type="money" name="montant" label="Montant" default=$montant_defaut help="à renseigner uniquement si différent du montant de l'acquisition"}} - {{:input type="date" name="date_mes" label="Date de mise en service" default=$date_defaut help="à renseigner uniquement si différente de la date d'acquisition"}} + {{if $info_immo != null}} + {{:assign date_defaut=$info_immo.date}} + {{:assign duree_defaut=$info_immo.duration}} + {{else}} + {{:assign duree_defaut=null}} + {{/if}} +
+ {{:input type="number" name="duree" label="Durée d'amortissement" default=$duree_defaut required=true min=1 disabled=$disabled}} + {{:input type="date" name="date_mes" label="Date de mise en service" default=$date_defaut disabled=$disabled help="à renseigner uniquement si différente de la date d'acquisition"}} +
@@ -147,23 +134,24 @@ {{:admin_footer}} +{{* activer/désactiver les champs de saisie *}}