const PRODUIT = 0x04;
const CHARGE = 0x08;
- public function importPlan()
+ public function importPlan($file = NULL)
{
- $plan = json_decode(file_get_contents(ROOT . '/include/data/plan_comptable.json'), true);
+ $plan = json_decode(file_get_contents($file ? $file : ROOT.'/include/data/plan_comptable.json'), true);
$db = DB::getInstance();
$db->exec('BEGIN;');
}
}
- $db->exec('DELETE FROM compta_comptes WHERE id NOT IN(\''.implode('\', \'', $ids).'\') AND plan_comptable = 1;');
+ //$db->exec('DELETE FROM compta_comptes WHERE id NOT IN(\''.implode('\', \'', $ids).'\') AND plan_comptable = 1;');
$db->exec('END;');
$db = DB::getInstance();
// Ne pas supprimer un compte qui est utilisé !
- if ($db->simpleQuerySingle('SELECT 1 FROM compta_journal WHERE compte_debit = ? OR compte_debit = ? LIMIT 1;', false, $id, $id))
+ if ($db->simpleQuerySingle('SELECT 1 FROM compta_flux WHERE compte = ? LIMIT 1;', false, $id))
{
throw new UserException('Ce compte ne peut être supprimé car des opérations comptables y sont liées.');
}
{
$db = DB::getInstance();
- if ($db->simpleQuerySingle('SELECT 1 FROM compta_journal
- WHERE compte_debit = ? OR compte_debit = ? LIMIT 1;', false, $id, $id))
+ if ($db->simpleQuerySingle('SELECT 1 FROM compta_flux
+ WHERE compte = ? LIMIT 1;', false, $id))
{
return false;
}
$db = DB::getInstance();
if ($db->simpleQuerySingle('SELECT 1 FROM compta_journal
+ LEFT JOIN compta_flux ON compta_journal.id = compta_flux.id_journal
WHERE id_exercice = (SELECT id FROM compta_exercices WHERE cloture = 0 LIMIT 1)
- AND (compte_debit = ? OR compte_debit = ?) LIMIT 1;', false, $id, $id))
+ AND compte = ? LIMIT 1;', false, $id))
{
return false;
}
// Ne pas désactiver un compte utilisé dans l'exercice courant
if ($db->simpleQuerySingle('SELECT 1 FROM compta_journal
+ LEFT JOIN compta_flux ON compta_journal.id = compta_flux.id_journal
WHERE id_exercice = (SELECT id FROM compta_exercices WHERE cloture = 0 LIMIT 1)
- AND (compte_debit = ? OR compte_debit = ?) LIMIT 1;', false, $id, $id))
+ AND compte = ? LIMIT 1;', false, $id))
{
throw new UserException('Ce compte ne peut être désactivé car des écritures y sont liées sur l\'exercice courant. '
. 'Il faut supprimer ou ré-attribuer ces écritures avant de pouvoir supprimer le compte.');
}
}
-?>
\ No newline at end of file
+?>