value=$cn->make_array('select fd_id,fd_label from fiche_def order by fd_label');
$categorie->selected=(isset($_GET['cat']))?$_GET['cat']:0;
$str_categorie=$categorie->input();
/* periode */
$exercice=$User->get_exercice();
$iperiode=new Periode($cn);
list ($first,$last)=$iperiode->get_limit($exercice);
$periode_start=new IDate('start');
$periode_end=new IDate('end');
$periode_start->value=(isset($_GET['start']))?$_GET['start']:$first->first_day();
$periode_end->value=(isset($_GET['end']))?$_GET['end']:$last->last_day();
$str_start=$periode_start->input();
$str_end=$periode_end->input();
/* histo ou summary */
$histo=new ISelect('histo');
$histo->value=array(
array('value'=>0,'label'=>_('Historique')),
array('value'=>1,'label'=>_('Historique Lettré')),
array('value'=>2,'label'=>_('Historique non Lettré')),
array('value'=>3,'label'=>_('Résumé')),
array('value'=>4,'label'=>_('Balance')),
);
$histo->javascript='onchange="if (this.value==3) {
g("trstart").style.display="none";g("trend").style.display="none";}
else {g("trstart").style.display="";g("trend").style.display=""}"';
$histo->selected=(isset($_GET['histo']))?$_GET['histo']:3;
$str_histo=$histo->input();
echo '
';
echo '
';
$str="if (g('histo').value==3) {
g('trstart').style.display='none';g('trend').style.display='none';}
else {g('trstart').style.display='';g('trend').style.display='';}";
echo create_script($str);
echo '
';
//-----------------------------------------------------
if ( ! isset($_GET['cat_display']))
exit();
$array=Fiche::get_fiche_def($cn,$_GET['cat'],'name_asc');
/*
* You show now the result
*/
if ($array == null )
{
echo '
Aucune fiche trouvée
';
exit();
}
// summary
if ( $_GET['histo'] == 3 )
{
$cat_card=new Fiche_Def($cn);
$cat_card->id=$_GET['cat'];
$aHeading=$cat_card->getAttribut();
require_once('template/result_cat_card_summary.php');
$hid=new IHidden();
echo '
";
exit();
}
$export_pdf='
';
$export_csv='
';
echo $export_pdf;
// Balance
if ( $_GET['histo'] == 4 )
{
if ( isDate($_REQUEST['start']) == null || isDate ($_REQUEST['end']) == null )
{
alert('Date invalide !');
exit;
}
echo $export_csv;
$fd=new Fiche_Def($cn,$_REQUEST['cat']);
if ( $fd->hasAttribute(ATTR_DEF_ACCOUNT) == false )
{
echo alert("Cette catégorie n'ayant pas de poste comptable n'a pas de balance");
exit;
}
$aCard=$cn->get_array("select f_id,ad_value from fiche join fiche_detail using(f_id) where fd_id=$1 and ad_id=1 order by 2 ",array($_REQUEST['cat']));
if ( empty($aCard))
{
echo "Aucune fiche trouvée";
exit;
}
echo '
';
echo tr(
th('Quick Code').
th('Libellé').
th('Débit','style="text-align:right"').
th('Crédit','style="text-align:right"').
th('Solde','style="text-align:right"').
th('D/C','style="text-align:right"')
);
$idx=0;
for ($i=0;$i < count($aCard);$i++)
{
$filter= " (j_date >= to_date('".$_REQUEST['start']."','DD.MM.YYYY') ".
" and j_date <= to_date('".$_REQUEST['end']."','DD.MM.YYYY')) ";
$oCard=new Fiche($cn,$aCard[$i]['f_id']);
$solde=$oCard->get_solde_detail($filter);
if ( $solde['debit'] == 0 && $solde['credit']==0) continue;
$class='';
if ( $idx%2 == 0) $class='class="odd"';
$idx++;
echo tr(
td(HtmlInput::history_card($oCard->id,$oCard->strAttribut(ATTR_DEF_QUICKCODE))).
td($oCard->strAttribut(ATTR_DEF_NAME)).
td(nbm($solde['debit']),'style="text-align:right"').
td(nbm($solde['credit']),'style="text-align:right"').
td(nbm(abs($solde['solde'])),'style="text-align:right"').
td((($solde['debit']<$solde['credit'])?'CRED':'DEB'),'style="text-align:right"'),
$class
);
}
echo '
';
echo $export_pdf;
echo $export_csv;
exit();
}
if ( isDate($_REQUEST['start']) == null || isDate ($_REQUEST['end']) == null )
{
alert('Date invalide !');
exit;
}
// for the lettering
foreach($array as $card)
{
$row=new Fiche($cn,$card['f_id']);
$letter=new Lettering_Card($cn);
$letter->set_parameter('quick_code',$row->strAttribut(ATTR_DEF_QUICKCODE));
$letter->set_parameter('start',$_GET['start']);
$letter->set_parameter('end',$_GET['end']);
// all
if ( $_GET['histo'] == 0 )
{
$letter->get_all();
}
// lettered
if ( $_GET['histo'] == 1 )
{
$letter->get_letter();
}
// unlettered
if ( $_GET['histo'] == 2 )
{
$letter->get_unletter();
}
/* skip if nothing to display */
if (count($letter->content) == 0 ) continue;
echo '
'.$row->strAttribut(ATTR_DEF_NAME).'
';
echo '
';
echo '';
echo th(_('Date'));
echo th(_('ref'));
echo th(_('Interne'));
echo th(_('Comm'));
echo th(_('Montant'),'style="width:auto" colspan="2"');
echo th(_('Prog.'));
echo th(_('Let.'));
echo '
';
$amount_deb=0;
$amount_cred=0;
$prog=0;
bcscale(2);
for ($i=0;$icontent);$i++)
{
if ($i%2 == 0 )
echo '';
else
echo '
';
$row=$letter->content[$i];
echo td($row['j_date_fmt']);
echo td($row['jr_pj_number']);
echo td(HtmlInput::detail_op($row['jr_id'],$row['jr_internal']));
echo td($row['jr_comment']);
if ( $row['j_debit'] == 't')
{
echo td(nbm($row['j_montant']),' style="text-align:right"');
$amount_deb+=$row['j_montant'];
$prog=bcadd($prog,$row['j_montant']);
echo td("");
}
else
{
echo td("");
echo td(nbm($row['j_montant']),' style="text-align:right"');
$amount_cred+=$row['j_montant'];
$prog=bcsub($prog,$row['j_montant']);
}
echo td(nbm($prog),'style="text-align:right"');
if ($row['letter'] != -1 ) echo td($row['letter']);
else echo td('');
echo '
';
}
echo '
';
echo '
';
echo '';
echo td(_('Debit'));
echo td($amount_deb,' style="font-weight:bold;text-align:right"');
echo '
';
echo '';
echo td(_('Credit'));
echo td($amount_cred,' style="font-weight:bold;text-align:right"');
echo '
';
echo '';
if ( $amount_deb>$amount_cred) $s='solde débiteur';
else $s='solde crediteur';
echo td($s);
echo td(abs(round($amount_cred-$amount_deb,2)),' style="font-weight:bold;text-align:right"');
echo '
';
echo '
';
}
echo $export_pdf;
?>