-- ===================================================================== -- Divers traitements sur les données après l'installation des données -- ===================================================================== -- Initilisation du mois de début de période comptable. -- w_mois trouve le mois de début de période qui apparait le plus dans p_calendrier_mois WITH w_mois AS ( SELECT to_number(substring(to_char(exercice_mois_comptable_1, 'FM999999') from '..$'), '99') as mois_debut, count(*) as combien FROM base.p_calendrier_mois GROUP BY 1 ORDER BY 2 DESC LIMIT 1 ) INSERT INTO compta.t_divers( code, texte, valeur, valeur_date, description, show_info_module) SELECT 'MOIS_DEBUT', 'Mois début période comptable.', w_mois.mois_debut::text, NULL, 'Mois de début de la période comptable', true FROM w_mois WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'MOIS_DEBUT') = 0 ; UPDATE base.p_calendrier_mois SET exercice_comptable = to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')::numeric, exercice_mois_comptable_1 = (to_char(date_debut - (subview.valeur::text || ' month'::text)::interval + '1 month'::interval, 'YYYY')||ltrim(to_char(subview.valeur::numeric, '00')))::numeric FROM (SELECT max(valeur) as valeur FROM compta.t_divers WHERE code = 'MOIS_DEBUT') subview ; -- Mise à jour des rubriques de rapports suite au passage des séquences sur deux digits UPDATE compta.t_rapports_rubriques SET viewlink_param = regexp_replace(viewlink_param, 'CLS([0-9][^0-9])', 'CLS0\1', 'g') WHERE viewlink_param ~ '.*CLS[0-9][^0-9].*'; -- Réplication du code banque sur les comptes signés WITH w_cpt AS ( SELECT oid as compte_id, banque FROM compta.t_comptes WHERE banque = '1' ) UPDATE compta.t_comptes SET banque = w_cpt.banque FROM w_cpt WHERE 1=1 AND t_comptes.compte_general_id = w_cpt.compte_id AND t_comptes.banque IS DISTINCT FROM w_cpt.banque; -- Initialisation mois en cours/mois clôturé (NOW/NOWCLOTURE) lorsque pas déjà renseigné lors de l'import. WITH subq as ( SELECT date_ecriture FROM compta.p_historique_ecritures WHERE 1=1 AND date_ecriture <= now() AND ajustement = '0' AND is_budget <> '1' ORDER BY date_ecriture DESC LIMIT 1) INSERT INTO compta.t_divers( code, texte, valeur, valeur_date, description, show_info_module) SELECT 'NOW', 'Mois en cours.', to_char(date_ecriture, 'YYYYMM'), date_ecriture, 'Mois en cours.', true FROM subq WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'NOW') = 0 ; WITH subq as ( SELECT ((mois_comptable||'01')::date + interval '1 month' - interval '1 day' - interval '1 month')::date as date_comptable FROM compta.p_historique_ecritures WHERE 1=1 AND date_ecriture <= now() AND ajustement = '0' AND is_budget <> '1' ORDER BY mois_comptable DESC LIMIT 1) INSERT INTO compta.t_divers( code, texte, valeur, valeur_date, description, show_info_module) SELECT 'NOWCLOTURE', 'Mois clôturé.', to_char(date_comptable, 'YYYYMM'), date_comptable, 'Mois clôturé.', true FROM subq WHERE (SELECT count(*) FROM compta.t_divers WHERE code = 'NOWCLOTURE') = 0 ; --Maj table compta.t_pole INSERT INTO compta.t_pole (oid, code, texte, texte_court) SELECT 0, '**', 'Non renseigné', 'Non renseigné' WHERE 0 NOT IN (SELECT oid FROM compta.t_pole) ;