{{* -*- brindille -*- *}} {{* Liste des immobilisations en cours de constitution *}}
Cet onglet liste les immobilisations en cours de constitution ; vous pouvez les sélectionner pour créer une immobilisation amortissable (exemple : achat de matériaux pour 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}} {{if $_POST|count == 0}} {{:assign unhide=$user_hides.unhide_unfinished}} {{else}} {{if $_POST.unhide == null}} {{:assign unhide=0}} {{else}} {{:assign unhide=1}} {{/if}} {{: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}} {{if $unhide}} {{:assign checked="checked"}} {{/if}} {{* lister les immobilisations en cours de constitution *}} {{:assign first_code=null}} {{:assign accounts_condition="("}} {{#foreach from=$module.config.unfinished item="elem"}} {{if $elem.code != null}} {{:assign code=$elem.code}} {{else}} {{:assign code=$elem}} {{/if}} {{if $first_code == null}} {{:assign first_code=$code}} {{/if}} {{:assign code=$code|cat:"%"|quote_sql}} {{: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"}} {{:assign filter_condition=" NOT ("}} {{#foreach from=$module.config.filters item="filter"}} {{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}} {{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}} {{/foreach}} {{:assign filter_condition=$filter_condition|cat:"0)"}} {{:assign condition=$condition|cat:" AND "|cat:$filter_condition}} {{:assign nb_ignored=0}} {{#select trans.id as trans_id, trans.label as trans_label, trans.date as trans_date, line.id as immo_line_id, account.id as account_id, account.code as account_code, account.label as account_label, 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 ORDER BY trans.date DESC; !condition=$condition assign="immo_line" }} {{* 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 $info_immo.status == 'transferred'}} {{:continue}} {{/if}} {{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}}