application fonction if (strpos($fields[0],' ') === false AND strpos($fields[0],'(') === false) $tmp1 = sprintf($req1, $fields[0]); else { switch ($mode) { case 'SEQUENCE' : // si déjà un case when on l'imbrique $tmp1 = preg_replace('/THEN ([^ ]*) (ELSE|WHEN)/','AND COLUMNCHECKSEQUENCE THEN \\1 \\2',$fields[0]); // si cas simple de DISTINCT field ( en general associé à un somme ou count), on imbrique $tmp1 = preg_replace('/DISTINCT ([^CA][^ \)]*)/','DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN \\1 ELSE null END ',$tmp1); // si indicateur calculé, le distinct array du cti_sum_distinct est à traiter spécifiquement $tmp1 = preg_replace('/DISTINCT ARRAY\[([^,]*),([^\]]*)\]/','DISTINCT ARRAY[\\1,CASE WHEN COLUMNCHECKSEQUENCE THEN \\2 ELSE null END ]',$tmp1); //si on détecte des parenthèse avec un seul terme, on l'imbrique aussi $tmp1 = preg_replace('/\(([^ \(\)]*)\)/','(CASE WHEN COLUMNCHECKSEQUENCE THEN \\1 ELSE null END)',$tmp1); //s'il y a un MAX(ARRAY(date, traitement spécifique $tmp1 = preg_replace('/MAX\(ARRAY\[(date[^,]*)/',"MAX(ARRAY[(CASE WHEN COLUMNCHECKSEQUENCE THEN \\1 ELSE '1900-01-01' END)",$tmp1); break; case 'DATE' : if ($date != 'date') $tmp1 = preg_replace('/THEN ([^ ]*) ELSE/',"AND $date >= '[PERIODE]' AND $date <= '[TOPERIODE]' THEN \\1 ELSE",$fields[0]); else $tmp1 = preg_replace('/THEN ([^ ]*) ELSE/',"AND ($date BETWEEN '[PERIODE]' AND '[TOPERIODE]' OR $date"."_fin BETWEEN '[PERIODE]' AND '[TOPERIODE]' OR ($date < '[PERIODE]' AND $date"."_fin > '[TOPERIODE]')) THEN \\1 ELSE",$fields[0]); $tmp1 = preg_replace('/DISTINCT ([^CA][^ \)]*)/',"DISTINCT CASE WHEN $date >= '[PERIODE]' AND $date <= '[TOPERIODE]' THEN \\1 ELSE null END ",$tmp1); $tmp1 = preg_replace('/DISTINCT ARRAY\[([^,]*),([^\]]*)\]/',"DISTINCT ARRAY[\\1,CASE WHEN $date >= '[PERIODE]' AND $date <= '[TOPERIODE]' THEN \\2 ELSE null END ]",$tmp1); $tmp1 = preg_replace('/\(([^ \(\)]*)\)/',"(CASE WHEN $date >= '[PERIODE]' AND $date <= '[TOPERIODE]' THEN \\1 ELSE null END)",$tmp1); //s'il y a un MAX(ARRAY(date, traitement spécifique $tmp1 = preg_replace('/MAX\(ARRAY\[(date[^,]*)/',"MAX(ARRAY[(CASE WHEN $date >= '[PERIODE]' AND $date <= '[TOPERIODE]' THEN \\1 ELSE '1900-01-01' END)",$tmp1); break; case 'DATE_D' : if ($date != 'date') $tmp1 = preg_replace('/THEN ([^ ]*) ELSE/',"AND $date >= '[VIEW.PERIODE_D]' AND $date <= '[VIEW.TOPERIODE_D]' THEN \\1 ELSE",$fields[0]); else $tmp1 = preg_replace('/THEN ([^ ]*) ELSE/',"AND ($date BETWEEN '[VIEW.PERIODE_D]' AND '[VIEW.TOPERIODE_D]' OR $date"."_fin BETWEEN '[VIEW.PERIODE_D]' AND '[VIEW.TOPERIODE_D]' OR ($date < '[VIEW.PERIODE_D]' AND $date"."_fin > '[VIEW.TOPERIODE_D]')) THEN \\1 ELSE",$fields[0]); $tmp1 = preg_replace('/DISTINCT ([^CA][^ \)]*)/',"DISTINCT CASE WHEN $date >= '[VIEW.PERIODE_D]' AND $date <= '[VIEW.TOPERIODE_D]' THEN \\1 ELSE null END ",$tmp1); $tmp1 = preg_replace('/DISTINCT ARRAY\[([^,]*),([^\]]*)\]/',"DISTINCT ARRAY[\\1,CASE WHEN $date >= '[VIEW.PERIODE_D]' AND $date <= '[VIEW.TOPERIODE_D]' THEN \\2 ELSE null END ]",$tmp1); $tmp1 = preg_replace('/\(([^ \(\)]*)\)/',"(CASE WHEN $date >= '[VIEW.PERIODE_D]' AND $date <= '[VIEW.TOPERIODE_D]' THEN \\1 ELSE null END)",$tmp1); //s'il y a un MAX(ARRAY(date, traitement spécifique $tmp1 = preg_replace('/MAX\(ARRAY\[(date[^,]*)/',"MAX(ARRAY[(CASE WHEN $date >= '[VIEW.PERIODE_D]' AND $date <= '[VIEW.TOPERIODE_D]' THEN \\1 ELSE '1900-01-01' END)",$tmp1); break; default : $tmp1 = $fields[0]; break; } } //application de la fonction sum et count sont distinct par défautt, avg est un base.cti_division $tmp1 = $mode != 'NO_FUNCTION' ? $calcFunc. '(' . $tmp1 . ')' : $tmp1; $tmp1 = preg_replace('/(columnby_to_date - columnby_from_date)/','MAX(CASE WHEN COLUMNCHECKSEQUENCE THEN \\1 ELSE 0 END)',$tmp1); } else $tmp1 = "1"; return 'COALESCE(' . $tmp1 . ',0)'; } // ?> EVAL]]]> EVAL]]]> EVAL]]]> EVAL]]]> EVAL]]]> EVAL]]]> 0'; return $tmp; // ?> EVAL]]]> '' THEN article_texte_specifique ELSE article_texte END"; break; case "provider": $field = "provider_texte"; break; case "pole": $field = "pole_texte"; break; default: $field = $prefixe . "_texte"; } } return $field; } function ECO_standard_field_select($field_prefixe, $table_name, $selected_value, $field2_prefixe="") { $select = ""; if ($selected_value != '-1' && $selected_value != '') { $mode = substr($selected_value,0,2); $oid = $selected_value; // Spécial ATC (plusieurs niveaux) if ($table_name == "t_classification_atc") { if ($mode == "D1") { $field_prefixe = "classification_atc_1"; $mode = 'DT'; } if ($mode == "D2") { $field_prefixe = "classification_atc_2"; $mode = 'DT'; } if ($mode == "D3") { $field_prefixe = "classification_atc_3"; $mode = 'DT'; } if ($mode == "D4") { $field_prefixe = "classification_atc_4"; $mode = 'DT'; } } // if ($mode == 'LS') { $section = substr($selected_value,2,2); $oid = substr($selected_value,4); } if ($mode != 'LI' && $mode != 'SL' && $mode != 'LS' && $mode != 'C*' && $mode != 'H*' && $mode != 'T*' ) { if ($mode != 'D2') { $mode = 'DT'; } $oid = substr($selected_value,2); } if ($mode == 'LI' || $mode == 'SL') {$oid = substr($selected_value,2);} if ($mode == 'C*') { $where_codes = sql_codes_list_a(substr($selected_value,2), 'code'); } if ($mode == 'T*') { $texte_like = substr($selected_value,2); if (substr($texte_like,0,1) != "%" && substr($texte_like,-1,1) != "%") { $texte_like = "%$texte_like%"; } } $subselect_select = ''; $field_id = $field_prefixe . "_id"; $field2_id = $field2_prefixe . "_id"; $field_section_id = $field_prefixe . "_section_id[" . $section . "]"; if ($mode == 'LI') {$subselect_select = " $field_id = ANY (array(SELECT to_id FROM eco.t_listes_contenu WHERE liste_id = $oid)::bigint[])";} if ($mode == 'SL') {$subselect_select = " $field_id != ALL (array(SELECT to_id FROM eco.t_listes_contenu WHERE liste_id = $oid)::bigint[])";} if ($mode == 'LS') {$subselect_select = " $field_section_id = $oid";} if ($mode == 'DT') {$subselect_select = " $field_id = $oid";} if ($mode == 'D2') {$subselect_select = " $field2_id = $oid";} if ($mode == 'C*') { if ($table_name != 'v_ref_article_fournisseur_1') { $subselect_select = " $field_id = ANY (array(SELECT oid FROM eco.$table_name WHERE $where_codes AND oid != 0)::bigint[])"; } else { $subselect_select = " ref_article_fournisseur_oid = ANY (array(SELECT ref_article_fournisseur_oid FROM eco.$table_name WHERE ".sql_codes_list_a(substr($selected_value,2), 'ref_article_fournisseur_code')." )::bigint[]) AND fournisseur_id = ref_article_fournisseur_id"; } } if ($mode == 'H*') {$subselect_select = " $field_id = 0";} if ($mode == 'T*')if ($table_name != 'v_ref_article_fournisseur_1') { $subselect_select = " $field_id = ANY (array(SELECT oid FROM eco.$table_name WHERE texte ILIKE '$texte_like')::bigint[])"; } else { $subselect_select = " ref_article_fournisseur_oid = ANY (array(SELECT ref_article_fournisseur_oid FROM eco.$table_name WHERE ref_article_fournisseur_texte ILIKE '$texte_like')::bigint[]) AND fournisseur_id = ref_article_fournisseur_id"; } if ($subselect_select != '') {$select = " AND $subselect_select ";} } return $select; } // ?> ]]> = 0) { if (SELECT.GROUPBY.substr(3,3) != "CLS") { GROUPBY = SELECT.GROUPBY GROUPBY_OID = 'DT' + ROW.OID1 if (GROUPBY == 'CPD') { GROUPBY_OID = 'D2' + ROW.OID1 } } else { GROUPBY = SELECT.GROUPBY.substr(0,3) GROUPBY_OID = 'LS' + SELECT.GROUPBY.substr(6,2) + ROW.OID1 } } if (Number(ROW.OID2) >= 0) { GROUPBY_2_COD = ROW.COD2 if (SELECT.GROUPBY_2.substr(3,3) != "CLS") { GROUPBY_2 = SELECT.GROUPBY_2 GROUPBY_2_OID = 'DT' + ROW.OID2 if (GROUPBY_2 == 'CPD') { GROUPBY_OID = 'D2' + ROW.OID2 } } else { GROUPBY_2 = SELECT.GROUPBY_2.substr(0,3) GROUPBY_2_OID = 'LS' + SELECT.GROUPBY_2.substr(6,2) + ROW.OID2 } } if (GROUPBY == 'ART' && GROUPBY_OID != '') {LINKVARIABLES['ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'ART' && GROUPBY_2_OID != '') {LINKVARIABLES['ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'ARF' && GROUPBY_OID != '') {LINKVARIABLES['ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'ARF' && GROUPBY_2_OID != '') {LINKVARIABLES['ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'TYA' && GROUPBY_OID != '') {LINKVARIABLES['TYPE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'TYA' && GROUPBY_2_OID != '') {LINKVARIABLES['TYPE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'TAC' && GROUPBY_OID != '') {LINKVARIABLES['TAC'] = GROUPBY_OID} if (GROUPBY_2 == 'TAC' && GROUPBY_2_OID != '') {LINKVARIABLES['TAC'] = GROUPBY_2_OID} if (GROUPBY == 'FAA' && GROUPBY_OID != '') {LINKVARIABLES['FAMILLE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'FAA' && GROUPBY_2_OID != '') {LINKVARIABLES['FAMILLE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'ATC' && GROUPBY_OID != '') {LINKVARIABLES['ATC'] = GROUPBY_OID} if (GROUPBY_2 == 'ATC' && GROUPBY_2_OID != '') {LINKVARIABLES['ATC'] = GROUPBY_2_OID} if (GROUPBY == 'SFA' && GROUPBY_OID != '') {LINKVARIABLES['SOUS_FAMILLE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'SFA' && GROUPBY_2_OID != '') {LINKVARIABLES['SOUS_FAMILLE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'CAA' && GROUPBY_OID != '') {LINKVARIABLES['CATEGORIE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'CAA' && GROUPBY_2_OID != '') {LINKVARIABLES['CATEGORIE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'SCA' && GROUPBY_OID != '') {LINKVARIABLES['SOUS_CATEGORIE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'SCA' && GROUPBY_2_OID != '') {LINKVARIABLES['SOUS_CATEGORIE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'CPA' && GROUPBY_OID != '') {LINKVARIABLES['COMPTE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'CPA' && GROUPBY_2_OID != '') {LINKVARIABLES['COMPTE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'USD' && GROUPBY_OID != '') {LINKVARIABLES['UNITE_STOCKAGE_ARTICLE'] = GROUPBY_OID} if (GROUPBY_2 == 'USD' && GROUPBY_2_OID != '') {LINKVARIABLES['UNITE_STOCKAGE_ARTICLE'] = GROUPBY_2_OID} if (GROUPBY == 'FOU' && GROUPBY_OID != '') {LINKVARIABLES['FOURNISSEUR'] = GROUPBY_OID} if (GROUPBY_2 == 'FOU' && GROUPBY_2_OID != '') {LINKVARIABLES['FOURNISSEUR'] = GROUPBY_2_OID} if (GROUPBY == 'TYF' && GROUPBY_OID != '') {LINKVARIABLES['TYPE_FOURNISSEUR'] = GROUPBY_OID} if (GROUPBY_2 == 'TYF' && GROUPBY_2_OID != '') {LINKVARIABLES['TYPE_FOURNISSEUR'] = GROUPBY_2_OID} if (GROUPBY == 'SIT' && GROUPBY_OID != '') {LINKVARIABLES['SITE'] = GROUPBY_OID} if (GROUPBY_2 == 'SIT' && GROUPBY_2_OID != '') {LINKVARIABLES['SITE'] = GROUPBY_2_OID} if (GROUPBY == 'GES' && GROUPBY_OID != '') {LINKVARIABLES['GESTIONNAIRE'] = GROUPBY_OID} if (GROUPBY_2 == 'GES' && GROUPBY_2_OID != '') {LINKVARIABLES['GESTIONNAIRE'] = GROUPBY_2_OID} if (GROUPBY == 'LIE' && GROUPBY_OID != '') {LINKVARIABLES['LIEU'] = GROUPBY_OID} if (GROUPBY_2 == 'LIE' && GROUPBY_2_OID != '') {LINKVARIABLES['LIEU'] = GROUPBY_2_OID} if (GROUPBY == 'UFO' && GROUPBY_OID != '') {LINKVARIABLES['UNITE_FONCTIONNELLE'] = GROUPBY_OID} if (GROUPBY_2 == 'UFO' && GROUPBY_2_OID != '') {LINKVARIABLES['UNITE_FONCTIONNELLE'] = GROUPBY_2_OID} if (GROUPBY == 'TYM' && GROUPBY_OID != '') {LINKVARIABLES['TYPE_MOUVEMENT'] = GROUPBY_OID} if (GROUPBY_2 == 'TYM' && GROUPBY_2_OID != '') {LINKVARIABLES['TYPE_MOUVEMENT'] = GROUPBY_2_OID} if (GROUPBY == 'CMD' && GROUPBY_OID != '') {LINKVARIABLES['NUMERO_COMMANDE'] = GROUPBY_COD} if (GROUPBY_2 == 'CMD' && GROUPBY_2_OID != '') {LINKVARIABLES['NUMERO_COMMANDE'] = GROUPBY_2_COD} if (GROUPBY == 'FAC' && GROUPBY_OID != '') {LINKVARIABLES['FACTURE'] = GROUPBY_COD} if (GROUPBY_2 == 'FAC' && GROUPBY_2_OID != '') {LINKVARIABLES['FACTURE'] = GROUPBY_2_COD} if (GROUPBY == 'LPP' && GROUPBY_OID != '') {LINKVARIABLES['LPP'] = GROUPBY_OID} if (GROUPBY_2 == 'LPP' && GROUPBY_2_OID != '') {LINKVARIABLES['LPP'] = GROUPBY_2_OID} if (GROUPBY == 'UCD' && GROUPBY_OID != '') {LINKVARIABLES['UCD'] = GROUPBY_OID} if (GROUPBY_2 == 'UCD' && GROUPBY_2_OID != '') {LINKVARIABLES['UCD'] = GROUPBY_2_OID} if (GROUPBY == 'RSS' && GROUPBY_OID != '') {LINKVARIABLES['RSS'] = GROUPBY_COD} if (GROUPBY_2 == 'RSS' && GROUPBY_2_OID != '') {LINKVARIABLES['RSS'] = GROUPBY_2_COD} if (GROUPBY == 'SEJ' && GROUPBY_OID != '') {LINKVARIABLES['SEJ'] = GROUPBY_COD} if (GROUPBY_2 == 'SEJ' && GROUPBY_2_OID != '') {LINKVARIABLES['SEJ'] = GROUPBY_2_COD} if (GROUPBY == 'MED' && GROUPBY_OID != '') {LINKVARIABLES['MEDECIN'] = GROUPBY_OID} if (GROUPBY_2 == 'MED' && GROUPBY_2_OID != '') {LINKVARIABLES['MEDECIN'] = GROUPBY_2_OID} if (GROUPBY == 'SPE' && GROUPBY_OID != '') {LINKVARIABLES['SPECIALITE'] = GROUPBY_OID} if (GROUPBY_2 == 'SPE' && GROUPBY_2_OID != '') {LINKVARIABLES['SPECIALITE'] = GROUPBY_2_OID} LINKVARIABLES['ALIAS_PERIODE'] = '-1'; var row_cod:String = '' var row_cod2:String = '' var annee_periode:String = SELECT.PERIODE.substr(0,4) var mois_periode:String = SELECT.PERIODE.substr(5,2) var annee_toperiode:String = SELECT.TOPERIODE.substr(0,4) var mois_toperiode:String = SELECT.TOPERIODE.substr(5,2) GROUPBY = SELECT.GROUPBY; if (GROUPBY == 'ACMD') { GROUPBY = 'ADEF'; } else if (GROUPBY == 'MCMD') { GROUPBY = 'MDEF'; } else if (GROUPBY == 'JCMD') { GROUPBY = 'JDEF'; } else if (GROUPBY == 'TRIMCMD') { GROUPBY = 'TRIMDEF'; } else if (GROUPBY == 'AMCMD') { GROUPBY = 'AMDEF'; } else if (GROUPBY == 'ATRIMCMD') { GROUPBY = 'ATRIMDEF'; } GROUPBY_2 = SELECT.GROUPBY_2; GROUPBY_3 = SELECT.GROUPBY_3; if ((GROUPBY == 'JDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'JDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'JDEF' && ROW.OID3 != '-9999999') ) { row_cod = GROUPBY == 'JDEF' ? ROW.COD1 : (GROUPBY_2 == 'JDEF' ? ROW.COD2 : ROW.COD3); LINKVARIABLES['PERIODE'] = row_cod; LINKVARIABLES['TOPERIODE'] = row_cod; } else if ((GROUPBY == 'AMDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'AMDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'AMDEF' && ROW.OID3 != '-9999999')) { row_cod = GROUPBY == 'AMDEF' ? ROW.COD1 : (GROUPBY_2 == 'AMDEF' ? ROW.COD2 : ROW.COD3); LINKVARIABLES['PERIODE'] = row_cod; LINKVARIABLES['TOPERIODE'] = row_cod; } else if ((GROUPBY == 'MDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'MDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'MDEF' && ROW.OID3 != '-9999999')) { row_cod = GROUPBY == 'MDEF' ? ROW.COD1 : (GROUPBY_2 == 'MDEF' ? ROW.COD2 : ROW.COD3); if ((GROUPBY == 'ADEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'ADEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'ADEF' && ROW.OID3 != '-9999999')) { row_cod2 = GROUPBY == 'ADEF' ? ROW.COD1 : (GROUPBY_2 == 'ADEF' ? ROW.COD2 : ROW.COD3); LINKVARIABLES['PERIODE'] = row_cod2 + row_cod LINKVARIABLES['TOPERIODE'] = row_cod2 + row_cod } else if ((GROUPBY == 'ATRIMDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'ATRIMDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'ATRIMDEF' && ROW.OID3 != '-9999999')) { row_cod2 = GROUPBY == 'ATRIMDEF' ? ROW.COD1 : (GROUPBY_2 == 'ATRIMDEF' ? ROW.COD2 : ROW.COD3); var annee:String = row_cod2.substr(0,4); LINKVARIABLES['PERIODE'] = annee + row_cod; LINKVARIABLES['TOPERIODE'] = annee + row_cod; } else if (parseInt(row_cod) <= parseInt(mois_toperiode)) { if ((annee_toperiode == annee_periode && row_cod == mois_periode)) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { LINKVARIABLES['PERIODE'] = annee_toperiode + row_cod; } LINKVARIABLES['TOPERIODE'] = annee_toperiode + row_cod; } else { if (parseInt(annee_toperiode) == (parseInt(annee_periode) + 1) && row_cod == mois_periode) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { LINKVARIABLES['PERIODE'] = (parseInt(annee_toperiode) - 1).toString() + row_cod; } LINKVARIABLES['TOPERIODE'] = (parseInt(annee_toperiode) - 1).toString() + row_cod; } } else if((GROUPBY == 'ATRIMDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'ATRIMDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'ATRIMDEF' && ROW.OID3 != '-9999999')) { row_cod = GROUPBY == 'ATRIMDEF' ? ROW.COD1 : (GROUPBY_2 == 'ATRIMDEF' ? ROW.COD2 : ROW.COD3); // Mois de début et fin du trimestre var mois_debut:int = 1 + 3 * (parseInt(row_cod.substr(-1)) - 1); var mois_fin:int = 3 * parseInt(row_cod.substr(-1)); var annee:String = row_cod.substr(0,4); if (annee == annee_periode) { if(mois_debut <= parseInt(mois_periode, 10)) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { if (mois_debut < 10) { annee += '0'; LINKVARIABLES['PERIODE'] = annee + mois_debut.toString(); } } if (mois_fin >= parseInt(mois_toperiode, 10)) { LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE; } else { if (mois_fin < 10) { annee += '0'; } LINKVARIABLES['TOPERIODE'] = annee + mois_fin.toString(); } } } else if ((GROUPBY == 'TRIMDEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'TRIMDEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'TRIMDEF' && ROW.OID3 != '-9999999')) { /* * L'accès au détail pour un regroupement par trimestre se fera systémtiquement sur les * derniers trimestre de la période. Exemple : * Période d'analyse de février 2010 à mars 2011. les résultats seront : * Trimestre 1 : 4500 (janv 2011 à fév 2011 + fév 2010 à mars 2010) * Trimestre 2 : 3400 (avril 2010 à juin 2010) * Trimestre 3 : 3300 (juil 2010 à sept 2010) * Trimestre 4 : 3450 (oct 2010 à déc 2010) * * L'accès au détail donnera : * Trimestre 1 --> janv 2011 à fév 2011 * Trimestre 2 --> avril 2010 à juin 2010 * Trimestre 3 --> juil 2010 à sept 2010 * Trimestre 4 --> oct 2010 à déc 2010 * * On constate que la période de février 2010 à mars 2010 n'est pas prise en compte pour l'accès * au détail alors qu'elle l'est bien pour l'affichage des résultats. * Cette différence de traitement s'explique par le fait qu'il est impossible de sélectionner * plus d'une période dans les combobox de sélection de période de la vue des justificatifs. */ var annee:String = ''; var to_annee:String = ''; // Code du trimestre sélectionné (de 1 à 4) row_cod = GROUPBY == 'TRIMDEF' ? ROW.OID1 : (GROUPBY_2 == 'TRIMDEF' ? ROW.OID2 : ROW.OID3); // Mois de début du trimestre var mois_debut:int = 1 + 3 * (parseInt(row_cod, 10) - 1); // Mois de fin du trimestre var mois_fin:int = 3 * parseInt(row_cod, 10); // Nombre d'années entre le début et la fin de la période d'analyse var nb_annees = parseInt(annee_toperiode, 10) - parseInt(annee_periode, 10); if ((GROUPBY == 'ADEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'ADEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'ADEF' && ROW.OID3 != '-9999999')) { row_cod = GROUPBY == 'ADEF' ? ROW.COD1 : (GROUPBY_2 == 'ADEF' ? ROW.COD2 : ROW.COD3); if (row_cod == annee_periode && (mois_debut <= parseInt(mois_periode, 10) <= mois_fin)) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE; } else { annee = row_cod; to_annee = row_cod; } } else { if (mois_debut <= parseInt(mois_toperiode, 10)) { if (nb_annees == 0 && mois_debut <= mois_periode) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { annee = annee_toperiode; } } else { if (mois_debut <= parseInt(mois_periode, 10) && nb_annees == 1) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { annee = (parseInt(annee_toperiode, 10) - 1).toString() } } if (mois_debut <= parseInt(mois_toperiode, 10) <= mois_fin) { LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE; } else if (mois_fin < parseInt(mois_toperiode, 10)) { to_annee = annee_toperiode; } else { to_annee = (parseInt(annee_toperiode) - 1).toString(); } } if (mois_debut < 10) { annee += '0'; } LINKVARIABLES['PERIODE'] = annee + mois_debut.toString(); if (mois_fin < 10) { to_annee += '0'; } LINKVARIABLES['TOPERIODE'] = to_annee + mois_fin.toString(); } else if ((GROUPBY == 'ADEF' && ROW.OID1 != '-9999999') || (GROUPBY_2 == 'ADEF' && ROW.OID2 != '-9999999') || (GROUPBY_3 == 'ADEF' && ROW.OID3 != '-9999999')) { row_cod = GROUPBY == 'ADEF' ? ROW.COD1 : (GROUPBY_2 == 'ADEF' ? ROW.COD2 : ROW.COD3); if (row_cod == annee_periode) { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; } else { LINKVARIABLES['PERIODE'] = row_cod + '01'; } if (row_cod == annee_toperiode) { LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE; } else { LINKVARIABLES['TOPERIODE'] = row_cod + '12'; } } else { LINKVARIABLES['PERIODE'] = SELECT.PERIODE; LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE; } if(LINKVARIABLES['PERIODE'] != SELECT.PERIODE && LINKVARIABLES['TOPERIODE'] != SELECT.TOPERIODE) { LINKVARIABLES['ALIAS_PERIODE'] = '-1' } LINKVARIABLES['DATACOL'] = '*DFT' LINKVARIABLES['DATACOL001'] = "-1" LINKVARIABLES['DATACOL002'] = "-1" LINKVARIABLES['DATACOL003'] = "-1" LINKVARIABLES['DATACOL004'] = "-1" LINKVARIABLES['DATACOL005'] = "-1" LINKVARIABLES['DATACOL006'] = "-1" LINKVARIABLES['DATA01'] = '-1' if (SELECT.DATACOL.substr(0,9) == 'CTI_VIEW_') { LINKVARIABLES['DATACOL'] = 'CTI_LIST_' + SELECT.DATACOL.substr(9,20) } if (VIEW.VIEWTYPE == 'EVOL') { LINKVARIABLES['DATACOL001'] = SELECT.DATA } if (VIEW.VIEWTYPE == 'CROSS') { LINKVARIABLES['DATACOL001'] = SELECT.DATA } if (VIEW.VIEWTYPE == 'COMP') { if (SELECT.DATACOL.substr(0,9) == 'CTI_VIEW_') { LINKVARIABLES['DATACOL'] = 'CTI_LIST_' + SELECT.DATACOL.substr(9,20) } if (COLUMN.NAME.toString().substr(0,4) == 'I001') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE001} if (COLUMN.NAME.toString().substr(0,4) == 'I002') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE002} if (COLUMN.NAME.toString().substr(0,4) == 'I003') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE003} if (COLUMN.NAME.toString().substr(0,4) == 'I004') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE004} if (COLUMN.NAME.toString().substr(0,4) == 'I005') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE005} if (COLUMN.NAME.toString().substr(0,4) == 'I006') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE006} if (COLUMN.NAME.toString().substr(0,4) == 'I007') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE007} } if (VIEW.VIEWTYPE == 'ANZ' || VIEW.VIEWTYPE == '') { if (COLUMN.NAME == 'NB0001') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE001;} if (COLUMN.NAME == 'NB0002') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE002;} if (COLUMN.NAME == 'NB0003') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE003;} if (COLUMN.NAME == 'NB0004') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE004;} if (COLUMN.NAME == 'NB0005') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE005;} if (COLUMN.NAME == 'NB0006') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE006;} if (COLUMN.NAME == 'NB0007') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE007;} if (COLUMN.NAME == 'NB0008') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE008;} if (COLUMN.NAME == 'NB0009') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE009;} if (COLUMN.NAME == 'NB0010') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE010;} if (COLUMN.NAME == 'NB0011') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE011;} if (COLUMN.NAME == 'NB0012') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE012;} if (COLUMN.NAME == 'NB0013') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE013;} if (COLUMN.NAME == 'NB0014') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE014;} if (COLUMN.NAME == 'NB0015') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE015;} if (COLUMN.NAME == 'NB0016') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE016;} if (COLUMN.NAME == 'NB0017') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE017;} if (COLUMN.NAME == 'NB0018') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE018;} if (COLUMN.NAME == 'NB0019') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE019;} if (COLUMN.NAME == 'NB0020') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE020;} if (COLUMN.NAME == 'NB0021') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE021;} if (COLUMN.NAME == 'NB0022') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE022;} if (COLUMN.NAME == 'NB0023') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE023;} if (COLUMN.NAME == 'NB0024') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE024;} if (COLUMN.NAME == 'NB0025') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE025;} if (COLUMN.NAME == 'NB0026') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE026;} if (COLUMN.NAME == 'NB0027') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE027;} if (COLUMN.NAME == 'NB0028') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE028;} if (COLUMN.NAME == 'NB0029') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE029;} if (COLUMN.NAME == 'NB0030') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE030;} if (COLUMN.NAME == 'NB0031') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE031;} if (COLUMN.NAME == 'NB0032') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE032;} if (COLUMN.NAME == 'NB0033') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE033;} if (COLUMN.NAME == 'NB0034') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE034;} if (COLUMN.NAME == 'NB0035') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE035;} if (COLUMN.NAME == 'NB0036') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE036;} if (COLUMN.NAME == 'NB0037') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE037;} if (COLUMN.NAME == 'NB0038') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE038;} if (COLUMN.NAME == 'NB0039') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE039;} if (COLUMN.NAME == 'NB0040') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE040;} if (COLUMN.NAME == 'NB0041') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE041;} if (COLUMN.NAME == 'NB0042') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE042;} if (COLUMN.NAME == 'NB0043') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE043;} if (COLUMN.NAME == 'NB0044') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE044;} if (COLUMN.NAME == 'NB0045') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE045;} if (COLUMN.NAME == 'NB0046') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE046;} if (COLUMN.NAME == 'NB0047') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE047;} if (COLUMN.NAME == 'NB0048') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE048;} if (COLUMN.NAME == 'NB0049') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE049;} if (COLUMN.NAME == 'NB0050') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE050;} if (COLUMN.NAME == 'NB0051') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE051;} if (COLUMN.NAME == 'NB0052') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE052;} if (COLUMN.NAME == 'NB0053') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE053;} if (COLUMN.NAME == 'NB0054') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE054;} if (COLUMN.NAME == 'NB0055') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE055;} if (COLUMN.NAME == 'NB0056') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE056;} if (COLUMN.NAME == 'NB0057') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE057;} if (COLUMN.NAME == 'NB0058') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE058;} if (COLUMN.NAME == 'NB0059') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE059;} if (COLUMN.NAME == 'NB0060') {LINKVARIABLES['DATACOL'] = '*';LINKVARIABLES['DATACOL001'] = VIEW.DG_CODE060;} } return 'OK'; ]]> >