* Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/compta/bank/index.php * \ingroup banque * \brief Home page of bank module */ require('../../main.inc.php'); require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("banks"); $langs->load("categories"); // Security check if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'banque'); $statut=GETPOST('statut'); /* * View */ $help_url='EN:Module_Banks_and_Cash|FR:Module_Banques_et_Caisses|ES:Módulo_Bancos_y_Cajas'; llxHeader('',$langs->trans('AccountsArea'),$help_url); $link=''; if ($statut == '') $link=''.$langs->trans("IncludeClosedAccount").''; if ($statut == 'all') $link=''.$langs->trans("OnlyOpenedAccount").''; print_fiche_titre($langs->trans("AccountsArea"),$link, 'title_bank.png'); // On charge tableau des comptes financiers (ouverts par defaut) $accounts = array(); $sql = "SELECT rowid, courant, rappro"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; $sql.= " WHERE entity IN (".getEntity('bank_account', 1).")"; if ($statut != 'all') $sql.= " AND clos = 0"; $sql.= $db->order('label', 'ASC'); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; while ($i < $num) { $objp = $db->fetch_object($resql); $accounts[$objp->rowid] = $objp->courant; $i++; } $db->free($resql); } /* * Comptes courants (courant = 1) */ print ''; print ''; print ''; print ''; print ''; print ''; print ''; print "\n"; $total = array(); $found = 0; $var=true; foreach ($accounts as $key=>$type) { if ($type == 1) { $found++; $acc = new Account($db); $acc->fetch($key); $var = !$var; $solde = $acc->solde(1); print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; $total[$acc->currency_code] += $solde; } } if (! $found) print ''; // Total foreach ($total as $key=>$solde) { print ''; } print '
'.$langs->trans("CurrentAccounts").''.$langs->trans("Bank").''.$langs->trans("AccountIdShort").''.$langs->trans("TransactionsToConciliate").''.$langs->trans("Status").''.$langs->trans("BankBalance").'
'.$acc->getNomUrl(1).''.$acc->bank.''.$acc->number.''; if ($acc->rappro) { $result=$acc->load_board($user,$acc->id); if ($result<0) { setEventMessage($acc->error, 'errors'); } else { print $result->nbtodo; if ($result->nbtodolate) print ' ('.$result->nbtodolate.img_warning($langs->trans("Late")).')'; } } else print $langs->trans("FeatureDisabled"); print ''.$acc->getLibStatut(2).''; print ''.price($solde, 0, $langs, 0, 0, -1, $acc->currency_code).''; print '
'.$langs->trans("None").'
'.$langs->trans("Total").' '.$key.''.price($solde, 0, $langs, 0, 0, -1, $key).'
'; print '
'; /* * Comptes caisse/liquide (courant = 2) */ print ''; print ''; print ''; print ''; print ''; print ''; print "\n"; $total = array(); $found = 0; $var=true; foreach ($accounts as $key=>$type) { if ($type == 2) { $found++; $acc = new Account($db); $acc->fetch($key); $var = !$var; $solde = $acc->solde(1); print ""; print ''; print ''; print ''; print ''; print ''; print ''; print ''; $total[$acc->currency_code] += $solde; } } if (! $found) { $var = !$var; print ''; } // Total foreach ($total as $key=>$solde) { print ''; } print '
'.$langs->trans("CashAccounts").'   '.$langs->trans("Status").''.$langs->trans("BankBalance").'
'.$acc->getNomUrl(1).''.$acc->bank.'  '.$acc->getLibStatut(2).''; print ''.price($solde, 0, $langs, 0, 0, -1, $acc->currency_code).''; print '
'.$langs->trans("None").'
'.$langs->trans("Total").' '.$key.''.price($solde, 0, $langs, 0, 0, -1, $key).'
'; print '
'; /* * Comptes placements (courant = 0) */ print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print "\n"; $total = array(); $found = 0; $var=true; foreach ($accounts as $key=>$type) { if ($type == 0) { $found++; $acc = new Account($db); $acc->fetch($key); $var = !$var; $solde = $acc->solde(1); print ""; print ''; print ''; print ''; print ''; print ''; print ''; print ''; $total[$acc->currency_code] += $solde; } } if (! $found) { $var = !$var; print ''; } // Total foreach ($total as $key=>$solde) { print ''; } print "
'.$langs->trans("SavingAccounts").''.$langs->trans("Bank").''.$langs->trans("Numero").''.$langs->trans("TransactionsToConciliate").''.$langs->trans("Status").''.$langs->trans("BankBalance").'
'.$acc->getNomUrl(1).''.$acc->bank.''.$acc->number.''; if ($acc->rappro) { $result=$acc->load_board($user,$acc->id); if ($result<0) { setEventMessage($acc->error, 'errors'); } else { print $result->nbtodo; if ($result->nbtodolate) print ' ('.$result->nbtodolate.img_warning($langs->trans("Late")).')'; } } else print $langs->trans("FeatureDisabled"); print ''.$acc->getLibStatut(2).''; print ''.price($solde, 0, $langs, 0, 0, -1, $acc->currency_code).''; print '
'.$langs->trans("None").'
'.$langs->trans("Total").' '.$key.''.price($solde, 0, $langs, 0, 0, -1, $key).'
"; /* * Boutons d'actions */ print '
'."\n"; if ($user->rights->banque->configurer) { print ''.$langs->trans("NewFinancialAccount").''; } print '
'; llxFooter(); $db->close();