CGDEV V1.0 - Modification
Par karando, samedi 11 novembre 2006 à 21:57 :: CGDEV Version 1.00 sans classe (Abandonner) :: #5 :: rss
Quelque modification sur la partie multimonnaie --- Correction d'un bug lors de la modification de la premiere ecriture de la piece.
Donc ce bug est lors de la modification de la premiere ecriture de la piece c'est un bug lier au montant inserer dans l'input S_montant. Donc ce qui se passe c'est : lorsque la premiere ecriture si elle est en devise etrangere (pas celle de la societe), lorsqu'elle est modifier sont montant dans la case S_montant reprend la valeur CHF alors qu'elle devrait reprendre la valeur devise etrangere. Et cela est valable pour toutes les ecritures qui sont avec des comptes en devise etrangere a la societe. Donc pour remedier a cela il faut lorsque l'ecriture est selectionné recuperer le numeros du compte de l'ecriture verifier que c'est un compte en devise etrangere a la societe. Si c'est le cas alors on va changer la valeur de S_montant qui est initialiser par la valeur en multimonnaie.
Dans les environ de la ligne 340 de F_saisie_ecriture.php vous aller avoir :
$balance = number_format($total_debit - $total_credit,2);
if ($Ecriture_ID!="")
{ ......
}
il faudra remplacer par :
[php]
$balance = number_format($total_debit - $total_credit,2);
if ($Ecriture_ID!="")
{
//correction karando 2006-11-11 begin
//on verifie que l'ecriture est en multimonnaie par rapport a son compte si on est en modification on change
//la valeur de S_montant
require_once "Template/fct_get_monnaie_ecriture.php";
$tab=fct_get_monnaie_ecriture($CST_Session_CompanyID,$CST_Session_ExerciseID,$S_journal,$S_piece,$Ecriture_ID,$CST_TypeMonnaieSociete);
$balance = $tab["balance"];
$S_Montant = $tab["S_Montant"];
//end modification 2006-11-11
}
et il faudra creer le fichier : fct_get_monnaie_ecriture.php dans le repertoire template contenant
[php]
<?php
function fct_get_monnaie_ecriture($CST_Session_CompanyID,$CST_Session_ExerciseID,$S_journal,$S_piece,$Ecriture_ID,$CST_TypeMonnaieSociete)
{
$S_Montant=0;
$req="select * from t_ecriture ecriture, t_plancompte plancompte
where ecriture.ecriture_id=".$Ecriture_ID." and plancompte.plancompte_no=ecriture.plancompte_no
and plancompte.societe_id=ecriture.societe_id and ecriture.societe_id=".$CST_Session_CompanyID." ";
$l_result=mysql_query($req);
$q_result=mysql_fetch_array($l_result);
if ($q_result["planco_monnaie"]!=$CST_TypeMonnaieSociete)
{
if ($q_result["ecriture_debmon"]!=0)
{
$S_Montant=$q_result["ecriture_debmon"];
$balance=(-1)*$q_result["ecriture_debmon"];
}
else
{
$S_Montant=$q_result["ecriture_cremon"];
$balance=$q_result["ecriture_cremon"];
}
}
else
{
if ($q_result["ecriture_debit"]!=0)
{
$S_Montant=$q_result["ecriture_debit"];
$balance=(-1)*$q_result["ecriture_debit"];
}
else
{
$S_Montant=$q_result["ecriture_credit"];
$balance=$q_result["ecriture_credit"];
}
}
//on cree le tableau de sortit pour la donne
$tab["balance"] = $balance;
$tab["S_Montant"] = $S_Montant;
return $tab;
}
?>
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.