From 5c2798c734689a0c208404e28c547af5cbf980f5 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Wed, 17 Dec 2025 10:52:47 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20possibilit=C3=A9=20cr=C3=A9er=20immobil?= =?UTF-8?q?isation=20en=20cours=20de=20constitution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- add_asset.html | 106 ++++++++++++++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 40 deletions(-) diff --git a/add_asset.html b/add_asset.html index 39c8b00..805311f 100644 --- a/add_asset.html +++ b/add_asset.html @@ -1,6 +1,6 @@ {{* -*- brindille -*- *}} -{{:include file="_get_config.html" keep="module.config.prefixes"}} +{{:include file="_get_config.html" keep="module.config"}} {{#years closed=false order="start_date" assign=years.}} {{:assign ts_debut=$start_date|strtotime}} @@ -34,23 +34,6 @@ {{:error message="La date saisie n'est pas dans l'exercice choisi !"}} {{/if}} - {{if ! $_POST.amortir}} - {{* ne pas amortir *}} - {{:assign duration=0}} - {{:assign date_debut=$_POST.date_achat|parse_date}} - {{:assign status="ignored"}} - {{else}} - {{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}} - {{:assign date_debut=$_POST.date_mes|or:$_POST.date_achat|parse_date}} - {{if $date_debut|strtotime < $_POST.date_achat|parse_date|strtotime}} - {{:assign dd=$date_debut|date_short}} - {{:assign da=$_POST.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}} - {{:assign duration=$_POST.duree|intval}} - {{:assign status="managed"}} - {{/if}} - {{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}} {{:include file="_get_codes.html" @@ -70,17 +53,51 @@ - est présent dans le PC de l'exercice correspondant à la date *}} + {{#foreach from=$module.config.prefixes item="code"}} + {{:assign var="prefix_array." value=$code}} + {{/foreach}} + {{#foreach from=$module.config.unfinished item="code"}} + {{:assign var="prefix_array." value=$code}} + {{/foreach}} + {{:include file="_check_account.html" account=$debit_account chart_id=$selected_chart - prefix_array=$module.config.prefixes + prefix_array=$prefix_array keep="account_ok" }} {{if $account_ok == null}} {{:assign compte=$debit_account|implode:""}} - {{:error message="Le compte « %s » n'est pas un compte d'immobilisation ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}} + {{:redirect url="add_account.html?account=%s&chart=%s&immo_id=%s"|args:$compte:$selected_chart:$_GET.immo_id}} + {{/if}} + + {{:assign debit_account=$debit_account|keys|value:0}} + {{:assign credit_account=$credit_account|keys|value:0}} + + {{* déterminer si le compte d'immo est un compte d'immo en cours *}} + {{#foreach from=$module.config.unfinished item="code"}} + {{if $debit_account|strpos:$code === 0}} + {{:assign status="unfinished"}} + {{/if}} + {{/foreach}} + + {{if $status != "unfinished" && ! $_POST.amortir}} + {{* ne pas amortir *}} + {{:assign duration=0}} + {{:assign date_debut=$_POST.date_achat|parse_date}} + {{:assign status="ignored"}} + {{elseif $status != "unfinished"}} + {{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}} + {{:assign date_debut=$_POST.date_mes|or:$_POST.date_achat|parse_date}} + {{if $date_debut|strtotime < $_POST.date_achat|parse_date|strtotime}} + {{:assign dd=$date_debut|date_short}} + {{:assign da=$_POST.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}} + {{:assign duration=$_POST.duree|intval}} + {{:assign status="managed"}} {{/if}} {{* enregistrer l'écriture *}} @@ -93,35 +110,41 @@ date=$_POST.date_achat label=$_POST.designation amount=$_POST.montant - debit=$debit_account|keys|value:0 - credit=$credit_account|keys|value:0 + debit=$debit_account + credit=$credit_account id_project=$_POST.id_project }} - {{* vérifier s'il y a déjà un document avec le même numéro de ligne *}} - {{:assign var="immo_id" value=$result.lines.1.id}} - {{#load where="$$.line = :line_id" :line_id=$immo_id}} - {{:assign key=$key}} - {{else}} - {{:assign key=""|uuid}} - {{/load}} + {{if $status != "unfinished"}} + {{* vérifier s'il y a déjà un document avec le même numéro de ligne *}} + {{:assign var="immo_id" value=$result.lines.1.id}} + {{#load where="$$.line = :line_id" :line_id=$immo_id}} + {{:assign key=$key}} + {{else}} + {{:assign key=""|uuid}} + {{/load}} - {{* enregistrer les infos de l'immobilisation *}} - {{:save - key=$key - validate_schema="schema.json" - type="immo" - line=$immo_id - duration=$duration - date=$date_debut - status=$status - }} - {{if $_POST.amortir}} + {{* enregistrer les infos de l'immobilisation *}} + {{:save + key=$key + validate_schema="schema.json" + type="immo" + line=$immo_id + duration=$duration + date=$date_debut + status=$status + }} + {{/if}} + + {{if $status == "unfinished"}} + {{:assign type_immo="unfinished"}} + {{elseif $_POST.amortir}} {{:assign type_immo="managed"}} {{else}} {{:assign type_immo="other"}} {{/if}} {{:redirect force="index.html?ok=1&msg=immobilisation&type_immo=%s"|args:$type_immo}} + {{/form}} {{:admin_header title="Ajout immobilisation" current="module_amortissement"}} @@ -141,6 +164,9 @@ {{#foreach from=$module.config.prefixes item="code"}} {{:assign var="pattern_array." value="%s*"|args:$code}} {{/foreach}} +{{#foreach from=$module.config.unfinished item="code"}} + {{:assign var="pattern_array." value="%s*"|args:$code}} +{{/foreach}} {{:assign var="patterns" value=$pattern_array|implode:"|"}}