Module: GOST::Sections

Includes:
Drawers
Included in:
GOST
Defined in:
lib/prawn/GOST/sections.rb

Constant Summary collapse

GOST_SECTIONS_19_25 =

:align относительно какого края отсчитывать по умолчанию правого :w ширина, мм :h высота, мм :pos [x, y] - позиция левого верхнего угла в мм :drawer специфический отрисовщик, по умолчанию GostSectionDrawer :dep зависимость от другой секции :noreq необязательная секция :drawer_opt опции для отрисовщика

{
  :section23 => {:w => 12, :h => 35, :pos => [-12, 145], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Подп. и дата' },
        { :size=>7 }
      ]
    }      
  },
    
  :section22 => {:w => 12, :h => 25, :pos => [-12, 110], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Инв. № дубл.' },
        { :size=>7 }
      ]
    }      
  },
    
  :section21 => {:w => 12, :h => 25, :pos => [-12, 85], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Взам. инв. №' },
        { :size=>7 }
      ]
    }      
  },
     
  :section20 => {:w => 12, :h => 35, :pos => [-12, 60], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Подп. и дата' },
        { :size=>7 }
      ]
    }      
  },             
    
  :section19 => {:w => 12, :h => 25, :pos => [-12, 25], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Инв. № подл.' },
        { :size=>7 }
      ],
      :lines => [:bottom]
    }      
  },  
    
  :section25 => {:w => 12, :h => 60, :pos => [-12, 287], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :draw_request => true,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Перв. примен.' },
        { :size=>7 }
      ]
    }      
  },
    
  :section24 => {:w => 12, :h => 60, :pos => [-12, 227], :align => :left, 
    :drawer => MultiLineVertSectionDrawer,
    :draw_request => true,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Справ. №' },
        { :size=>7 }
      ],
      :lines => [:bottom]
    }      
  }              
}
GOST_SECTIONS_FIRST_PAGE =
{
  :section1 => {:w=> 70, :h => 25, :pos => [-120, 40], :attribute => :attribute1 },
  :section2 => {:w=> 120, :h => 15, :pos => [-120, 55], :attribute => :attribute2 },
  :section3 => {:w=> 70, :h => 15, :pos => [-120, 15]},
  :section4 => {:w=> 15, :h => 20, :pos => [-50, 40], :attribute => :attribute19 },
  :section5 => {:w=> 17, :h => 20, :pos => [-35, 40]},
  :section6 => {:w=> 18, :h => 20, :pos => [-18, 40]},
  :section7 => {:w=> 20, :h => 5, :pos => [-50, 20]},
  :section8 => {:w=> 30, :h => 5, :pos => [-30, 20], :attribute => :attribute7 },
  :section9 => {:w=> 50, :h=>15, :pos => [-50, 15], :attribute => :attribute8 },
  :section10 => {},
  :section11 => {},
  :section12 => {},
  :section13 => {},
  :section14 => {},
  :section15 => {},
  :section16 => {},
  :section17 => {},
  :section18 => {},
  :section26 => {}
}
GOST_SECTIONS_FIRST_TEXT_PAGE =
{
  :section1 => {:w=> 70, :h => 25, :pos => [-120, 25], :attribute => :attribute1 },
  :section2 => {:w=> 120, :h => 15, :pos => [-120, 40], :attribute => :attribute2 },
  :section4 => {:w=> 15, :h => 10, :pos => [-50, 25], :drawer => Section4Drawer, :attribute => :attribute19 },
  :section7 => {:w=> 15, :h => 10, :pos => [-35, 25], :drawer => Section7Drawer_fpt, :attribute => :attribute6 },
  :section8 => {:w=> 20, :h => 10, :pos => [-20, 25], :drawer => Section8Drawer_fpt, :attribute => :attribute7 },
  :section9 => {:w=> 50, :h=> 15, :pos => [-50, 15], :attribute => :attribute8 },
  :section13 => {:w => 10, :h => 25, :pos => [-130, 25], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5 },
        { :size=>5 },
        { :size=>5 }
      ]
    }      
  },
  
  :section12 => {:w => 15, :h => 25, :pos => [-145, 25], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5 },
        { :size=>5 },
        { :size=>5 }
      ]
    }      
  },    
  
  :section11 => {:w => 23, :h => 25, :pos => [-168, 25], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :attribute => :attribute11_1 },
        { :size=>5, :attribute => :attribute11_2 },
        { :size=>5, :attribute => :attribute11_3 },
        { :size=>5, :attribute => :attribute11_4 },
        { :size=>5, :attribute => :attribute11_5 }
      ]
    }      
  },
    
  :section10 => {:w => 17, :h => 25, :pos => [-185, 25], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5, :text => 'Разраб.' },
        { :size=>5, :text => 'Пров.'  },
        { :size=>5 },
        { :size=>5, :text => 'Н.контр.'  },
        { :size=>5, :text => 'Утв.'  }
      ]
    }      
  },
    
  :section18 => {:w => 10, :h => 15, :pos => [-130, 40], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Дата' }
      ]
    }      
  },
    
  :section17 => {:w => 15, :h => 15, :pos => [-145, 40], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Подп.' }
      ]
    }      
  },
    
  :section16 => {:w => 23, :h => 15, :pos => [-168, 40], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => '№ докум.' }
      ]
    }      
  },
    
  :section15 => {:w => 10, :h => 15, :pos => [-178, 40], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5, :attribute => :attribute6 },
        { :size=>5, :text => 'Лист' }
      ]
    }      
  },
    
  :section14 => {:w => 7, :h => 15, :pos => [-185, 40], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Изм.' }
      ]
    }      
  }      
}
GOST_SECTIONS_EVEN_PAGE =
{
  :section2 => {:w=> 110, :h => 15, :pos => [10, 15], :attribute => :attribute2, :align => :left },
  :section7 => {:w=> 10, :h => 15, :pos => [0, 15], :drawer => Section7Drawer, :attribute => :attribute6, :align => :left },
    
  :section18 => {:w => 10, :h => 15, :pos => [175, 15], :drawer => MultiLineSectionDrawer, :align => :left, 
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Дата' }
      ]
    }      
  },
    
  :section17 => {:w => 15, :h => 15, :pos => [160, 15], :drawer => MultiLineSectionDrawer, :align => :left,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Подп.' }
      ]
    }      
  },
    
  :section16 => {:w => 23, :h => 15, :pos => [137, 15], :drawer => MultiLineSectionDrawer, :align => :left,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => '№ докум.' }
      ]
    }      
  },
    
  :section15 => {:w => 10, :h => 15, :pos => [127, 15], :drawer => MultiLineSectionDrawer, :align => :left,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Лист' }
      ]
    }      
  },
    
  :section14 => {:w => 7, :h => 15, :pos => [120, 15], :drawer => MultiLineSectionDrawer, :align => :left,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Изм.' }
      ]
    }      
  }                      
}
GOST_SECTIONS_NORMAL_PAGE =
{
  :section2 => {:w=> 110, :h => 15, :pos => [-120, 15], :attribute => :attribute2 },
  :section7 => {:w=> 10, :h => 15, :pos => [-10, 15], :drawer => Section7Drawer, :attribute => :attribute6 },
    
  :section18 => {:w => 10, :h => 15, :pos => [-130, 15], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Дата' }
      ]
    }      
  },
    
  :section17 => {:w => 15, :h => 15, :pos => [-145, 15], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Подп.' }
      ]
    }      
  },
    
  :section16 => {:w => 23, :h => 15, :pos => [-168, 15], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => '№ докум.' }
      ]
    }      
  },
    
  :section15 => {:w => 10, :h => 15, :pos => [-178, 15], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Лист' }
      ]
    }      
  },
    
  :section14 => {:w => 7, :h => 15, :pos => [-185, 15], :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :m_fields => [
        { :size=>5 },
        { :size=>5 },
        { :size=>5, :text => 'Изм.' }
      ]
    }      
  }                  
}
GOST_SECTIONS_TITLE_PAGE =
{ }
GOST_ADA_SPECIFICATION =
{
  
  :zone => {:w => 8, :h => 15, :pos => [0, 0], :align => :left, :valign => :top, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :font_size => 5,
      :lines => [:bottom],
      :m_fields => [
        { :size=>8, :text => 'Зона' }
      ]
    }      
  },
    
  :poz_oboz => {:w => 20, :h => 15, :pos => [8, 0], :align => :left, :valign => :top,
    :drawer_opt => { 
      :font_size => 5,
      :lines => [:bottom]
    },        
    :text => ['Поз.', 'обозна-', 'чение']
  },  
  
  :name => {:w => 110, :h => 15, :pos => [28, 0], :align => :left, :valign => :top, 
    :drawer_opt => { 
      :font_size => 5,
      :lines => [:bottom]
    },       
    :text => 'Наименование'
  },
    
  :count => {:w => 10, :h => 15, :pos => [138, 0], :align => :left, :valign => :top,
    :drawer_opt => { 
      :font_size => 5,
      :lines => [:bottom]
    },        
    :text => 'Кол'
  }, 
    
  :note => {:w => 37, :h => 15, :pos => [148, 0], :align => :left, :valign => :top,
    :drawer_opt => { 
      :font_size => 5,
      :lines => [:bottom]
    },        
    :text => 'Примечание'
  },     
}
GOST_CHANGE_LIST_SPECIFICATION =
{
  
  :header => {:w => 185, :h => 15, :pos => [0, 0], :align => :left, :valign => :top, 
    :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :font_size => 8,
      :lines => [:bottom],
      :m_fields => [
        { :size=>15, :text => 'ЛИСТ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ' }
      ]
    }      
  },    
    
  :s1 => {:w => 10, :h => 35, :pos => [0, -15], :align => :left, :valign => :top, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :font_size => 6,
      :lines => [:bottom],
      :m_fields => [
        { :size=>10, :text => 'Изм.' }
      ]
    }      
  },  
  :s2 => {:w => 80, :h => 10, :pos => [10, -15], :align => :left, :valign => :top, 
    :drawer => MultiLineSectionDrawer,
    :drawer_opt => { 
      :font_size => 6,
      #:lines => [:bottom],
      :m_fields => [
        { :size=>10, :text => 'Номера листов (страниц)' }
      ]
    }      
  },    
    
  :s3 => {:w => 80, :h => 25, :pos => [10, -25], :align => :left, :valign => :top, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :font_size => 6,
      :lines => [:bottom],
      :m_fields => [
        { :size=>20, :text => ['изме-','ненных'] },
        { :size=>20, :text => ['заме','ненных'] },
        { :size=>20, :text => ['новых'] },
        { :size=>20, :text => ['аннулир','ованных'] }
      ]
    }      
  },   
    
  :s4 => {:w => 95, :h => 35, :pos => [90, -15], :align => :left, :valign => :top, 
    :drawer => MultiLineVertSectionDrawer,
    :drawer_opt => { 
      :font_size => 6,
      :lines => [:bottom],
      :m_fields => [
        { :size=>20, :text => ['Всего', 'листов', '(стра-', 'ниц)', 'в докум.'] },
        { :size=>20, :text => ['Номер', 'докум.'] },
        { :size=>25, :text => ['Входящий', '№ сопро-', 'водитель-',  'ного', 'докум.', 'и дата'] },
        { :size=>15, :text => ['Под-', 'пись'] },
        { :size=>15, :text => ['Дата'] },
      ]
    }      
  },              
}

Constants included from Drawers

Drawers::AttributeDrawer, Drawers::DefaultDrawer, Drawers::MultiLineSectionDrawer, Drawers::MultiLineVertSectionDrawer, Drawers::Section4Drawer, Drawers::Section7Drawer, Drawers::Section7Drawer_fpt, Drawers::Section8Drawer_fpt, Drawers::SimpleAttributeDrawer

Method Summary

Methods included from Drawers

#gost_get_optimal_font_size