@@ -36,6 +36,7 @@ function tv_k(pt_di, di, de, du, pc_id, logement) {
3636 const mur_list = enveloppe . mur_collection . mur || [ ] ;
3737 const pb_list = enveloppe . plancher_bas_collection . plancher_bas || [ ] ;
3838 const ph_list = enveloppe . plancher_haut_collection . plancher_haut || [ ] ;
39+ /** @type {BaieVitreeItem[] } **/
3940 const bv_list = enveloppe . baie_vitree_collection . baie_vitree || [ ] ;
4041 const porte_list = enveloppe . porte_collection . porte || [ ] ;
4142
@@ -114,11 +115,29 @@ function tv_k(pt_di, di, de, du, pc_id, logement) {
114115 }
115116 }
116117
117- const mur = mur_list . find (
118- ( mur ) =>
118+ let mur = mur_list . find ( ( mur , murIndex ) => {
119+ if (
119120 compareReferences ( mur . donnee_entree . reference , de . reference_1 ) ||
120121 compareReferences ( mur . donnee_entree . reference , de . reference_2 )
121- ) ;
122+ ) {
123+ return true ;
124+ }
125+ if ( bug_for_bug_compat ) {
126+ /**
127+ * Si on ne trouve pas de mur associé au pont thermique, on vérifie si on trouve une baie vitrée associée
128+ * au pont thermique et si cette dernière à une reference_paroi qui correspond à un mur existant.
129+ */
130+ /** @type {BaieVitreeItem } **/
131+ const bvPt = bv_list . find ( ( bv ) => bv . donnee_entree . reference === de . reference_1 ) ;
132+ if ( bvPt && Number ( bvPt . donnee_entree . reference_paroi ) === murIndex ) {
133+ console . error (
134+ `Aucun mur trouvé pour le pont thermique, le mur à été retrouvé en recherchant le référence du pont thermique sur les baie vitrée et la variable reference_paroi`
135+ ) ;
136+ return true ;
137+ }
138+ }
139+ return false ;
140+ } ) ;
122141
123142 const matcher = {
124143 enum_type_liaison_id : de . enum_type_liaison_id
0 commit comments