--
-- Nettoyage du plan comptable
--
-- Ce patch est facultatif. Il nettoie le plan comptable qui a été utilisé 
-- initialement pour le faire converger vers le plan comptable des associations.
-- Il modifie les comptes qui utilisaient d'anciennes valeurs duplan comptable.
-- Il faut vérifier ligne par ligne s'il est applicable à votre cas.
--
-- * Sauvegarder votre base
-- * appliquez le patch
-- * vérifiez, comptes de résultat et bilan
-- vérifiez qu'il est toujours possible de passer des écritures sur les comptes modifiés.


# Selection des codes comptables utilisés
select pcode,pdesc,nom 
from comptes, planc 
where comptes.codec = planc.pcode
group by comptes.codec


# Suppression des codes non conformes non utilisés
DELETE FROM `planc` WHERE `planc`.`pcode` = '101';
DELETE FROM `planc` WHERE `planc`.`pcode` = '627';

# Correction d un code comptable faux
# courant 	654. Redistribution des Bourses ou Subventions
# réel		654. Pertes sur créances irrécouvrables.
# utiliser 
# 657. Subventions versées par l’association

INSERT INTO `planc` (`pcode` ,`pdesc`) VALUES ('657', 'Subventions versées par l’association');
UPDATE `comptes` SET codec='657' WHERE codec=654;
UPDATE `planc` SET pdesc='Pertes sur créances irrécouvrables' WHERE pcode=654;

# Correction
# réel 706. Prestations de services.
INSERT INTO `planc` (`pcode` ,`pdesc`) VALUES ('706', 'Prestations de services');
UPDATE `comptes` SET codec='706' WHERE codec=702;

# Suppression d'autres codes non conformes non utilisés
DELETE FROM `planc` WHERE `planc`.`pcode` = '701';
DELETE FROM `planc` WHERE `planc`.`pcode` = '702';
DELETE FROM `planc` WHERE `planc`.`pcode` = '703';
DELETE FROM `planc` WHERE `planc`.`pcode` = '704';
DELETE FROM `planc` WHERE `planc`.`pcode` = '705';

UPDATE `comptes` SET codec='74' WHERE codec=741;
UPDATE `comptes` SET codec='74' WHERE codec=742;
UPDATE `comptes` SET codec='74' WHERE codec=743;
UPDATE `comptes` SET codec='74' WHERE codec=746;

DELETE FROM `planc` WHERE `planc`.`pcode` = '741';
DELETE FROM `planc` WHERE `planc`.`pcode` = '742';
DELETE FROM `planc` WHERE `planc`.`pcode` = '743';
DELETE FROM `planc` WHERE `planc`.`pcode` = '746';

UPDATE `planc` SET pdesc='Cotisations' WHERE pcode=756;
UPDATE `comptes` SET codec='756' WHERE codec=751;
DELETE FROM `planc` WHERE `planc`.`pcode` = '751';

DELETE FROM `planc` WHERE `planc`.`pcode` = '744';
DELETE FROM `planc` WHERE `planc`.`pcode` = '745';
DELETE FROM `planc` WHERE `planc`.`pcode` = '751';
DELETE FROM `planc` WHERE `planc`.`pcode` = '752';
DELETE FROM `planc` WHERE `planc`.`pcode` = '755';
DELETE FROM `planc` WHERE `planc`.`pcode` = '758';
DELETE FROM `planc` WHERE `planc`.`pcode` = '772';
DELETE FROM `planc` WHERE `planc`.`pcode` = '773';

INSERT INTO `planc` (`pcode` ,`pdesc`) VALUES ('701', 'Ventes de produits finis');
INSERT INTO `planc` (`pcode` ,`pdesc`) VALUES ('707', 'Ventes de marchandises');
INSERT INTO `planc` (`pcode` ,`pdesc`) VALUES ('708', 'Produit des activités annexes');


UPDATE `comptes` SET codec='706' WHERE nom='Heures de vol + remorqués';
UPDATE `comptes` SET codec='706' WHERE nom='Heures planeurs';
UPDATE `comptes` SET codec='706' WHERE nom='Heures ULM';
UPDATE `comptes` SET codec='706' WHERE nom='Remorqués';

DELETE FROM `planc` WHERE `planc`.`pcode` = '757';
DELETE FROM `planc` WHERE `planc`.`pcode` = '77';
DELETE FROM `planc` WHERE `planc`.`pcode` = '771';

UPDATE `planc` SET pdesc='Autres produits exceptionnels' WHERE pcode=774;



    
