{{* -*- brindille -*- *}} {{:admin_header title="Ajout amortissement" current="module_amortissement"}} {{* barre de navigation *}} {{if ! $dialog}} {{:include file="_nav.html" current="amortization"}} {{/if}} {{* Traiter l'envoi du formulaire *}} {{#form on="save"}} {{* vérifier que la date est située dans un exercice ouvert *}} {{:include file="_check_date.html" date=$_POST.date keep="open_years, selected_year, selected_chart" }} {{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'amortissement débute par 280 ou 281 - est présent dans le PC de l'exercice correspondant à la date *}} {{:assign var="prefix_array." value="'280%'"}} {{:assign var="prefix_array." value="'281%'"}} {{:include file="_check_account.html" account=$credit_account chart_id=$selected_chart prefix_array=$prefix_array keep="account_ok" }} {{if $account_ok == null}} {{:assign compte=$credit_account|implode:""}} {{:error message="Le compte « %s » n'est pas un compte d'amortissement ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}} {{/if}} {{* vérifier que le montant ne dépasse pas le solde restant *}} {{if $_POST.montant|trim|money_int > $_GET.solde|intval}} {{:assign solde=$_GET.solde|money_raw}} {{:error message="Le montant indiqué « %s » dépasse le solde à amortir « %s »"|args:$_POST.montant:$solde}} {{/if}} {{* enregistrer l'écriture *}} {{:assign var="linked_transactions." value=$_GET.trans_id}} {{:assign var="lines." debit=$_POST.montant account=$debit_account|keys|key:0 id_project=$_GET.project_id label=$_POST.designation }} {{:assign var="lines." credit=$_POST.montant account=$credit_account|keys|key:0 id_project=$_GET.project_id label=$_POST.designation }} {{:api method="POST" path="accounting/transaction" assign="result" assign_code="result_code" id_year=$selected_year type="advanced" date=$_POST.date label=$_POST.designation lines=$lines linked_transactions=$_GET.trans_id|intval }} {{:redirect force="amortization.html?immo_id=%s&ok=1&msg=amortissement"|args:$_GET.immo_id}} {{/form}} {{:form_errors}} {{* Préparer les infos pour le formulaire *}} {{:assign var="debit_account.6811" value="6811 — Dot. aux amortissements des immobilisations"}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation => ajouter un 8 après le 2 de tête *}} {{#select code, label from acc_accounts where id = :id; :id=$_GET.account assign=amort_account}}{{/select}} {{:assign c1=$amort_account.code|substr:0:1}} {{:assign reste=$amort_account.code|substr:1}} {{:assign amort_code=$c1|cat:8|cat:$reste}} {{:assign var="credit_account.%s"|args:$amort_code value="%s — Amortissements "|args:$amort_code|cat:$amort_account.label}} {{#select id, label, end_date as date_amort from acc_years where id=:id; :id=$_GET.year assign=year }} {{/select}} {{#years status=false}} {{:assign var="open_years.%d"|args:$id value=$label}} {{/years}}
{{:admin_footer}}