= 200801 AND is_budget IS DISTINCT FROM '1' GROUP BY 1,2 ORDER BY 1,2; -- Ecritures exercice en cours DROP TABLE IF EXISTS w_ECRITURES; CREATE TEMP TABLE w_ECRITURES AS SELECT to_number(to_char(CASE WHEN PERIODEECRITURE < DEBUTEXERCICE THEN DEBUTEXERCICE ELSE PERIODEECRITURE END,'YYYYMM'),'FM999999') AS MOIS, NUMEROCOMPTE, date_part('year',FINEXERCICE) AS exercice_comptable, '0'::text AS exercice_precedent, date(MIN(PERIODEECRITURE)) AS PERIODEECRITURE_debut, date(MAX(PERIODEECRITURE)) AS PERIODEECRITURE_fin, Count(*) AS COUNT, round(SUM(MONTANTTENUDEBIT),2) AS DEBIT, round(SUM(MONTANTTENUCREDIT),2) AS CREDIT FROM prod_quadracompta.ECRITURES JOIN prod_quadracompta.DOSSIER1 ON 1=1 WHERE TYPELIGNE <> 'T' GROUP BY 1,2,3 ORDER BY 1,2; -- Ecritures exercice précédent INSERT INTO w_ECRITURES SELECT to_number(to_char(CASE WHEN PERIODEECRITURE < DEBUTEXERCICE THEN DEBUTEXERCICE ELSE PERIODEECRITURE END,'YYYYMM'),'FM999999') AS MOIS, NUMEROCOMPTE, date_part('year',FINEXERCICE) AS exercice_comptable, '1'::text AS exercice_precedent, date(MIN(PERIODEECRITURE)) AS PERIODEECRITURE_debut, date(MAX(PERIODEECRITURE)) AS PERIODEECRITURE_fin, Count(*) AS COUNT, round(SUM(MONTANTTENUDEBIT),2) AS DEBIT, round(SUM(MONTANTTENUCREDIT),2) AS CREDIT FROM prod_quadracompta.ECRITURESP JOIN prod_quadracompta.DOSSIER1P ON 1=1 WHERE TYPELIGNE <> 'T' GROUP BY 1,2,3 ORDER BY 1,2; DROP TABLE IF EXISTS w_mois_modifies; CREATE TEMP TABLE w_mois_modifies AS SELECT w_ECRITURES.exercice_comptable, w_ECRITURES.exercice_precedent, w_ECRITURES.mois AS mois_comptable, MIN(PERIODEECRITURE_debut) AS PERIODEECRITURE_debut, MAX(PERIODEECRITURE_fin) AS PERIODEECRITURE_fin FROM w_ECRITURES LEFT JOIN w_historique_ecritures_total ON w_historique_ecritures_total.mois_comptable = w_ECRITURES.mois AND w_historique_ecritures_total.numero = w_ECRITURES.NUMEROCOMPTE GROUP BY 1,2,3 HAVING MAX(CASE WHEN w_historique_ecritures_total.count IS DISTINCT FROM w_ECRITURES.count OR w_historique_ecritures_total.debit IS DISTINCT FROM w_ECRITURES.debit OR w_historique_ecritures_total.credit IS DISTINCT FROM w_ECRITURES.credit THEN 1 ELSE 0 END) = 1; ALTER TABLE w_mois_modifies ADD CONSTRAINT w_mois_modifies_pk PRIMARY KEY(mois_comptable); CTISELECT_PROPERTY_READ 'MOISMODIFIES', COALESCE(base.cti_group_concat(mois_comptable),'0') FROM w_mois_modifies; CTISELECT_PROPERTY_READ 'MOISMODIFIESC', COALESCE(base.cti_group_concat(mois_comptable),'0') FROM w_mois_modifies WHERE exercice_precedent = '0'; CTISELECT_PROPERTY_READ 'MOISMODIFIESP', COALESCE(base.cti_group_concat(mois_comptable),'0') FROM w_mois_modifies WHERE exercice_precedent = '1'; echo Mois modifiés Exercice en cours : [MOISMODIFIESC]; echo Mois modifiés Exercice précédent : [MOISMODIFIESP]; ]]> 'T' ORDER BY FOLIO, LIGNEFOLIO; SELECT base.cti_enable_index('compta', 'i_historique_ecritures_1'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_2'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_3'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_4'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_5'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_6'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_7'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_8'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_9'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_10'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_11'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_12'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_13'); ]]> 'T' ORDER BY FOLIO, LIGNEFOLIO; SELECT base.cti_enable_index('compta', 'i_historique_ecritures_1'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_2'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_3'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_4'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_5'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_6'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_7'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_8'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_9'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_10'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_11'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_12'); SELECT base.cti_enable_index('compta', 'i_historique_ecritures_13'); ]]> 'C' AND site_id IN (SELECT oid FROM compta.t_sites WHERE clinique_honoraire <> 'H'); UPDATE compta.p_historique_ecritures SET clinique_honoraire = 'H' FROM compta.t_sites WHERE p_historique_ecritures.site_id = t_sites.oid AND p_historique_ecritures.clinique_honoraire <> 'H' AND site_id IN (SELECT oid FROM compta.t_sites WHERE clinique_honoraire = 'H'); UPDATE compta.p_historique_ecritures SET compte_id = t_comptes.compte_general_id FROM compta.t_comptes WHERE comptabilisee <> '1' AND compte_id = t_comptes.oid AND t_comptes.oid <> t_comptes.compte_general_id AND compte_id = compte_extra_id; ]]> 'G' THEN '0' ELSE '1' END AS collectif FROM prod_quadracompta.COMPTESP COMPTES JOIN compta.t_comptes ON t_comptes.numero = COMPTES.NUMERO LEFT JOIN prod_quadracompta.COMPTESP COMPTES_C ON COMPTES.COLLECTIF = COMPTES_C.NUMERO AND COMPTES.TYPE <> 'G' LEFT JOIN compta.t_comptes t_comptes_c ON t_comptes_c.numero = COMPTES_C.NUMERO ) subview WHERE t_comptes.oid = subview.oid AND ( t_comptes.compte_general_id IS DISTINCT FROM subview.compte_general_id OR t_comptes.collectif IS DISTINCT FROM subview.collectif ); UPDATE compta.t_comptes SET compte_general_id = subview.compte_general_id, collectif = subview.collectif FROM ( SELECT t_comptes.oid, COALESCE(t_comptes_c.oid,t_comptes.oid) AS compte_general_id, CASE WHEN COMPTES.TYPE <> 'G' THEN '0' ELSE '1' END AS collectif FROM prod_quadracompta.COMPTES JOIN compta.t_comptes ON t_comptes.numero = COMPTES.NUMERO LEFT JOIN prod_quadracompta.COMPTES COMPTES_C ON COMPTES.COLLECTIF = COMPTES_C.NUMERO AND COMPTES.TYPE <> 'G' LEFT JOIN compta.t_comptes t_comptes_c ON t_comptes_c.numero = COMPTES_C.NUMERO ) subview WHERE t_comptes.oid = subview.oid AND ( t_comptes.compte_general_id IS DISTINCT FROM subview.compte_general_id OR t_comptes.collectif IS DISTINCT FROM subview.collectif ); ]]>