Transférer immobilisations en cours vers immobilisation amortissable

This commit is contained in:
Jean-Christophe Engel 2025-11-17 11:56:47 +01:00
parent 9bfc389fa2
commit 4c160e054a
4 changed files with 430 additions and 27 deletions

View file

@ -119,7 +119,6 @@ function displayAmort(id_immo, id_duree, id_amort, id_years, id_exercices, id_mo
}
if (id_date != null) {
const date_choisie = str2sec(document.getElementById(id_date).value);
console.log("date_choisie = " + date_choisie + ", date_debut=" + date_debut + ", date_fin = " + date_fin);
if (date_debut <= date_choisie && date_choisie <= date_fin) {
date_fin = date_choisie;
} else {
@ -161,7 +160,6 @@ function initLine(row) {
// Associer au bouton « Ajouter » de chaque table l'action d'ajouter une ligne
function addLine(button, codes) {
console.log("codes=" + JSON.stringify(codes));
button.onclick = () => {
let lines = button.closest("table").querySelectorAll('tbody tr');
let line = lines[lines.length - 1];
@ -190,3 +188,50 @@ function addLine(button, codes) {
initLine(newNode);
};
}
// calculer et afficher le total des lignes sélectionnées
function computeTotal(id_total, id_url) {
// calculer le total par compte
let total = new Object;
const transactions = [];
let lines = document.querySelectorAll('.list tbody tr');
for (const line of lines) {
let button = line.querySelector('input[type=checkbox]');
if (button.checked) {
let money = line.querySelector('.money');
let code = line.querySelector('.account_code a').innerText;
if (code in total) {
total[code] += getNumber(money.innerText) * 100;
} else {
total[code] = getNumber(money.innerText) * 100;
}
const number = line.querySelector('.num a').innerText.slice(1);
transactions.push(number);
}
}
// afficher les totaux
const liste = document.getElementById(id_total).querySelector('ul');
while (liste.firstChild) {
liste.removeChild(liste.firstChild);
}
for (const code in total) {
const node = document.createElement("li");
const para = document.createElement("p");
const libelle = document.createTextNode("Compte " + code + " : ");
const span = document.createElement("strong");
span.classList.add("money");
const montant = document.createTextNode(new Intl.NumberFormat("fr-FR", { style: "currency", currency: "EUR" }).format(total[code] / 100., ));
span.appendChild(montant);
para.appendChild(libelle);
para.appendChild(span);
node.appendChild(para);
liste.appendChild(node);
}
// mettre à jour les paramètres de l'url
let url = document.getElementById(id_url);
let new_href = url.href.replace(/trans=.*/, 'trans=' + Object.values(transactions));
url.href = new_href;
}