Скачать 129.14 Kb.
|
МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ ДЕПАРТАМЕНТ НАУЧНО-ТЕХНОЛОГИЧЕСКОЙ ПОЛИТИКИ И ОБРАЗОВАНИЯ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ» УДК 004.43 № госрегистрации Инв. № УТВЕРЖДАЮ Ректор ФГБОУ ВПО ВолГАУ, чл.-корр. РАСХН, профессор ____________ А.С. Овчинников «_____»______________2013 г. ОТЧЕТ О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ по теме: «ПРОГРАММНЫЙ ПРОДУКТ АВТОМАТИЗАЦИИ УЧЕТНОЙ И АНАЛИТИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ В АГРОПРОМЫШЛЕННОМ КОМПЛЕКСЕ ВОЛГОГРАДСКОЙ ОБЛАСТИ» Проректор по научной работе, д.с.-х.н., профессор ____________________ А.Н. Цепляев подпись, дата Научный руководитель зав. кафедрой ММ и И, д.т.н., профессор ____________________ А.Ф. Рогачев подпись, дата Волгоград 2013 СПИСОК ИСПОЛНИТЕЛЕЙ
РЕФЕРАТ Пояснительная записка: 19 стр., 14 рис., 2 прил. Ключевые слова: ИНФОРМАЦИОННАЯ СИСТЕМА, АПК, БАЗА ДАННЫХ, УЧЕТНЫЕ ДОКУМЕНТЫ, ВВОД ДАННЫХ. Цели работы - автоматизация учетной и аналитической деятельности в агропромышленном комплексе Волгоградской области на основе создания единой базы данных годовых бухгалтерских отчетов и иных форм отчетности. Разрабатываемая программа позволяет использование различных видов форматов исходных документов с возможностью интеллектуальной аналитической обработки массивов данных, отобранных по задаваемым аналитиком критериям с целью последующего выполнения экономического анализ финансово-хозяйственной деятельности предприятий АПК. Программа разрабатывается на основе открытого свободного программного обеспечения – среды быстрой разработки приложений Lazarus и сервера базы данных MySQL. Программа работает под управлением ОС MS Windows ХР - 8, экспорт в форматы DBF, XLS (с использованием механизма OLE Automation). База данных (БД) позволяет хранить данные годовой бухгалтерской отчетности не менее чем о 1000 хозяйств за 25 лет. Анализ состояния вопроса. В настоящее время в Министерстве сельского хозяйства Волгоградской области для экономического анализа производственно-финансовой деятельности предприятий АПК Волгоградской области используется программа «Ракурс», разработанная и рекомендованная Министерством сельского хозяйства (1989 г.). Основные недостатки программы «Ракурс»:
Для решения задач автоматизации учетной и аналитической деятельности в агропромышленном комплексе Волгоградской области необходимо:
Цель создания программы: автоматизация учетной и аналитической деятельности в агропромышленном комплексе Волгоградской области на основе создания единой базы данных годовых бухгалтерских отчетов и иных форм отчетности, с использованием различных видов форматов исходных документов, с возможностью интеллектуальной аналитической обработки массивов данных, отобранных по задаваемым аналитиком критериям. Программа разрабатывается на основе открытого свободного программного обеспечения – среды быстрой разработки приложений Lazarus и сервера базы данных MySQL, и предназначена для функционирования под управлением операционной системы MS Windows XP-8. В рамках выполнения темы № 52 разработано:
Предложения к развитию стратегии информатизации АПК Волгоградской области 1. Разработать единую базу данных отчетности предприятий АПК Волгоградской области на универсальной технологической платформе на базе открытого программного обеспечения. 2. Обеспечить возможность взаимодействия с информационной системой по различным каналам связи заданным группам пользователей с определенными уровнями прав доступа. 3. Предусмотреть финансирование работ по администрированию предлагаемой базы данных, отбору и актуализации информации (почвенно-климатические зоны, муниципальные образования, вид деятельности, финансово-экономические показатели, характеристики государственной поддержки, особенности внедряемых инновационных технологий и др.). 4. Провести анализ и выявить информационные материалы для представления на информационных порталах более высокого уровня (отраслевой, субъектов РФ). 5. Для эффективного внедрения разрабатываемого программного средства предлагается проведение обучения пользователей на курсах, организуемых базе ВолГАУ. Рис. 1 – Схема базы данных Рисунок 2 – Окно подключения к базе данных MySQL Рисунок 3 – Окно работы с перечнем организаций Рисунок 4 – Справочник параметров организаций Рисунок 5 – Окно работы с макетом отчета Рисунок 6 – Окно редактора регулярных выражений для автоопределения изменяемых данных макета Рисунок 7 – Окно с примерами регулярных выражений Рисунок 8 – Демонстрация возможности ручного выбора ячеек с данными для автоматической генерации шаблонов на основе эталонного отчета Рисунок 9 – Окно задания параметров для автоматического определения маркеров данных Рисунок 10 – Пример автоматического определения маркеров данных Рисунок 11 – Работа с отчетами организаций Рисунок 12 – Диалог добавления отчета Рисунок 13 – Просмотр экспортированного отчета в Internet Explorer Рисунок 14 – Предварительный просмотр отчета Приложение А procedure TExcelDocument.DrawCells; var x0,y0,w,h, fw,fh, n,m,k, i,j, x1,y1,x2,y2, c1,c2,r1,r2:integer; r:Trect; BInfo: BITMAPINFO; ps:TPAINTSTRUCT; ts:TTextStyle; begin if processing_data then exit; if Length(cells)=0 then exit; if Length(cells[0])=0 then exit; // pbox.Width:=GridWidthPx+1; // pbox.Height:=GridHeightPx+1; hsb.Max:=GridWidthPx+1; vsb.Max:=GridHeightPx+1; if (hsb.Max<>bitmap.Width) or (vsb.Max<>bitmap.Height) then ResizeBitmap(bitmap,hsb.Max,vsb.Max); if (pbox.Width<>bitmap2.Width) or (pbox.Height<>bitmap2.Height) then ResizeBitmap(bitmap2,pbox.Width,pbox.Height); if show_fixed then begin fw:=fixed_col_width; fh:=fixed_row_height; end else begin fw:=0; fh:=0; end; x0:=hsb.Position; w:=hsb.PageSize; y0:=vsb.Position; h:=vsb.PageSize; n:=Length(columns); k:=0; for c1:=0 to n-1 do begin k:=k+columns[c1].width_px; if k>x0 then break; end; for i:=0 to length(rows)-1 do if cells[i,c1].eaten then if cells[i,c1].col_start c1:=cells[i,c1].col_start; k:=0; for c2:=0 to n-1 do begin k:=k+columns[c2].width_px; if k>(x0+w) then break; end; m:=Length(rows); k:=0; for r1:=0 to m-1 do begin k:=k+rows[r1].height_px; if k>y0 then break; end; for j:=0 to length(columns)-1 do if cells[r1,j].eaten then if cells[r1,j].row_start r1:=cells[r1,j].row_start; k:=0; for r2:=0 to m-1 do begin k:=k+rows[r2].height_px; if k>(y0+h) then break; end; { LogOut(['pbox ',pbox.Width,'x',pbox.Height, ' bitmap ',bitmap.Width,'x',bitmap.Height, ' w=',w,' h=',h, ' x0=',x0,' y0=',y0]); {} bitmap.canvas.Brush.Color:=clWhite; bitmap.canvas.Brush.Style:=bsSolid; bitmap.canvas.FillRect(0,0,bitmap.Width,bitmap.Height); for i:=r1 to r2 do for j:=c1 to c2 do begin r.Left:=GetCellX1(cells[i,j]); r.Top:=GetCellY1(cells[i,j]); r.Right:=GetCellX2(cells[i,j]); r.Bottom:=GetCellY2(cells[i,j]); DrawCell(i,j,bitmap.Canvas,r); end; if has_selection then with bitmap.Canvas do begin Pen.Color:=clBlack; Pen.Width:=2; Brush.Style:=bsClear; x1:=GetCellX1(selection.Top,selection.Left); y1:=GetCelly1(selection.Top,selection.Left); x2:=GetCellX2(selection.Bottom,selection.Right)+1; y2:=GetCelly2(selection.Bottom,selection.Right)+1; Rectangle(x1,y1,x2,y2); end; if show_fixed then with bitmap2.Canvas do begin Brush.Color:=clWhite; Brush.Style:=bsSolid; FillRect(0,0,bitmap2.Width,bitmap2.Height); BitBlt(bitmap2.Canvas.Handle,fw,fh,w-fw,h-fh, bitmap.Canvas.Handle,x0,y0,SRCCOPY); Pen.Color:=clBlack; Pen.Width:=1; pen.Style:=psSolid; Brush.Style:=bsSolid; Brush.Color:=clSilver; Font.Size:=round(pbox.Font.Size); Font.Name:=pbox.Font.Name; ts.Alignment:=taCenter; ts.Layout:=tlCenter; ts.SingleLine:=true; ts.Clipping:=true; ts.SystemFont:=false; ts.Opaque:=false; for i:=r1 to r2 do begin r:=classes.Rect(0,rows[i].before_px-y0+fh,fw,rows[i].before_px+rows[i].height_px-y0+fh+1); Rectangle(r); TextRect(r,r.Left,r.Top,IntToStr(i+1),ts); end; for i:=c1 to c2 do begin r:=classes.Rect(columns[i].before_px-x0+fw,0,columns[i].before_px+columns[i].width_px-x0+fw+1,fh); Rectangle(r); TextRect(r,r.Left,r.Top,Base26Encode(i+1),ts); end; Pen.Width:=0; pen.Style:=psClear; FillRect(0,0,fw,fh); BitBlt(pbox.canvas.Handle,0,0,w,h, bitmap2.Canvas.Handle,0,0,SRCCOPY); end else BitBlt(pbox.canvas.Handle,0,0,w,h, bitmap.Canvas.Handle,x0,y0,SRCCOPY); end; procedure TExcelDocument.DrawCell(row, col: integer; _canvas: TCanvas; rect: TRect); var n,m,x1,x2,y1,y2,w,h:integer; c:TCell; r:TRECT; ts:TTextStyle; begin n:=length(cells); if n>0 then begin m:=Length(cells[0]); if m>0 then if (row>=0) and (col>=0) and (row begin c:=cells[row,col]; if c.eaten then begin c:=cells[c.row_start,c.col_start]; exit; end; _canvas.Brush.Color:=c.interior_color; if c.marked then _canvas.Brush.Color:=clRed; if has_highlighted then if (row=highlighted.y) and (col=highlighted.x) then begin _canvas.Brush.Color:=clYellow; { LogOut(['has_highlighted at ',row,'-',col,' ', rect.left,'-',rect.top,' ',rect.right,'-',rect.bottom]); } end; if marker_mode then if IsCellInMarkerListOfSelectedCell(row,col) then begin _canvas.Brush.Color:=clBlue; end; _canvas.Pen.Width:=1; _canvas.Pen.Color:=clBlack; x1:=rect.Left; y1:=rect.Top; x2:=rect.Right; y2:=rect.Bottom; _canvas.FillRect(x1,y1,x2,y2); if c.value<>'' then begin _canvas.Font.Size:=round(c.font_size); _canvas.Font.Name:=c.font_name; case c.horizontal_alignment of -4131:ts.Alignment:=taLeftJustify; -4152:ts.Alignment:=taRightJustify; -4108:ts.Alignment:=taCenter; end; case c.vertical_alignment of -4160:ts.Layout:=tlTop; -4108:ts.Layout:=tlCenter; -4107:ts.Layout:=tlBottom; end; ts.SingleLine:=not c.wrap_text; ts.Clipping:=false; ts.SystemFont:=false; ts.Opaque:=false; _canvas.TextRect(rect,x1,y1,UTF8Encode(c.value),ts); end; if c.border[3]>0 then _canvas.Line(x1,y1,x2,y1); if c.border[5]>0 then _canvas.Line(x2,y1,x2,y2); if c.border[4]>0 then _canvas.Line(x1,y2,x2,y2); if c.border[2]>0 then _canvas.Line(x1,y1,x1,y2); end; end; end; Приложение Б procedure TExcelDocument.AutoFillData; var i,j,k,n,m,nd:integer; st:string; c:pTCell; RegExpr: TRegExpr; dt:TStringArray; begin try try RegExpr:=tRegExpr.Create; LoadDataTemplates(dt); nd:=length(dt); for k:=0 to nd-1 do begin st:=Trim(dt[k]); if st<>'' then begin RegExpr.Expression:=st; n:=length(cells); m:=length(cells[0]); for i:=0 to n-1 do for j:=0 to m-1 do begin c:=@(cells[i,j]); c.marked:=false; if (c.eaten=false) then begin if RegExpr.Exec(c.value) then c.marked:=true; end; end; end; end; except on e:Exception do begin LogOut(['TExcelDocument.AutoFillData: ',e.Message]); end; end; finally FreeAndNil(RegExpr); end; end; |
Отчет о научно-исследовательской работе по теме: «механизм отчетности... Методика составления отчета о ходе реализации мероприятий долгосрочной областной целевой программы «Устойчивое развитие сельских... | Отчет о научно-исследовательской работе Гост 32-2001. Межгосударственный стандарт. Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской... | ||
Отчет о научно-исследовательской работе Межгосударственный стандарт (гост 32-2001). Отчет о научно-исследовательской работе. Структура и правила оформления (редакция 2005... | Общие положения отчет Отчет о научно-исследовательской работе (нир) документ, который содержит систематизированные данные о научно-исследовательской работе,... | ||
Реферат Отчет о научно-исследовательской работе состоит Отчет о научно-исследовательской работе состоит из 33 рисунков, 8 разделов, 12 подразделов, 9 формул, 31 источника. Общий объем 48... | Доклад о состоянии гражданского общества в Волгоградской области... Советом на основе общей информации о ее деятельности, материалов, представленных в сми, отчетов председателей профильных Комиссий,... | ||
Отчет о научно-исследовательской работе «Проведение исследований... Офизическом комплексе мгу-игу для исследования космических лучей сверхвысоких энергий (установки Тунка и шал-мгу) (Астрофизический... | Отчет о научно-исследовательской работе Двухфакторная многокритериальная методика аттестации научно-педагогических работников спбгу на основе показателей эффективности их... | ||
Отчет о научно-исследовательской работе Проведение научных исследований коллективами научно-образовательных центров в области коллоидной химии и поверхностных явлений | Отчет о научно-исследовательской работе Проведение научных исследований коллективами научно-образовательных центров в области коллоидной химии и поверхностных явлений | ||
Отчет о научно-исследовательской работе по теме: «Исследование отрасли... Директор Областного государственного бюджетного учреждения «Электронный Ульяновск» | Научно-исследовательская работа это научный отчет о выполненной работе,... Цель: повторить и обобщить зун по теме «Агрегатные состояния вещества»; сформировать представления о фазе вещества и фазового перехода;... | ||
Отчет о научно-исследовательской работе по теме: «Информационно-аналитическая... Заказчик: фгбоу впо «Белгородская государственная сельскохозяйственная академия имени В. Я. Горина» | Отчет о научной исследовательской работе студентов (магистрантов) Института Организация научно-исследовательской деятельности студентов и их участие в научных исследованиях и разработках в 2012 году | ||
Отчет о научно-исследовательской работе «Формирование учетно-аналитической... «Формирование учетно-аналитической информации застройщиками при осуществлении деятельности, связанной с привлечением денежных средств... | "Оценка восприятия населением проявлений коррупции в органах власти... Российской Федерации по Волгоградской области, начальник Главного управления Министерства внутренних дел Российской Федерации по... |