{{* -*- brindille -*- *}} {{:admin_header title="Ajout immobilisation" current="module_amortissement"}} {{* barre de navigation *}} {{if ! $dialog}} {{:include file="_nav.html" current="index"}} {{/if}} {{* Traiter l'envoi du formulaire *}} {{#form on="add"}} {{* vérifier que la date est située dans un exercice ouvert *}} {{:include file="_check_date.html" date=$_POST.date_achat keep="open_years, selected_year, selected_chart" }} {{* 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}} {{if $selected_year == null}} {{:error message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}} {{/if}} {{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}} {{:include file="_get_codes.html" account=$_POST.debit_account keep="account_code" }} {{:assign debit_account=$account_code}} {{:include file="_get_codes.html" account=$_POST.credit_account keep="account_code" }} {{:assign credit_account=$account_code}} {{* vérifier : - que le compte d'immo débute par un préfixe correct (20, 21, ...) - est présent dans le PC de l'exercice correspondant à la date *}} {{:read file="./defaut.json" assign="config_json"}} {{:assign config_defaut=$config_json|json_decode}} {{:assign var="prefix_array" value=$config_defaut.prefixes|keys}} {{:include file="_check_account.html" account=$debit_account chart_id=$selected_chart 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}} {{/if}} {{* enregistrer l'écriture *}} {{:api method="POST" path="accounting/transaction" assign="result" id_year=$selected_year type="revenue" date=$_POST.date_achat label=$_POST.designation amount=$_POST.montant debit=$debit_account|keys|key:0 credit=$credit_account|keys|key:0 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}} {{* enregistrer les infos de l'immobilisation *}} {{:save key=$key validate_schema="schema.json" type="immo" line=$immo_id duration=$_POST.duree|intval date=$date_debut }} {{:redirect force="index.html?ok=1&msg=immobilisation"}} {{/form}} {{:form_errors}} {{* formulaire d'ajout d'immobilisation *}} {{:assign var="bank_account.512" value="512 — Banques"}} {{:assign var="immo_account.2" value="2 — Classe 2 — Comptes d'immobilisations"}} {{#select id,label FROM acc_projects WHERE archived = 0;}} {{:assign var="projects.%d"|args:$id value=$label}} {{/select}}
Ajouter une immobilisation
{{:input type="date" name="date_achat" label="Date d'acquisition" required=true default=$now|date_short}} {{:input type="date" name="date_mes" label="Date de mise en service" help="à renseigner uniquement si différente de la date d'acquisition"}} {{:input type="text" name="designation" label="Désignation" required=true}} {{:input type="money" name="montant" label="Montant" required=true}} {{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1}} {{:input type="list" name="credit_account" label="Compte de décaissement" required=true target="!acc/charts/accounts/selector.php?targets=1:2:3&key=code" default=$bank_account }} {{:input type="list" name="debit_account" label="Compte d'immobilisation (20xx, 21xx, ...)" required=true target="!acc/charts/accounts/selector.php?key=code" default=$immo_account }} {{if $projects != null}} {{:input type="select" name="id_project" label="Projet (analytique)" options=$projects default_empty="— Aucun —"}} {{/if}}

{{:button type="submit" name="add" label="Ajouter" shape="right" class="main"}}

{{:admin_footer}}