diff --git a/app/services/reports/docx/draw_result_table.rb b/app/services/reports/docx/draw_result_table.rb index 3d4d95392..b61445540 100644 --- a/app/services/reports/docx/draw_result_table.rb +++ b/app/services/reports/docx/draw_result_table.rb @@ -9,9 +9,9 @@ module Reports::Docx::DrawResultTable @docx.p @docx.table JSON.parse(table.contents_utf_8)['data'], border_size: Constants::REPORT_DOCX_TABLE_BORDER_SIZE do JSON.parse(table.metadata)['cells'].each do |cell| - if rows[cell['row'].to_i].present? - cell_style rows[cell['row']][cell['col']], align: obj.table_cell_alignment(cell['className']) - end + next unless cell.present? && cell['row'].present? && cell['col'].present? && cell['className'].present? + + cell_style rows.dig(cell['row'].to_i, cell['col'].to_i), align: obj.table_cell_alignment(cell['className']) end end @docx.p do diff --git a/app/services/reports/docx/draw_step_table.rb b/app/services/reports/docx/draw_step_table.rb index b47e0839b..e7b53d1d5 100644 --- a/app/services/reports/docx/draw_step_table.rb +++ b/app/services/reports/docx/draw_step_table.rb @@ -10,9 +10,9 @@ module Reports::Docx::DrawStepTable if table.metadata table.metadata['cells'].each do |cell| data = cell[1] - if rows[data['row'].to_i].present? - cell_style rows[data['row'].to_i][data['col'].to_i], align: obj.table_cell_alignment(data['className']) - end + next unless data.present? && data['row'].present? && data['col'].present? && data['className'].present? + + cell_style rows.dig(data['row'].to_i, data['col'].to_i), align: obj.table_cell_alignment(data['className']) end end end