def initialize_footer_values
            @sections[:body][:settings][:groups].each do |group|
                current_footer = {}
                @sections[:groups][group.to_sym][:footer].each { |field, settings| current_footer[field] = nil } unless @sections[:groups][group.to_sym][:footer].nil?
                @footers[group.to_sym] = current_footer unless current_footer.empty?
            end if has_groups?
            raise "The report must have at least a footer on body section" if @sections[:body][:footer].nil?
            current_footer = {}
            @sections[:body][:footer].each { |field, settings| current_footer[field] = nil }
            @footers[:body] = current_footer unless current_footer.empty?
        end
def initialize_footer_values
            @sections[:body][:settings][:groups].each do |group|
                current_footer = {}
                @sections[:groups][group.to_sym][:footer].each { |field, settings| current_footer[field] = nil } unless @sections[:groups][group.to_sym][:footer].nil?
                @footers[group.to_sym] = current_footer unless current_footer.empty?
            end if has_groups?
            raise "The report must have at least a footer on body section" if @sections[:body][:footer].nil?
            current_footer = {}
            @sections[:body][:footer].each { |field, settings| current_footer[field] = nil }
            @footers[:body] = current_footer unless current_footer.empty?
        end
Create a structure to calculate the footer values for all groups. Appends the footer body to total values too.