Compare commits

..

3 Commits

8 changed files with 64 additions and 24 deletions

View File

@ -2,7 +2,7 @@
{{* {{*
vérifier : vérifier :
- que le compte débute par le préfixe corect - que le compte débute par le préfixe correct
- est présent dans le PC indiqué - est présent dans le PC indiqué
paramètres : paramètres :
- account : tableau avec un identifiant de compte - account : tableau avec un identifiant de compte
@ -12,13 +12,14 @@
- account_ok - account_ok
*}} *}}
{{:assign account_code=$account|keys|key:0}} {{:assign quote="'"}}
{{:assign condition=" AND ("}} {{:assign condition=" AND ("}}
{{#foreach from=$prefix_array item="code"}} {{#foreach from=$prefix_array item="code"}}
{{:assign condition=$condition|cat:" code LIKE "|cat:$code|cat:" OR "}} {{:assign condition=$condition|cat:" code LIKE "|cat:$quote|cat:$code|cat:"%"|cat:$quote|cat:" OR "}}
{{/foreach}} {{/foreach}}
{{:assign condition=$condition|cat:"0)"}} {{:assign condition=$condition|cat:"0)"}}
{{:assign account_code=$account|keys|key:0}}
{{#sql {{#sql
select="code" select="code"
tables="acc_accounts" tables="acc_accounts"

21
add_account.html Normal file
View File

@ -0,0 +1,21 @@
{{* -*- brindille -*- *}}
{{:admin_header title="Ajout immobilisation" current="module_amortissement"}}
{{* barre de navigation *}}
{{if ! $dialog}}
{{:include file="_nav.html" current="index"}}
{{/if}}
<div class="block error">
Le compte « {{$_GET.account}} » n'est pas un compte
d'amortissement ou n'est pas dans le plan comptable de l'exercice
choisi
</div>
<div>
{{:linkbutton
label="Créer le compte"
shape="plus"
href="!acc/charts/accounts/new.php?id=%s"|args:$_GET.chart
}}
</div>

View File

@ -43,11 +43,14 @@
{{:assign credit_account=$account_code}} {{:assign credit_account=$account_code}}
{{* vérifier : {{* vérifier :
- que le compte d'immo débute par 20 ou 21 - que le compte d'immo débute par un préfixe correct (20, 21, ...)
- est présent dans le PC de l'exercice correspondant à la date - est présent dans le PC de l'exercice correspondant à la date
*}} *}}
{{:assign var="prefix_array." value="'20%'"}}
{{:assign var="prefix_array." value="'21%'"}} {{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:assign var="prefix_array" value=$config_defaut.prefixes|keys}}
{{:include {{:include
file="_check_account.html" file="_check_account.html"
account=$debit_account account=$debit_account
@ -94,7 +97,6 @@
date=$date_debut date=$date_debut
}} }}
{{:redirect force="index.html?ok=1&msg=immobilisation"}} {{:redirect force="index.html?ok=1&msg=immobilisation"}}
{{/form}} {{/form}}
{{:form_errors}} {{:form_errors}}
@ -127,7 +129,7 @@
{{:input {{:input
type="list" type="list"
name="debit_account" name="debit_account"
label="Compte d'immobilisation (20xx ou 21xx)" label="Compte d'immobilisation (20xx, 21xx, ...)"
required=true required=true
target="!acc/charts/accounts/selector.php?key=code" target="!acc/charts/accounts/selector.php?key=code"
default=$immo_account default=$immo_account

View File

@ -7,9 +7,9 @@
{{if $_GET.ok}} {{if $_GET.ok}}
{{if $_GET.msg|match:"attach"}} {{if $_GET.msg|match:"attach"}}
{{:assign msg="Attachement effectué"}} {{:assign msg="Attachement effectué (écriture %s)"|args:$_GET.trans_id}}
{{elseif $_GET.msg|match:"detach"}} {{elseif $_GET.msg|match:"detach"}}
{{:assign msg="Attachement supprimé"}} {{:assign msg="Attachement supprimé (écriture %s)"|args:$_GET.trans_id}}
{{elseif $_GET.msg|match:"amortissement"}} {{elseif $_GET.msg|match:"amortissement"}}
{{:assign msg="Amortissement enregistré"}} {{:assign msg="Amortissement enregistré"}}
{{/if}} {{/if}}

View File

@ -53,4 +53,4 @@
assign_code="result_code" assign_code="result_code"
transactions=$linked_transactions transactions=$linked_transactions
}} }}
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=attach"|args:$_GET.immo_id}} {{:redirect to="amortization.html?immo_id=%s&ok=1&msg=attach&trans_id=%s"|args:$_GET.immo_id:$amort_id}}

View File

@ -55,4 +55,4 @@
assign_code="result_code" assign_code="result_code"
transactions=$linked_transactions transactions=$linked_transactions
}} }}
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=detach"|args:$_GET.immo_id}} {{:redirect to="amortization.html?immo_id=%s&ok=1&msg=detach&trans_id=%s"|args:$_GET.immo_id:$amort_id}}

View File

@ -29,7 +29,6 @@
{{/select}} {{/select}}
{{/load}} {{/load}}
{{* lister les immobilisations *}}
<section class="immobilisation"> <section class="immobilisation">
<h2 class="ruler">Liste des immobilisations</h2> <h2 class="ruler">Liste des immobilisations</h2>
@ -48,9 +47,17 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{*
TODO améliorer cette requête : voir si assez général {{* lister les immobilisations *}}
*}} {{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:assign var="prefix_array" value=$config_defaut.prefixes|keys}}
{{:assign quote="'"}}
{{:assign condition="("}}
{{#foreach from=$prefix_array item="code"}}
{{:assign condition=$condition|cat:" account.code LIKE "|cat:$quote|cat:$code|cat:"%"|cat:$quote|cat:" OR "}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{#select {{#select
trans.id as trans_id, trans.id as trans_id,
@ -68,9 +75,9 @@
INNER JOIN acc_accounts AS account ON line.id_account = account.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 INNER JOIN acc_years AS years ON trans.id_year = years.id
LEFT JOIN acc_projects AS project ON line.id_project = project.id LEFT JOIN acc_projects AS project ON line.id_project = project.id
WHERE WHERE !condition
(account.code LIKE '21%' OR account.code LIKE '22%' OR account.code LIKE '27%') ORDER BY trans.date DESC;
ORDER BY trans.date DESC !condition=$condition
}} }}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} {{: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 compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}

View File

@ -36,22 +36,31 @@
{{:assign credit_account=$account_code}} {{:assign credit_account=$account_code}}
{{* vérifier : {{* vérifier :
- que le compte d'amortissement débute par 280 ou 281 - que le compte d'amortissement débute par un préfixe correct (280, 281, ...)
- est présent dans le PC de l'exercice correspondant à la date - est présent dans le PC de l'exercice correspondant à la date
*}} *}}
{{:assign var="prefix_array." value="'280%'"}} {{:read file="./defaut.json" assign="config_json"}}
{{:assign var="prefix_array." value="'281%'"}} {{:assign config_defaut=$config_json|json_decode}}
{{:assign var="prefix_array" value=$config_defaut.prefixes|keys}}
{{#foreach from=$prefix_array item="code"}}
{{:assign code_s=$code|strval}}
{{:assign ch1=$code_s|substr:0:1}}
{{:assign reste=$code_s|substr:1}}
{{:assign code=$ch1|cat:"8"|cat:$reste}}
{{:assign var="amort_array." value=$code|intval}}
{{/foreach}}
{{:include {{:include
file="_check_account.html" file="_check_account.html"
account=$credit_account account=$credit_account
chart_id=$selected_chart chart_id=$selected_chart
prefix_array=$prefix_array prefix_array=$amort_array
keep="account_ok" keep="account_ok"
}} }}
{{if $account_ok == null}} {{if $account_ok == null}}
{{:assign compte=$credit_account|implode:""}} {{:assign compte=$credit_account|implode:""}}
{{:error message="Le compte « %s » n'est pas un compte d'amortissement ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}} {{:redirect url="add_account.html?account=%s&chart=%s&immo_id=%s"|args:$compte:$selected_chart:$_GET.immo_id}}
{{/if}} {{/if}}
{{* vérifier que le montant ne dépasse pas le solde restant *}} {{* vérifier que le montant ne dépasse pas le solde restant *}}