{{* -*- 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 un préfixe correct (280, 281, ...) - 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}} {{#foreach from=$prefix_array item="code"}} {{:assign code_s=$code|strval}} {{:assign ch1=$code_s|substr:0:1}} {{:assign reste=$code_s|substr:1}} {{:assign code=$ch1|cat:"8"|cat:$reste}} {{:assign var="amort_array." value=$code|intval}} {{/foreach}} {{:include file="_check_account.html" account=$credit_account chart_id=$selected_chart prefix_array=$amort_array keep="account_ok" }} {{if $account_ok == null}} {{:assign compte=$credit_account|implode:""}} {{:redirect url="add_account.html?account=%s&chart=%s&immo_id=%s"|args:$compte:$selected_chart:$_GET.immo_id}} {{/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}}