diff --git a/_archives.html b/_archives.html index 7619bcb..b53260c 100644 --- a/_archives.html +++ b/_archives.html @@ -26,7 +26,7 @@ {{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}} {{/foreach}} {{:assign filter_condition=$filter_condition|cat:"0)"}} - {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND NOT "|cat:$filter_condition|cat:" AND "|cat:$status_condition}} + {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT "|cat:$filter_condition|cat:" AND "|cat:$status_condition}} {{:assign total_cessions = 0}} diff --git a/_get_free_amort.html b/_get_free_amort.html index b3b142f..e71ec16 100644 --- a/_get_free_amort.html +++ b/_get_free_amort.html @@ -18,7 +18,7 @@ FROM acc_transactions_lines AS line INNER JOIN acc_accounts AS account ON account.id = line.id_account INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction - WHERE credit > 0 AND (NOT trans.status & 16) AND !condition + WHERE credit > 0 AND !condition ORDER BY trans.date, trans.label; !condition=$condition assign="amort_line" diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html index 0dca07d..d80acee 100644 --- a/_immobilisations_autres.html +++ b/_immobilisations_autres.html @@ -50,7 +50,7 @@ {{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} {{:assign account_condition=$account_condition|cat:"0)"}} -{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND "|cat:$doc_condition}} +{{:assign condition=$account_condition|cat:" AND debit > 0 AND "|cat:$doc_condition}} {{:assign nb_ignored=0}} {{#select @@ -79,7 +79,7 @@ !condition=$condition assign="immo_line" }} - {{if $immo_line.status == 'managed'}} + {{if $immo_line.status == 'managed' || $immo_line.status == 'amortized'}} {{if $immo_line.amount == null || $immo_line.amount == 0 || $immo_line.amount == $immo_line.debit}} {{:continue}} {{/if}} @@ -169,7 +169,10 @@ function changeVisibility(evt, idcheck = 'f_unhide_1') { } (function () { - document.getElementById('f_unhide_1').onclick = changeVisibility; + let unhide_button = document.getElementById('f_unhide_1'); + if (unhide_button != null) { + unhide_button.onclick = changeVisibility; + } })(); diff --git a/_unfinished.html b/_unfinished.html index 33eadde..c361db3 100644 --- a/_unfinished.html +++ b/_unfinished.html @@ -9,6 +9,15 @@ la construction d'un bâtiment destiné à être amorti)
+{{#form on="transfer"}} + {{if $_POST.selected == null}} +Vous n'avez sélectionné aucune écriture !
+ {{else}} + {{:assign doc_list=$_POST.selected|implode:","}} + {{:redirect to="transfer.html?doc=%s"|args:$doc_list}} + {{/if}} +{{/form}} + {{:include file="_get_config.html" keep="module.config"}} {{:assign saved_hides=$module.config.hides}} {{:assign var="user_hides" from="saved_hides.%s"|args:$logged_user.id}} @@ -21,7 +30,7 @@ {{else}} {{:assign unhide=1}} {{/if}} - {{:assign var="user_hides.unhide_unfinished" value=$unhide"}} + {{:assign var="user_hides.unhide_unfinished" value=$unhide}} {{:assign var="saved_hides.%s"|args:$logged_user.id value=$user_hides}} {{:save key="config" hides=$saved_hides}} {{/if}} @@ -45,7 +54,7 @@ {{:assign accounts_condition=$accounts_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} {{:assign accounts_condition=$accounts_condition|cat:"0)"}} -{{:assign condition=$accounts_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}} +{{:assign condition=$accounts_condition|cat:" AND debit > 0"}} {{:assign filter_condition=" NOT ("}} {{#foreach from=$module.config.filters item="filter"}} @@ -64,57 +73,83 @@ account.id as account_id, account.code as account_code, account.label as account_label, - sum(line.debit) AS debit, + line.debit AS debit, trans.id_year as trans_id_year FROM acc_transactions AS trans INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id INNER JOIN acc_accounts AS account ON line.id_account = account.id INNER JOIN acc_years AS years ON trans.id_year = years.id WHERE !condition - GROUP BY trans.id ORDER BY trans.date DESC; !condition=$condition assign="immo_line" }} - {{* voir si l'écriture a été marquée ignorée *}} - {{:assign var="immo_line.ignore" value=false}} - {{#load type="immo" assign="info_immo" where="$$.line = :line_id AND $$.status = 'ignored'" :line_id=$immo_line_id|intval}} - {{:assign var="immo_line.ignore" value=true}} + {{* document associé *}} + {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id assign="info_immo"}} + {{:assign var="immo_line.doc_id" value=$info_immo.id}} + {{* *}} + {{if $status == "unfinished"}} + {{* voir si l'immo a été ventilée *}} + {{:assign var="immo_line.allocated_amount" value=0}} + {{#load type="immo" where="$$.line = :immo_line_id AND ($$.status = 'inprogress' OR $$.status = "transferred")" :immo_line_id=$immo_line_id}} + {{:assign var="immo_line.allocated_amount" value="%d+%d"|math:$immo_line.allocated_amount:$amount}} + {{/load}} + {{elseif $status == 'ignored'}} + {{:assign nb_ignored="%d + 1"|math:$nb_ignored}} + {{if $unhide == null}} + {{:continue}} + {{/if}} + {{/if}} + {{else}} + {{* cas d'une immo sans doc associé => créer le doc *}} + {{:save + key=""|uuid + validate_schema="asset.schema.json" + type="immo" + line=$immo_line_id|intval + duration=0 + status="unfinished" + assign_new_id="immo_doc_id" + }} + {{:assign var="immo_line.doc_id" value=$immo_doc_id|intval}} {{/load}} - {{if $immo_line.ignore}} - {{:assign nb_ignored="%d + 1"|math:$nb_ignored}} - {{/if}} - {{if $immo_line.ignore && $unhide == null}} + + {{if $info_immo.status == 'transferred'}} {{:continue}} {{/if}} - - {{* - TODO cas où : - - il y a (au moins) une écriture d'avoir - *}} - - {{* voir s'il existe une écriture qui solde l'immobilisation (voir ci-dessus) *}} - {{#select - count(*) AS count - FROM acc_transactions AS trans - INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id - INNER JOIN acc_accounts AS account ON line.id_account = account.id - WHERE line.credit = :amount AND code = :account_code - ; - :amount = $debit - :account_code = $account_code - }} - {{:assign count=$count}} - {{/select}} - - {{* S'il y a plus d'une écriture de même montant on ne peut pas décider *}} - {{if $count == 1}} + {{if $immo_line.allocated_amount == $debit}} {{:continue}} {{/if}} {{:assign var="immo_lines." value=$immo_line}} {{/select}} +{{* lister les immos incorporées de la balance d'ouverture *}} +{{#load type="immo" where="$$.status='inprogress'" assign="unfinished_immo"}} + {{* chercher l'écriture dont est tirée l'immo *}} + {{#select + trans.id as trans_id, + line.id as immo_line_id, + account.id as account_id, + account.code as account_code, + account.label as account_label, + trans.id_year as trans_id_year + FROM acc_transactions AS trans + INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id + INNER JOIN acc_accounts AS account ON line.id_account = account.id + INNER JOIN acc_years AS years ON trans.id_year = years.id + WHERE line.id = :unfinished_immo_line; + :unfinished_immo_line = $unfinished_immo.line + assign="immo_line" + }} + {{:assign var="immo_line.trans_label" value=$unfinished_immo.label}} + {{:assign var="immo_line.trans_date" value=$unfinished_immo.date_achat}} + {{:assign var="immo_line.debit" value=$unfinished_immo.amount}} + {{:assign var="immo_line.doc_id" value=$id}} + {{:assign var="immo_lines." value=$immo_line}} + {{/select}} +{{/load}} +