Simplification et prise en compte identifiant ou numéro de compte
dans sélecteur
This commit is contained in:
parent
e00b9b0a7e
commit
46f203a89c
|
@ -3,7 +3,6 @@
|
||||||
{{*
|
{{*
|
||||||
vérifier :
|
vérifier :
|
||||||
- que le compte débute par le préfixe corect
|
- que le compte débute par le préfixe corect
|
||||||
(20 ou 21 pour un compte d'immo, 280 ou 281 pour un compte d'amortissement)
|
|
||||||
- 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
|
||||||
|
@ -13,10 +12,7 @@
|
||||||
- account_ok
|
- account_ok
|
||||||
*}}
|
*}}
|
||||||
|
|
||||||
{{#foreach from=$account key="account_code"}}
|
{{:assign account_code=$account|keys|key:0}}
|
||||||
{{:assign account_code=$account_code}}
|
|
||||||
{{/foreach}}
|
|
||||||
|
|
||||||
{{: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:$code|cat:" OR "}}
|
||||||
|
@ -34,3 +30,4 @@
|
||||||
{{:break}}
|
{{:break}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/sql}}
|
{{/sql}}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
|
{{*
|
||||||
|
déterminer le numéro du compte passé en paramètre dans un tableau
|
||||||
|
*}}
|
||||||
|
|
||||||
|
{{:assign key=$account|keys|key:0}}
|
||||||
|
{{:assign label=$account|values|key:0}}
|
||||||
|
|
||||||
|
{{:assign pos=$label|strpos:$key}}
|
||||||
|
{{if $pos == false}}
|
||||||
|
{{:assign pos=$label|strpos:" "}}
|
||||||
|
{{:assign account_code=$label|substr:0:$pos}}
|
||||||
|
{{/if}}
|
||||||
|
{{:assign var="account_code.%s"|args:$account_code value=$label}}
|
|
@ -10,13 +10,31 @@
|
||||||
{{#form on="add"}}
|
{{#form on="add"}}
|
||||||
|
|
||||||
{{* vérifier que la date est située dans un exercice ouvert *}}
|
{{* vérifier que la date est située dans un exercice ouvert *}}
|
||||||
{{:include file="_check_date.html" date=$_POST.date keep="open_years, selected_year, selected_chart"}}
|
{{:include
|
||||||
|
file="_check_date.html"
|
||||||
|
date=$_POST.date
|
||||||
|
keep="open_years, selected_year, selected_chart"
|
||||||
|
}}
|
||||||
|
|
||||||
{{if $selected_year == null}}
|
{{if $selected_year == null}}
|
||||||
{{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
|
{{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
|
||||||
{{:error message=$message}}
|
{{:error message=$message}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}}
|
||||||
|
{{:include
|
||||||
|
file="_get_codes.html"
|
||||||
|
account=$_POST.debit_account
|
||||||
|
keep="account_code"
|
||||||
|
}}
|
||||||
|
{{:assign debit_account=$account_code}}
|
||||||
|
{{:include
|
||||||
|
file="_get_codes.html"
|
||||||
|
account=$_POST.credit_account
|
||||||
|
keep="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 20 ou 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
|
||||||
|
@ -25,23 +43,18 @@
|
||||||
{{:assign var="prefix_array." value="'21%'"}}
|
{{:assign var="prefix_array." value="'21%'"}}
|
||||||
{{:include
|
{{:include
|
||||||
file="_check_account.html"
|
file="_check_account.html"
|
||||||
account=$_POST.debit_account
|
account=$debit_account
|
||||||
chart_id=$selected_chart
|
chart_id=$selected_chart
|
||||||
prefix_array=$prefix_array
|
prefix_array=$prefix_array
|
||||||
keep="account_ok"
|
keep="account_ok"
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{if $account_ok == null}}
|
{{if $account_ok == null}}
|
||||||
{{:assign compte=$_POST.debit_account|implode:""}}
|
{{:assign compte=$debit_account|implode:""}}
|
||||||
{{:error message="Le compte « %s » n'est pas un compte d'immobilisation ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}}
|
{{:error message="Le compte « %s » n'est pas un compte d'immobilisation ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* enregistrer l'écriture *}}
|
{{* enregistrer l'écriture *}}
|
||||||
{{:assign var="credit_accounts" value=$_POST.credit_account|keys}}
|
|
||||||
{{:assign var="credit_account" value=$credit_accounts.0}}
|
|
||||||
{{:assign var="debit_accounts" value=$_POST.debit_account|keys}}
|
|
||||||
{{:assign var="debit_account" value=$debit_accounts.0}}
|
|
||||||
|
|
||||||
{{:api
|
{{:api
|
||||||
method="POST"
|
method="POST"
|
||||||
path="accounting/transaction"
|
path="accounting/transaction"
|
||||||
|
@ -51,8 +64,8 @@
|
||||||
date=$_POST.date
|
date=$_POST.date
|
||||||
label=$_POST.designation
|
label=$_POST.designation
|
||||||
amount=$_POST.montant
|
amount=$_POST.montant
|
||||||
debit=$debit_account
|
debit=$debit_account|keys|key:0
|
||||||
credit=$credit_account
|
credit=$credit_account|keys|key:0
|
||||||
id_project=$_POST.id_project
|
id_project=$_POST.id_project
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -72,14 +85,15 @@
|
||||||
line=$immo_id
|
line=$immo_id
|
||||||
duration=$_POST.duree|intval
|
duration=$_POST.duree|intval
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{:redirect force="index.html?ok=1&msg=immobilisation"}}
|
{{:redirect force="index.html?ok=1&msg=immobilisation"}}
|
||||||
|
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:form_errors}}
|
{{:form_errors}}
|
||||||
|
|
||||||
{{* formulaire d'ajout d'immobilisation *}}
|
{{* formulaire d'ajout d'immobilisation *}}
|
||||||
{{:assign var="bank_account.512" value="512 — Banques"}}
|
{{:assign var="bank_account.512" value="512 — Banques"}}
|
||||||
|
{{:assign var="immo_account.2" value="2 — Classe 2 — Comptes d'immobilisations"}}
|
||||||
|
|
||||||
{{#select id,label FROM acc_projects WHERE archived = 0;}}
|
{{#select id,label FROM acc_projects WHERE archived = 0;}}
|
||||||
{{:assign var="projects.%d"|args:$id value=$label}}
|
{{:assign var="projects.%d"|args:$id value=$label}}
|
||||||
|
@ -107,6 +121,7 @@
|
||||||
label="Compte d'immobilisation (20xx ou 21xx)"
|
label="Compte d'immobilisation (20xx ou 21xx)"
|
||||||
required=true
|
required=true
|
||||||
target="!acc/charts/accounts/selector.php?key=code"
|
target="!acc/charts/accounts/selector.php?key=code"
|
||||||
|
default=$immo_account
|
||||||
}}
|
}}
|
||||||
{{if $projects != null}}
|
{{if $projects != null}}
|
||||||
{{:input type="select" name="id_project" label="Projet (analytique)" options=$projects default_empty="— Aucun —"}}
|
{{:input type="select" name="id_project" label="Projet (analytique)" options=$projects default_empty="— Aucun —"}}
|
||||||
|
|
|
@ -11,13 +11,31 @@
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
|
||||||
{{* vérifier que la date est située dans un exercice ouvert *}}
|
{{* vérifier que la date est située dans un exercice ouvert *}}
|
||||||
{{:include file="_check_date.html" date=$_POST.date keep="open_years, selected_year, selected_chart"}}
|
{{:include
|
||||||
|
file="_check_date.html"
|
||||||
|
date=$_POST.date
|
||||||
|
keep="open_years, selected_year, selected_chart"
|
||||||
|
}}
|
||||||
|
|
||||||
{{if $selected_year == null}}
|
{{if $selected_year == null}}
|
||||||
{{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
|
{{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
|
||||||
{{:error message=$message}}
|
{{:error message=$message}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}}
|
||||||
|
{{:include
|
||||||
|
file="_get_codes.html"
|
||||||
|
account=$_POST.debit_account
|
||||||
|
keep="account_code"
|
||||||
|
}}
|
||||||
|
{{:assign debit_account=$account_code}}
|
||||||
|
{{:include
|
||||||
|
file="_get_codes.html"
|
||||||
|
account=$_POST.credit_account
|
||||||
|
keep="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 280 ou 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
|
||||||
|
@ -26,15 +44,15 @@
|
||||||
{{:assign var="prefix_array." value="'281%'"}}
|
{{:assign var="prefix_array." value="'281%'"}}
|
||||||
{{:include
|
{{:include
|
||||||
file="_check_account.html"
|
file="_check_account.html"
|
||||||
account=$_POST.credit_account
|
account=$credit_account
|
||||||
chart_id=$selected_chart
|
chart_id=$selected_chart
|
||||||
prefix_array=$prefix_array
|
prefix_array=$prefix_array
|
||||||
keep="account_ok"
|
keep="account_ok"
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{if $account_ok == null}}
|
{{if $account_ok == null}}
|
||||||
{{:assign compte=$_POST.credit_account|implode:""}}
|
{{:assign compte=$credit_account|implode:""}}
|
||||||
{{:error message="Le compte « %s » n'est pas un compte d'immobilisation ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}}
|
{{: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}}
|
||||||
{{/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 *}}
|
||||||
|
@ -49,14 +67,14 @@
|
||||||
{{:assign
|
{{:assign
|
||||||
var="lines."
|
var="lines."
|
||||||
debit=$_POST.montant
|
debit=$_POST.montant
|
||||||
account=$_POST.debit_account|keys|key:0
|
account=$debit_account|keys|key:0
|
||||||
id_project=$_GET.project_id
|
id_project=$_GET.project_id
|
||||||
label=$_POST.designation
|
label=$_POST.designation
|
||||||
}}
|
}}
|
||||||
{{:assign
|
{{:assign
|
||||||
var="lines."
|
var="lines."
|
||||||
credit=$_POST.montant
|
credit=$_POST.montant
|
||||||
account=$_POST.credit_account|keys|key:0
|
account=$credit_account|keys|key:0
|
||||||
id_project=$_GET.project_id
|
id_project=$_GET.project_id
|
||||||
label=$_POST.designation
|
label=$_POST.designation
|
||||||
}}
|
}}
|
||||||
|
|
Loading…
Reference in New Issue