Correction erreur exercice dans sélecteur compte

This commit is contained in:
Jean-Christophe Engel 2025-05-09 11:41:16 +02:00
parent b587121d3f
commit 673003ea77
2 changed files with 39 additions and 32 deletions

View file

@ -114,23 +114,23 @@
{{:error message="Aucun exercice ouvert pour enregistrer un amortissement"}} {{:error message="Aucun exercice ouvert pour enregistrer un amortissement"}}
{{/years}} {{/years}}
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{#form on="save"}} {{#form on="save"}}
{{* UTILE ? vérifier que la date est située dans un exercice compatible *}} {{* vérifier que la date est située dans un exercice compatible *}}
{{:assign ts_date = $_POST.date_amort|parse_date|strtotime}} {{:assign ts_date = $_POST.date_amort|parse_date|strtotime}}
{{:assign ok=false}} {{:assign ok=false}}
{{#foreach from=$years}} {{#foreach from=$years}}
{{if $start_date|strtotime <= $ts_date && $ts_date <= $end_date|strtotime}} {{if $id == $_POST.id_year}}
{{:assign ok=true}} {{:assign selected_chart=$id_chart}}
{{:break}} {{if $start_date|strtotime <= $ts_date && $ts_date <= $end_date|strtotime}}
{{:assign ok=true}}
{{:break}}
{{/if}}
{{/if}} {{/if}}
{{/foreach}} {{/foreach}}
{{if ! $ok}} {{if ! $ok}}
{{:error message="La date choisie n'est dans aucun exercice compatible !!\nExercices compatibles : %s"|args:$msg_years}} {{:error message="La date choisie n'est dans aucun exercice compatible !!\nExercices compatibles : %s"|args:$msg_years}}
{{/if}} {{/if}}
{{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}} {{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}}
{{:include {{:include
file="_get_codes.html" file="_get_codes.html"
@ -160,9 +160,6 @@
}} }}
{{:assign var="amort_array." value=$code_amort|intval}} {{:assign var="amort_array." value=$code_amort|intval}}
{{/foreach}} {{/foreach}}
{{#years closed=false where="id = :year_id" :year_id=$_POST.id_year}}
{{:assign selected_chart=$id_chart}}
{{/years}}
{{:include {{:include
file="_check_account.html" file="_check_account.html"
@ -252,7 +249,7 @@
name="debit_account" name="debit_account"
label="Compte de débit" label="Compte de débit"
required=true required=true
target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:"68*":$year.id target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:"68*":$selected_year
default=$debit_account default=$debit_account
}} }}
{{:input {{:input
@ -260,7 +257,7 @@
name="credit_account" name="credit_account"
label="Compte d'amortissement (280xx ou 281xx)" label="Compte d'amortissement (280xx ou 281xx)"
required=true required=true
target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:"28*":$year.id target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:"28*":$selected_year
default=$credit_account default=$credit_account
}} }}
<div id="donnees" class="hidden"> <div id="donnees" class="hidden">
@ -281,34 +278,39 @@
<script type="text/javascript" src="scripts.js"></script> <script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript"> <script type="text/javascript">
// afficher la date de fin de l'exercice choisi et recalculer le montant de l'amortissement /*
afficher la date de fin de l'exercice choisi
mettre à jour le numéro d'exercice dans les sélecteur de comptes
recalculer le montant de l'amortissement
*/
function redisplayData(evt, function redisplayData(evt,
id_immo = 'f_montant_immo', f_immo = 'f_montant_immo',
id_duree = 'f_duree_amort', f_duree = 'f_duree_amort',
id_amort = 'f_somme_amort', f_amort = 'f_somme_amort',
id_years = 'f_years_data', f_years_data = 'f_years_data',
id_exercices = 'f_id_year', f_years_select = 'f_id_year',
id_date = 'f_date_amort', f_date = 'f_date_amort',
id_montant = 'f_montant', f_montant = 'f_montant',
id_erreur = 'f_erreur' f_erreur = 'f_erreur'
) )
{ {
setDateEnd(id_exercices, id_date, id_years); setDateEnd(f_years_select, f_date, f_years_data);
displayAmort(id_immo, id_duree, id_amort, id_years, id_exercices, id_montant, id_erreur); setSelectorYear(['credit_account', 'debit_account'], f_years_select);
displayAmort(f_immo, f_duree, f_amort, f_years_data, f_years_select, f_montant, f_erreur);
} }
function redisplayAmort(evt, function redisplayAmort(evt,
id_immo = 'f_montant_immo', f_immo = 'f_montant_immo',
id_duree = 'f_duree_amort', f_duree = 'f_duree_amort',
id_amort = 'f_somme_amort', f_amort = 'f_somme_amort',
id_years = 'f_years_data', f_years_data = 'f_years_data',
id_exercices = 'f_id_year', f_years_select = 'f_id_year',
id_date = 'f_date_amort', f_date = 'f_date_amort',
id_montant = 'f_montant', f_montant = 'f_montant',
id_erreur = 'f_erreur' f_erreur = 'f_erreur'
) )
{ {
displayAmort(id_immo, id_duree, id_amort, id_years, id_exercices, id_montant, id_erreur, id_date); displayAmort(f_immo, f_duree, f_amort, f_years_data, f_years_select, f_montant, f_erreur, f_date);
} }
(function () { (function () {

View file

@ -160,3 +160,8 @@ function displayAmort(id_immo, id_duree, id_amort, id_years, id_exercices, id_mo
case_montant.value = montant_amort/100; case_montant.value = montant_amort/100;
case_montant.innerText = montant_amort; case_montant.innerText = montant_amort;
} }
function setSelectorYear(button_names, f_years_selector) {
const selected_year = document.getElementById(f_years_selector).value;
setAccountYear(button_names, selected_year);
}