diff --git a/detach_immo.html b/detach_immo.html new file mode 100644 index 0000000..37b4397 --- /dev/null +++ b/detach_immo.html @@ -0,0 +1,73 @@ +{{* -*- brindille -*- *}} + +{{* + Supprimer l'association entre une écriture d'immobilisation et + une écriture au crédit du compte d'immobilisation + @param immo_line_id : id de la ligne d'immo + @param credit__line_id : id de la ligne de crédit + @param immo_doc_id : id du doc associé à l'immo +*}} + +{{* chercher l'écriture d'immobilisation *}} +{{#select + id_transaction + FROM acc_transactions_lines + WHERE id = :line_id; + :line_id = $_GET.immo_line_id|intval +}} + {{:assign immo_trans_id=$id_transaction}} +{{else}} + {{:error message="Immobilisation non trouvée"}} +{{/select}} + +{{* chercher l'écriture au crédit *}} +{{#select + id_transaction + FROM acc_transactions_lines + WHERE id = :line_id; + :line_id = $_GET.credit_line_id|intval +}} + {{:assign credit_id=$id_transaction}} +{{else}} + {{:error message="Écriture au crédit non trouvée"}} +{{/select}} + +{{* + chercher les liaisons de l'écriture d'immobilisation + et supprimer la liaison avec l'écriture au crédit +*}} +{{#select + CASE links.id_related = :immo_trans_id + WHEN true THEN links.id_transaction + WHEN false THEN links.id_related + END as linked_id + FROM acc_transactions_links as links + WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; + :immo_trans_id = $immo_trans_id + }} + {{if $linked_id != $credit_id}} + {{:assign var="linked_transactions." value=$linked_id}} + {{/if}} +{{/select}} + +{{* Enregistrer les liaisons *}} +{{:api + method="POST" + path="accounting/transaction/%s/transactions"|args:$immo_trans_id + assign="result" + assign_code="result_code" + transactions=$linked_transactions +}} + +{{* supprimer le doc de liaison entre les lignes *}} +{{#load type="credit_link" + where="$$.immo_doc_id = :immo_doc_id AND $$.credit_line_id = :credit_line_id" + :immo_doc_id=$_GET.immo_doc_id|intval + :credit_line_id = $_GET.credit_line_id|intval +}} + {{:delete id=$id}} +{{/load}} + +{{:redirect + to="details_immo.html?immo_doc_id=%s&ok=1&msg=detach&"|args:$_GET.immo_doc_id}} +*}} diff --git a/details_immo.html b/details_immo.html index 70fc845..c576ba6 100644 --- a/details_immo.html +++ b/details_immo.html @@ -9,12 +9,6 @@ @param immo_doc_id : numéro du doc d'immo *}} -{{* - TODO : permettre la modification des param (en cas d'erreur de saisie) - TODO : permettre de corriger le montant de l'amort et/ou de supprimer l'attachement - FAIT : déduire montant au crédit de la ligne d'immo -*}} - {{* données de l'immobilisation *}} {{#load type="immo" id=$_GET.immo_doc_id|intval assign="info_immo"}} {{else}} @@ -58,7 +52,8 @@ {{#load type="credit_link" where="$$.immo_doc_id=:immo_doc_id" :immo_doc_id=$_GET.immo_doc_id|intval}} {{#select line.credit, - trans.id, + line.id as line_id, + trans.id as trans_id, trans.label, trans.date FROM acc_transactions_lines AS line @@ -67,7 +62,7 @@ :credit_line_id=$credit_line_id }} {{:assign credit=$credit}} - {{:assign var="linked_immos." id=$id label=$label amount=$credit date=$date}} + {{:assign var="linked_immos." trans_id=$trans_id credit_line_id=$line_id label=$label amount=$credit date=$date}} {{/select}} {{if $amount == null}} {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} @@ -127,11 +122,15 @@ {{if $_GET.ok}} {{if $_GET.msg|match:"attach_amort"}} - {{:assign msg="Attachement amortissement effectué"}} + {{:assign msg="Écriture d'amortissement attachée"}} {{elseif $_GET.msg|match:"attach_immo"}} - {{:assign msg="Attachement avoir effectué"}} + {{:assign msg="Écriture au crédit attachée"}} {{elseif $_GET.msg|match:"info"}} {{:assign msg="Données de l'immobilisation enregistrées"}} + {{elseif $_GET.msg|match:"detach"}} + {{:assign msg="Écriture au crédit détachée"}} + {{else}} + {{:assign msg="Opération effectuée avec succès"}} {{/if}}

{{$msg}}

{{elseif $_GET.err}} @@ -139,24 +138,26 @@

{{$msg}}

{{/if}} -{{*

- Paramètres de l'immobilisation + Immobilisation #{{$ligne_immo.immo_trans_id}} + {{$info_immo.label}}

-*}} {{if $linked_immos != null}}