{{* -*- 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}}
{{if $immo_lines|count > 0}}
Transférer une ou plusieurs lignes vers une immobilisation amortissable

Cocher les lignes concernées

Montants sélectionnés

{{:button type="submit" name="transfer" label="Transférer" shape="right" id="transfer" }}

{{/if}} {{if $nb_ignored !== 0}}
{{:input type="checkbox" value=1 name="unhide" checked="%s"|args:$checked label="Afficher les écritures ignorées" }}
{{/if}} {{if $immo_lines|count > 0}}
{{:assign total_immo = 0}} {{#foreach from=$immo_lines}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}} {{:assign total_immo="%d+%d"|math:$total_immo:$debit}} {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}} {{:assign var="row_value" value=$trans_id|cat:"_"|cat:$doc_id}} 0}}class="strong"{{/if}}> {{/foreach}} {{if $total_immo != 0}} {{#foreach from=$sommes_immo|ksort key="code" item="value"}} {{/foreach}} {{/if}}
N° Date Libellé Montant Affecté Reste N° compte Compte
{{:input type="checkbox" name="selected[]" value=$doc_id}} #{{$trans_id}} {{$trans_date|date_short}} {{$trans_label}} {{"%f"|math:$debit|money_html:false|raw}} {{"%f"|math:$allocated_amount|money_html:false|raw}} {{"%f-%f"|math:$debit:$allocated_amount|money_html:false|raw}} {{$account_label}} {{:linkbutton label="Paramètres" href="add_infos.html?immo_line_id=%s"|args:$immo_line_id shape="settings" target="_dialog" }}
Total du compte {{$code}} {{$value|money_html|raw}}
Total des immobilisations {{$total_immo|money_html|raw}}
{{else}}

Aucune écriture d'immobilisation trouvée dans la comptabilité (compte {{$first_code}} et sous-comptes)

{{/if}}