[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 141/238: Currency : for misc. operation
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 141/238: Currency : for misc. operation |
Date: |
Sat, 26 Oct 2019 04:40:53 -0400 (EDT) |
sparkyx pushed a commit to annotated tag rel7110
in repository noalyss.
commit 656b1cfb88006a94620fa9f94fb4313457e41226
Author: Dany De Bontridder <address@hidden>
Date: Wed Jan 2 11:18:03 2019 +0100
Currency : for misc. operation
---
html/js/acc_currency.js | 75 +++++++++-
html/js/compute_direct.js | 10 ++
include/class/acc_ledger.class.php | 168 +++++++++++++++++++++--
include/class/acc_ledger_purchase.class.php | 4 +-
include/class/acc_ledger_sold.class.php | 2 +-
include/class/fiche.class.php | 6 +-
include/class/noalyss_parameter_folder.class.php | 5 +-
include/operation_ods_confirm.inc.php | 2 +-
include/operation_ods_new.inc.php | 22 ++-
include/template/form_ledger_detail.php | 3 +-
10 files changed, 269 insertions(+), 28 deletions(-)
diff --git a/html/js/acc_currency.js b/html/js/acc_currency.js
index 51ff8ec..0fb6fdf 100644
--- a/html/js/acc_currency.js
+++ b/html/js/acc_currency.js
@@ -96,7 +96,7 @@ function CurrencyUpdateCode(p_dossier,p_code,p_update)
});
}
/**
- * Update the field Update with the amount in EUR
+ * Update the field Update with the amount in EUR (= default currency), ledger
sale or purchase
* @param DOMID p_rate where the rate is stored
* @param DOMID p_update element to update with the rate
*/
@@ -121,12 +121,50 @@ function CurrencyCompute(p_rate,p_update)
}
/**
- *
- * @param {type} p_dossier
- * @param {type} p_code
- * @param {type} p_update
- * @param {type} p_rate
- * @param {type} p_eur_amount
+ * Update the field Update with the amount in EUR (= default currency) for
Miscealleneous Operation
+ * amount for DEB (domid : default_currency_deb , totalDeb)
+ * amount for CRED ( domid = default_currency_cred , totalCred),
+ * @param DOMID p_rate where the rate is stored
+ * @param DOMID p_update element to update with the rate
+ */
+function CurrencyComputeMisc(p_rate,p_update)
+{
+ var debAmount=$('totalDeb').innerHTML;
+ var credAmount=$('totalCred').innerHTML;
+
+ console.log("debAmount= "+debAmount);
+ console.log("credAmount= "+credAmount);
+ if ( isNaN(debAmount)) {
+ console.log("debAmount is nan" + debAmount);
+ debAmount=0;
+ }
+ if ( isNaN(credAmount)) {
+ console.log("credAmount is nan" + credAmount);
+ credAmount=0;
+ }
+ var rate=$(p_rate).value;
+ console.log("rate = "+rate);
+ if ( isNaN(rate) || parseFloat(rate) == 0) {
+ console.log("rate is nan" + rate);
+ rate=1;
+ }
+ var totDeb=debAmount*rate;
+ totDeb=Math.round(totDeb*100)/100;
+ $('default_currency_deb').innerHTML=totDeb;
+
+ var totCred=credAmount*rate;
+ totCred=Math.round(totCred*100)/100;
+ $('default_currency_cred').innerHTML=totCred;
+
+}
+
+/**
+ * Update the screen of input for Purchase and Sale
+ * @param {type} p_dossier
+ * @param {type} p_code name of the SELECT containing the currency code
+ * @param {type} p_update Domid of the element to update
+ * @param {type} p_rate domid of the element containing the currency rate
+ * @param {type} p_eur_amount domid of the amount in default currency to update
* @returns {undefined}
*/
function LedgerCurrencyUpdate(p_dossier,p_code,p_update,p_rate,p_eur_amount)
@@ -142,4 +180,27 @@ function
LedgerCurrencyUpdate(p_dossier,p_code,p_update,p_rate,p_eur_amount)
// Compute all the fields
compute_all_ledger ();
+}
+/**
+ * Update the screen of input for Misc. Operation
+ * @param {type} p_dossier
+ * @param {type} p_code name of the SELECT containing the currency code
+ * @param {type} p_update Domid of the element to update
+ * @param {type} p_rate domid of the element containing the currency rate
+ * @param {type} p_eur_amount domid of the amount in default currency to update
+ * @returns {undefined}
+ */
+function
LedgerCurrencyUpdateMisc(p_dossier,p_code,p_update,p_rate,p_eur_amount)
+{
+ // Hide or show the row of the table with the amount in EUR (= default
currency)
+ if ($(p_code).value != -1) {
+ $('row_currency').show();
+ }else {
+ $('row_currency').hide();
+ }
+ CurrencyUpdateValue(p_dossier,p_code,p_rate);
+ CurrencyUpdateCode(p_dossier,p_code,p_update);
+ // Compute all the fields
+ checkTotalDirect();
+
}
\ No newline at end of file
diff --git a/html/js/compute_direct.js b/html/js/compute_direct.js
index 8773ace..f145cc7 100644
--- a/html/js/compute_direct.js
+++ b/html/js/compute_direct.js
@@ -18,6 +18,12 @@
/*!\file
*\brief common function for "Ecriture directe"
*/
+/**
+ * Compute the sum of the debit and credit of the operation in the input
screen for misceallenous operation
+ * Call CurrencyComputeMisc to update the amount in default currency for DEB
(domid = default_currency_deb)
+ * and CRED ( domid = default_currency_cred),
+ * @returns {Boolean} true if ok
+ */
function checkTotalDirect()
{
var ie4=false;
@@ -77,6 +83,10 @@ function checkTotalDirect()
r_total_deb=Math.round(total_deb*100)/100;
document.getElementById('totalDeb').innerHTML=r_total_deb;
document.getElementById('totalCred').innerHTML=r_total_cred;
+ // Currency , update the amount in default currency for DEB (domid =
default_currency_deb)
+ // and CRED ( domid = default_currency_cred),
+ CurrencyComputeMisc('p_currency_rate','p_currency_euro');
+
var diff=0;
if ( r_total_deb != r_total_cred )
{
diff --git a/include/class/acc_ledger.class.php
b/include/class/acc_ledger.class.php
index 52ca1bf..7dfcd0e 100644
--- a/include/class/acc_ledger.class.php
+++ b/include/class/acc_ledger.class.php
@@ -586,6 +586,7 @@ class Acc_Ledger extends jrn_def_sql
function confirm($p_array, $p_readonly=false)
{
global $g_parameter;
+ $http=new HttpInput();
$msg=array();
if (!$p_readonly)
$msg=$this->verify($p_array);
@@ -737,8 +738,26 @@ class Acc_Ledger extends jrn_def_sql
$ret.="</tr>";
}
- $ret.=tr(td('').td(_('Totaux')).td($total_deb,
'class="num"').td($total_cred,
+ $currency_code=$http->extract($p_array,"p_currency_code","number");
+ $currency_rate=$http->extract($p_array,"p_currency_rate","number");
+ $currency=new Acc_Currency($this->db,$currency_code);
+ $msg_currency= ($currency_code != 0 )?sprintf(_("Totaux %s
(%s)"),$currency->get_code(),$currency_rate):_("Totaux");
+
+ $ret.=tr(td('').td($msg_currency).td($total_deb,
'class="num"').td($total_cred,
'class="num"'), 'class="highlight"');
+ // Currency
+ if ( $currency_code != 0)
+ {
+ $currency_rate=$http->extract($p_array,"p_currency_rate","number");
+ $default_currency=new Acc_Currency($this->db,0);
+
+ $ret.=tr(td('').
+ td(_('Totaux')." ".$default_currency->get_code()).
+ td(bcdiv($total_deb,$currency_rate), 'class="num"').
+ td(bcdiv($total_cred,$currency_rate), 'class="num"'),
+ 'class="highlight"');
+ }
+
$ret.="</table>";
if ($g_parameter->MY_ANALYTIC!='nu'&&$p_readonly==false)
$ret.='<input type="button" class="button" value="'._('verifie
Imputation Analytique').'" onClick="verify_ca(\'\');">';
@@ -889,6 +908,21 @@ class Acc_Ledger extends jrn_def_sql
$ret.='</tr>';
$ret.='</table>';
+
+ // Currency
+ $currency_select = $this->CurrencyInput("currency_code",
"p_currency_rate" , "p_currency_euro");
+
$currency_select->selected=$http->request('p_currency_code','string',0);
+
+ $currency_input=new INum("p_currency_rate",6);
+ $currency_input->id="p_currency_rate";
+ $currency_input->value=$http->request('p_currency_rate','string',1);
+
$currency_input->javascript='onchange="format_number(this,6);CurrencyCompute(\'p_currency_rate\',\'p_currency_euro\');"';
+ $ret.=_("Devise")." ".$currency_select->input();
+ $ret.=$currency_input->change();
+ $currency=new Acc_Currency($this->db,0);
+ $ret.=$currency->get_code();
+
+
$nb_row=(isset($nb_item) )?$nb_item:$this->nb;
$ret.=HtmlInput::hidden('nb_item', $nb_row);
@@ -1032,6 +1066,8 @@ class Acc_Ledger extends jrn_def_sql
*/
function verify($p_array)
{
+ global $g_parameter;
+ $http=new HttpInput();
if (is_array($p_array)==false||empty($p_array))
throw new Exception("Array empty");
/*
@@ -1044,7 +1080,40 @@ class Acc_Ledger extends jrn_def_sql
$tot_cred=0;
$tot_deb=0;
$msg=array();
+ /* Check currency : rate cannot be equal to 0 */
+ $currency_rate=$http->extract($p_array,"p_currency_rate","number");
+ if ( $currency_rate <=0 ) {
+ throw new Exception(_("Taux de conversion doit être supérieur à
0"),3);
+ }
+ /* Check currency : Does the currency parameter exist */
+ $currency_code=$http->extract($p_array,"p_currency_code","number");
+ $currency=new Acc_Currency($this->db,$currency_code);
+
+ if ( $currency->get_code() == -1 )
+ {
+ throw new Exception(_('Devise inconnue'), 3);
+ }
+
+ /* -- check the accounting for error of exchange -*/
+ if ( $currency->get_code() == 0 )
+ {
+ $poste=new
Acc_Account($this->db,$g_parameter->MY_DEFAULT_ROUND_ERROR_DEB);
+ if ($poste->get_parameter("id") == -1 )
+ {
+ throw new Exception(
+ sprintf(_("Dans COMPANY, vous n'avez pas paramétré
correctement ".
+ " le compte de débit %s pour les erreurs de
conversion"),$g_parameter->MY_DEFAULT_ROUND_ERROR_DEB), 3);
+ }
+ $poste=new
Acc_Account($this->db,$g_parameter->MY_DEFAULT_ROUND_ERROR_CRED);
+ if ($poste->get_parameter("id") == -1 )
+ {
+ throw new Exception(
+ sprintf(_("Dans COMPANY, vous n'avez pas paramétré
correctement ".
+ " le compte de crédit %s pour les erreurs de
conversion"),$g_parameter->MY_DEFAULT_ROUND_ERROR_CRED), 3);
+ }
+ }
+
/* check if we can write into this ledger */
if ($g_user->check_jrn($p_jrn)!='W')
throw new Exception(_('Accès interdit'), 20);
@@ -1211,8 +1280,12 @@ class Acc_Ledger extends jrn_def_sql
function save($p_array=null)
{
if ($p_array==null)
+ {
throw new Exception('save cannot use a empty array');
+ }
global $g_parameter;
+ bcscale(4);
+ $http=new HttpInput();
extract($p_array, EXTR_SKIP);
try
{
@@ -1243,6 +1316,12 @@ class Acc_Ledger extends jrn_def_sql
}
$count=0;
+
+ // currency
+ $currency_code=$http->extract($p_array,
"p_currency_code","number");
+ $currency_rate=$http->extract($p_array,
"p_currency_rate","number");
+ $currency_rate_ref=new Acc_Currency($this->db, $currency_code);
+
for ($i=0; $i<$nb_item; $i++)
{
if (!isset(${'qc_'.$i})&&!isset(${'poste'.$i}))
@@ -1282,14 +1361,25 @@ class Acc_Ledger extends jrn_def_sql
$acc_op->desc=null;
if (strlen(trim(${'ld'.$i}))!=0)
$acc_op->desc=${'ld'.$i};
- $acc_op->amount=round(${'amount'.$i}, 2);
+
+ // Amount in default currency , usually EUR
+
$acc_op->amount=round(bcdiv(${'amount'.$i},$p_currency_rate),2);
$acc_op->grpt=$seq;
$acc_op->poste=$poste;
$acc_op->jrn=$this->id;
$acc_op->type=(isset(${'ck'.$i}))?'d':'c';
$acc_op->qcode=$quick_code;
$j_id=$acc_op->insert_jrnx();
- $tot_amount+=round($acc_op->amount, 2);
+
+ // Save in currency
+ $operation_currency=new Operation_currency_SQL($this->db);
+ $operation_currency->oc_amount=round(${'amount'.$i}, 2);
+ $operation_currency->oc_vat_amount=0;
+ $operation_currency->oc_price_unit=0;
+ $operation_currency->j_id=$j_id;
+ $operation_currency->insert();
+
+ $tot_amount=bcadd($tot_amount,round($acc_op->amount, 2));
$tot_deb+=($acc_op->type=='d')?$acc_op->amount:0;
$tot_cred+=($acc_op->type=='c')?$acc_op->amount:0;
if ($g_parameter->MY_ANALYTIC!="nu")
@@ -1304,22 +1394,62 @@ class Acc_Ledger extends jrn_def_sql
$op->oa_date=$e_date;
$op->oa_debit=($acc_op->type=='d' )?'t':'f';
$op->oa_description=$desc;
- $op->save_form_plan($p_array, $count, $j_id);
+
+ // send the amount in default currency to analytic
+ $an_array=$p_array;
+ $an_array['amount'.$i]=$acc_op->amount;
+ $op->save_form_plan($an_array, $count, $j_id);
$count++;
}
}
}// loop for each item
$acc_end=new Acc_Operation($this->db);
+ // Check the balance
+ if ( $tot_deb != $tot_cred ) {
+
+ $diff=bcsub($tot_cred, $tot_deb);
+ // store the difference in currency_rounded_delta
+ $poste_cred = $g_parameter->MY_DEFAULT_ROUND_ERROR_CRED;
+ $side="c";
+ if ( $diff > 0 )
+ {
+ $poste=$g_parameter->MY_DEFAULT_ROUND_ERROR_DEB;
+ $side="d";
+
+ }
+
+ // insert difference of change
+ $acc_change=new Acc_Operation($this->db);
+ $acc_change->amount=abs($diff);
+ $acc_change->grpt=$seq;
+ $acc_change->poste=$poste;
+ $acc_change->jrn=$this->id;
+ $acc_change->type=$side;
+ $acc_change->date=$e_date;
+ $acc_change->desc=_("Différence de change");
+
+ $change_j_id=$acc_change->insert_jrnx();
+
+ $tot_deb=bcadd($tot_deb,$diff);
+
+ }
$acc_end->amount=$tot_deb;
if ($check_periode==false)
+ {
$acc_end->periode=$oPeriode->p_id;
+ }
$acc_end->date=$e_date;
$acc_end->desc=$desc;
$acc_end->grpt=$seq;
$acc_end->jrn=$this->id;
$acc_end->mt=$mt;
$acc_end->jr_optype=$jr_optype;
+ $acc_end->currency_id=$currency_code;
+ $acc_end->currency_rate=$currency_rate;
+ $acc_end->currency_rate_ref=$currency_rate_ref->get_rate();
+
$jr_id=$acc_end->insert_jrn();
+
$this->jr_id=$jr_id;
if ($jr_id==false)
throw new Exception(_('Balance incorrecte'));
@@ -2967,19 +3097,37 @@ class Acc_Ledger extends jrn_def_sql
}
/**
* Create a select from value for currency and add javascript to update
$p_currency_rate and
- * $p_eur_amount
+ * $p_eur_amount
* @param string DOMID $p_currency_code
* @param string DOMID $p_currency_rate
* @param string DOMID $p_eur_amount
*/
- function
CurrencyInput($p_currency_code,$p_currency_rate,$p_eur_amount)
+ function CurrencyInput($p_currency_code, $p_currency_rate, $p_eur_amount)
{
- $currency = new Acc_Currency($this->db);
- $select=$currency->select_currency();
-
$select->javascript=sprintf('onchange="LedgerCurrencyUpdate(\'%s\',\'%s\',\'%s\',\'%s\',\'%s\');$(\'update_p_currency_rate\').innerHTML=$(\'p_currency_rate\').value;"',
-
Dossier::id(),$select->name,$p_currency_code,$p_currency_rate,$p_eur_amount);
+ $type=$this->get_type();
+ $currency=new Acc_Currency($this->db);
+ $select=$currency->select_currency();
+ if ($type =='ODS')
+ {
+
+
$select->javascript=sprintf('onchange="LedgerCurrencyUpdateMisc(\'%s\',\'%s\',\'%s\',\'%s\',\'%s\');'.
+
'$(\'update_p_currency_rate\').innerHTML=$(\'p_currency_rate\').value;"',
+ Dossier::id(), $select->name, $p_currency_code,
$p_currency_rate, $p_eur_amount);
+ }
+ elseif ($type == 'ACH' || $type == 'VEN')
+ {
+
+
$select->javascript=sprintf('onchange="LedgerCurrencyUpdate(\'%s\',\'%s\',\'%s\',\'%s\',\'%s\');'.
+
'$(\'update_p_currency_rate\').innerHTML=$(\'p_currency_rate\').value;"',
+ Dossier::id(), $select->name, $p_currency_code,
$p_currency_rate, $p_eur_amount);
+ }
+ else
+ {
+ throw new Exception(_("Journal type non déterminé"));
+ }
return $select;
}
+
/**
* @brief returns the code iso of the default currency for this ledger
*/
diff --git a/include/class/acc_ledger_purchase.class.php
b/include/class/acc_ledger_purchase.class.php
index af6f33e..fefced5 100644
--- a/include/class/acc_ledger_purchase.class.php
+++ b/include/class/acc_ledger_purchase.class.php
@@ -1400,8 +1400,8 @@ class Acc_Ledger_Purchase extends Acc_Ledger
$currency_input->id="p_currency_rate";
$currency_input->value=$http->request('p_currency_rate','string',1);
$currency_input->javascript='onchange="format_number(this,4);CurrencyCompute(\'p_currency_rate\',\'p_currency_euro\');"';
-
-
+
+ $currency=new Acc_Currency($this->db,0);
//
// Button for template operation
diff --git a/include/class/acc_ledger_sold.class.php
b/include/class/acc_ledger_sold.class.php
index 0640e10..e55ae9b 100644
--- a/include/class/acc_ledger_sold.class.php
+++ b/include/class/acc_ledger_sold.class.php
@@ -1493,7 +1493,7 @@ EOF;
$currency_input->value=$http->request('p_currency_rate','string',1);
$currency_input->javascript='onchange="format_number(this,4);CurrencyCompute(\'p_currency_rate\',\'p_currency_euro\');"';
-
+ $currency=new Acc_Currency($this->db,0);
//
// Button for template operation
diff --git a/include/class/fiche.class.php b/include/class/fiche.class.php
index fc02a9e..91aaae8 100644
--- a/include/class/fiche.class.php
+++ b/include/class/fiche.class.php
@@ -1276,7 +1276,11 @@ class Fiche
sum_oc_amount as oc_amount,
sum_oc_vat_amount as oc_vat_amount
from jrnx as j1 left join jrn_def on
jrn_def_id=j_jrn_def
- left join v_all_card_currency as v1 on
(v1.j_id=j1.j_id )
+ left join (select j_id,
+ coalesce(oc_amount,0) as
sum_oc_amount ,
+ coalesce(oc_vat_amount,0) as
sum_oc_vat_amount
+ from jrnx left join
operation_currency using (j_id)
+ ) as v1 on (v1.j_id=j1.j_id )
left join jrn on jr_grpt_id=j_grpt".
" left join parm_periode on (p_id=jr_tech_per)
".
" where j_qcode=$1 and ".
diff --git a/include/class/noalyss_parameter_folder.class.php
b/include/class/noalyss_parameter_folder.class.php
index 31b79b8..4d32dd5 100644
--- a/include/class/noalyss_parameter_folder.class.php
+++ b/include/class/noalyss_parameter_folder.class.php
@@ -45,6 +45,8 @@ class Noalyss_Parameter_Folder
var $MY_ALPHANUM;
var $MY_UPDLAB;
var $MY_STOCK;
+ var $MY_DEFAULT_ROUND_ERROR_DEB;
+ var $MY_DEFAULT_ROUND_ERROR_CRED;
// constructor
function __construct($p_cn)
@@ -124,7 +126,8 @@ class Noalyss_Parameter_Folder
$this->save('MY_ALPHANUM');
$this->save('MY_UPDLAB');
$this->save('MY_STOCK');
- $this->save('MY_CURRENCY');
+ $this->save('MY_DEFAULT_ROUND_ERROR_DEB');
+ $this->save('MY_DEFAULT_ROUND_ERROR_CRED');
}
diff --git a/include/operation_ods_confirm.inc.php
b/include/operation_ods_confirm.inc.php
index 8007ef4..98c3d64 100644
--- a/include/operation_ods_confirm.inc.php
+++ b/include/operation_ods_confirm.inc.php
@@ -38,7 +38,7 @@ echo h2(_("Attention, cette opération n'est pas encore sauvée
: vous devez enc
echo '</div>';
echo '<FORM METHOD="POST" enctype="multipart/form-data" class="print">';
-echo HtmlInput::request_to_hidden(array('ac'));
+echo
HtmlInput::request_to_hidden(array('ac','p_currency_code','p_currency_rate'));
echo $ledger->confirm($_POST,false);
diff --git a/include/operation_ods_new.inc.php
b/include/operation_ods_new.inc.php
index f3dcacd..d026384 100644
--- a/include/operation_ods_new.inc.php
+++ b/include/operation_ods_new.inc.php
@@ -74,6 +74,8 @@ echo '<form method="post" class="print" onsubmit="return
controleBalance();" >'
echo dossier::hidden();
echo HtmlInput::request_to_hidden(array('ac','jr_optype'));
+$default_currency=new Acc_Currency($cn,0);
+
echo $ledger->input($p_post);
@@ -81,12 +83,24 @@ echo $ledger->input($p_post);
echo '<div style="position:absolute;width:40%;right:20px">';
echo '<table class="info_op">'.
- '<tr>'.td(_('Débit')) . '<td id="totalDeb"></td>' .
- td(_('Crédit')) . ' <td id="totalCred"></td>' .
- td(_('Difference')) . ' <td id="totalDiff"></td>'.
+ '<tr>'.td('').
+ td(_('Débit')) .
+ '<td id="totalDeb" class="num"></td>' .
+ td(_('Crédit')) .
+ ' <td id="totalCred" class="num"></td>' .
+ td(_('Difference')) .
+ ' <td id="totalDiff"></td>'.
+ '</tr>';
+// For currency
+echo '<tr id="row_currency">'.td($default_currency->get_code()).
+ td(_('Débit')) .
+ '<td id="default_currency_deb" class="num"></td>' .
+ td(_('Crédit')) .
+ ' <td id="default_currency_cred" class="num"></td>' .
+ td().
'</tr>';
-
echo '</table>';
+
echo '</div>';
$iconcerned=new IConcerned('jrn_concerned');
diff --git a/include/template/form_ledger_detail.php
b/include/template/form_ledger_detail.php
index 6c35439..b337c9d 100644
--- a/include/template/form_ledger_detail.php
+++ b/include/template/form_ledger_detail.php
@@ -67,7 +67,8 @@
</td>
<td>
<?=$currency_select->input()?>
- <?=$currency_input->change()?>EUR
+ <?=$currency_input->change()?>
+ <?=$currency->get_code();?>
</td>
</tr>
- [Noalyss-commit] [noalyss] 148/238: remove commented code, (continued)
- [Noalyss-commit] [noalyss] 148/238: remove commented code, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 125/238: Merge branch 'master' into r700-currency, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 170/238: Merge branch 'r700-currency' of gitlab.noalyss.eu:noalyss/noalyss into r700-currency, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 129/238: Esthetic with button "Add accounting", Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 144/238: Currency : meaning 1 EUR is worth x currency for Sales, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 132/238: Translation, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 120/238: Currency : send the saldo for financial ledger, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 145/238: Currency : the meaning is : 1 euro is worth xxx Currency , so we divide the amount with the currency rate to compute the EUR value, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 140/238: Misc. Operation : input : Missing tag TR, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 137/238: Translation, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 141/238: Currency : for misc. operation,
Dany De Bontridder <=
- [Noalyss-commit] [noalyss] 164/238: Currency Show currency info for MISC, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 161/238: PHP 7.2 incomptability : sizeof of not array, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 166/238: Typo, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 154/238: by default jrn is an empty array, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 149/238: Currency : purchase, save all detail also in currency, fix problem with the advance payment, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 160/238: Protect parameters, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 157/238: Merge branch 'r700-currency' of gitlab.noalyss.eu:noalyss/noalyss into r700-currency, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 162/238: Currency - fix view, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 150/238: Currency : detail operation Sale , the amount in currency were wrong in the summary, Dany De Bontridder, 2019/10/26
- [Noalyss-commit] [noalyss] 165/238: Database upgrade, Dany De Bontridder, 2019/10/26