- •Введение
- •2. Реализация информационной подсистемы учёта продаж для ооо «гранит»
- •2.1 Обоснование выбора среды реализации приложения
- •2.2 Создание логической модели базы данных информационной подсистемы
- •2.2.1 Определение сущностей модели базы данных информационной подсистемы
- •2.2.2 Определение атрибутов сущностей модели базы данных информационной подсистемы
- •2.4 Реализация клиентского приложения информационной подсистемы для отдела продаж ооо «Гранит»
- •3.1 Общие сведения о программе
- •3.2 Функциональное назначение программы
- •3.4.4 Требования к наличию сводного места на жестком диске
- •3.7.Выходные данные программы
- •3.8 Краткая инструкция оператору по работе с программой
- •4. Технико-экономическое обоснование проекта
- •4.4 Оценка экономической эффективности проекта
- •4.5 Основные технико-экономические показатели проекта
- •Библиографический список
Библиографический список
Трофимова, М.В. Анализ систем управления: учебное пособие для вузов [Текст] / М.В. Трофимова. – Ставрополь: Сев Кав ГТУ, 2005. – 56с.
Архипова, Н.И. Исследование систем управления: уч.пособие для вузов [Текст] / Н.И. Архипова. –М: «Издательство ПРИОР», 2002. – 214с.
Беляев, А.А. Системология организации. Под ред Короткова [Текст] / А.А. Беляев. – М.: Инфра – М, 2000. – 168с.
Коротков, Э.М. Исследование систем управления [Текст] / Э.М. Коротков. – М.: ДеКА, 2000. – 184с.
Коротков, Э.М. Концепция менеджмента [Текст] / Э.М. Коротков. – М.: ДеКА, 1996. – 342с.
Мишин, В.М. Исследование систем управления: Учебник для вузов [Текст] / В.М. Мишин – М.: ЮНИТИ-ДАНА, 2003. – 192с.
Анфилатов, В.С. и др. Системный анализ в управление: учеб. Пособие под ред. А.А. Емельянова [Текст] / В.С. Анфилатов – М.: Финансы и статистика 2002. – 80с.
Информационный портал MESa.ru [Электронный ресурс]. Системы оперативного управления производством. Режим доступа: http:// www.mesa.ru – Загл. с экрана.
Информационный портал Scada.ru [Электронный ресурс]. Новости и публикации по системам сбора данных и оперативного диспетчерского управления. Режим доступа: http://www. Scada.ru/ – Загл. с экрана.
Информационный портал Asutp.ru – cредства и системы компьютерной автоматизации [Электронный ресурс]: – Режим доступа: http://www.asutp.ru – Загл. с экрана.
Информационный портал компании AdAstrA Research Group, Ltd, посвященный SCADA–системе Trace Mode, HMI, MES, EAM и другим системам для управления технологическими процессами в реальном времени [Электронный ресурс]. Режим доступа: http://www.adastra.ru/ – Загл. с экрана.
Информационный портал Rtsoft.ru – средства и системы автоматизации [Электронный ресурс]: – Режим доступа: http://www.rtsoft.ru – Загл. с экрана.
Информационный портал Vestco.ru – комплексная автоматизация промышленных предприятий и организаций [Электронный ресурс]: – Режим доступа: http://www.vestco.ru – Загл. с экрана.
Кренке, Д. Теория и практика построения баз данных: пер.с англ [Текст] / Д. Кренке. – 9-е изд. – СПб.: Питер, 2005. – 858 с.
Хомоненко, А.Д. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко [Текст] / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. – СПб.: КОРОНА принт, 2000. – 416с.
Карпова, Т.С. Базы данных: модели, разработка, реализация [Текст] / Т.С. Карпова. – СПб.: Питер, 2001. – 304с.
Ульман, Дж. Введение в системы баз данных [Текст] / Дж. Ульман. – М.: Лори, 2000. – 374с.
Свободная энциклопедия Википедия [Электронная энциклопедия] // Сетевая энциклопедия Wikipedia. 2000. – PL/SQL: http://ru.wikipedia.org/wiki/PL/SQL. – Загл. с экрана.
Бодягин, И. MS SQL 2005: оконные функции [Текст] / И. Бодягин. RSDN Magazine, 2004 – №6, с. 29-40.
Шилдт, Г. Полный справочник по С#. [Текст] / Г. Шилдт. – М.: Издательский дом «Вильямс», 2004. — 752 с
Троелсен, Э., С# и платформа .NET. Библиотека программиста [Текст] / Э. Троэлсон. – СПб.: Питер, 2004. —796 с
ПРИЛОЖЕНИЕ
Приложение А
Интерфейс приложения
Рисунок А.1 – Главная форма программы
Рисунок А.2 – Номенклатура товаров
Приложение А (продолжение)
Интерфейс приложения
Рисунок А.3 – Вид продукции
Рисунок А.4 – Сотрудники
Рисунок А.5 – Поставщики
Рисунок А.6 – Оформление продажи
Рисунок А.7 – Товары в наличии
Приложение Б
Печатные формы
Рисунок Б.1 – Накладная
Рисунок Б.2 – Товарный чек
Рисунок Б.3 – Динамика количества продаж (по месяцам)
Рисунок Б.4 – Количество продаж (анализ по сотрудникам)
Рисунок Б.5 – Объем продаж (анализ по месяцам)
Рисунок Б.6 – Объем продаж (анализ по месяцам)
Рисунок Б.7 – Анализ продаж изделий
Рисунок Б.8 – Печать журнала продаж
Рисунок Б.9 – Печать прайс-листа
Рисунок Б.10 – Печать списка покупателей
Приложение В
Код генерации базы данных
USE [master]
GO
/****** Object: Database [Granit] Script Date: 12/20/2010 17:19:23 ******/
CREATE DATABASE [Granit] ON PRIMARY
( NAME = N'Granit', FILENAME = N'C:\DB\Granit.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Granit_log', FILENAME = N'C:\DB\Granit_log.ldf' , SIZE = 10176KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [Granit] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Granit].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [Granit] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Granit] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Granit] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Granit] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Granit] SET ARITHABORT OFF
GO
ALTER DATABASE [Granit] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [Granit] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [Granit] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Granit] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Granit] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Granit] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Granit] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Granit] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Granit] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Granit] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Granit] SET DISABLE_BROKER
GO
ALTER DATABASE [Granit] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Granit] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Granit] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Granit] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Granit] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Granit] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [Granit] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [Granit] SET READ_WRITE
GO
ALTER DATABASE [Granit] SET RECOVERY SIMPLE
GO
ALTER DATABASE [Granit] SET MULTI_USER
GO
ALTER DATABASE [Granit] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Granit] SET DB_CHAINING OFF
GO
USE [Granit]
GO
/****** Object: Table [dbo].[type_good] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[type_good](
[type_good_id] [int] IDENTITY(1,1) NOT NULL,
[type_good] [varchar](50) NULL,
CONSTRAINT [PK_type_good] PRIMARY KEY CLUSTERED
(
[type_good_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[people] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[people](
[people_id] [int] IDENTITY(1,1) NOT NULL,
[fio] [varchar](50) NULL,
[dolg] [varchar](50) NULL,
CONSTRAINT [PK_people] PRIMARY KEY CLUSTERED
(
[people_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[org_attr] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[org_attr](
[name_org] [varchar](256) NULL,
[org_boss] [varchar](256) NULL,
[org_inn] [varchar](256) NULL,
[org_kpp] [varchar](50) NULL,
[adres] [varchar](256) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[measure] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[measure](
[measure_id] [int] IDENTITY(1,1) NOT NULL,
[measure] [varchar](50) NULL,
CONSTRAINT [PK_measure] PRIMARY KEY CLUSTERED
(
[measure_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[contragent] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[contragent](
[contragent_id] [int] IDENTITY(1,1) NOT NULL,
[contragent_name] [varchar](256) NULL,
[contragent_inn] [varchar](25) NULL,
CONSTRAINT [PK_contragent] PRIMARY KEY CLUSTERED
(
[contragent_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[goods] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[goods](
[good_id] [int] IDENTITY(1,1) NOT NULL,
[good_name] [varchar](50) NULL,
[type_good_id] [int] NULL,
[pict_number] [varchar](50) NULL,
[measure_id] [int] NULL,
[good_note] [varchar](50) NULL,
[price] [float] NULL,
CONSTRAINT [PK_goods] PRIMARY KEY CLUSTERED
(
[good_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[journal_sell] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[journal_sell](
[journal_sell_id] [int] IDENTITY(1,1) NOT NULL,
[date_sell] [datetime] NULL,
[customer] [varchar](256) NULL,
[customer_fio] [varchar](256) NULL,
[people_id] [int] NULL,
CONSTRAINT [PK_journal_sell] PRIMARY KEY CLUSTERED
(
[journal_sell_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[goods_in_store] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[goods_in_store](
[goods_in_store_id] [int] IDENTITY(1,1) NOT NULL,
[good_id] [int] NULL,
[count_good] [int] NULL,
[contragent_id] [int] NULL,
CONSTRAINT [PK_goods_in_store] PRIMARY KEY CLUSTERED
(
[goods_in_store_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[goods_in_sell] Script Date: 12/20/2010 17:20:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[goods_in_sell](
[goods_in_sell_id] [int] IDENTITY(1,1) NOT NULL,
[good_id] [int] NULL,
[journal_sell_id] [int] NULL,
[price_sell] [float] NULL,
[count_goods] [int] NULL,
CONSTRAINT [PK_goods_in_sell] PRIMARY KEY CLUSTERED
(
[goods_in_sell_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Default [DF_goods_in_store_count_good] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods_in_store] ADD CONSTRAINT [DF_goods_in_store_count_good] DEFAULT ((0)) FOR [count_good]
GO
/****** Object: ForeignKey [FK_goods_measure] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods] WITH CHECK ADD CONSTRAINT [FK_goods_measure] FOREIGN KEY([measure_id])
REFERENCES [dbo].[measure] ([measure_id])
GO
ALTER TABLE [dbo].[goods] CHECK CONSTRAINT [FK_goods_measure]
GO
/****** Object: ForeignKey [FK_goods_type_good] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods] WITH CHECK ADD CONSTRAINT [FK_goods_type_good] FOREIGN KEY([type_good_id])
REFERENCES [dbo].[type_good] ([type_good_id])
GO
ALTER TABLE [dbo].[goods] CHECK CONSTRAINT [FK_goods_type_good]
GO
/****** Object: ForeignKey [FK_goods_in_sell_goods] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods_in_sell] WITH CHECK ADD CONSTRAINT [FK_goods_in_sell_goods] FOREIGN KEY([good_id])
REFERENCES [dbo].[goods] ([good_id])
GO
ALTER TABLE [dbo].[goods_in_sell] CHECK CONSTRAINT [FK_goods_in_sell_goods]
GO
/****** Object: ForeignKey [FK_goods_in_sell_journal_sell] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods_in_sell] WITH CHECK ADD CONSTRAINT [FK_goods_in_sell_journal_sell] FOREIGN KEY([journal_sell_id])
REFERENCES [dbo].[journal_sell] ([journal_sell_id])
GO
ALTER TABLE [dbo].[goods_in_sell] CHECK CONSTRAINT [FK_goods_in_sell_journal_sell]
GO
ALTER TABLE [dbo].[goods_in_store] WITH CHECK ADD CONSTRAINT [FK_goods_in_store_contragent] FOREIGN KEY([contragent_id])
REFERENCES [dbo].[contragent] ([contragent_id])
GO
ALTER TABLE [dbo].[goods_in_store] CHECK CONSTRAINT [FK_goods_in_store_contragent]
GO
/****** Object: ForeignKey [FK_goods_in_store_goods] Script Date: 12/20/2010 17:20:49 ******/
ALTER TABLE [dbo].[goods_in_store] WITH CHECK ADD CONSTRAINT [FK_goods_in_store_goods] FOREIGN KEY([good_id])
REFERENCES [dbo].[goods] ([good_id])
GO
ALTER TABLE [dbo].[goods_in_store] CHECK CONSTRAINT [FK_goods_in_store_goods]
GO
ALTER TABLE [dbo].[journal_sell] WITH CHECK ADD CONSTRAINT [FK_journal_sell_people] FOREIGN KEY([people_id])
REFERENCES [dbo].[people] ([people_id])
GO
ALTER TABLE [dbo].[journal_sell] CHECK CONSTRAINT [FK_journal_sell_people]
GO
Приложение Г
Исходный код Windows–приложения
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Configuration;
using System.Reflection;
using System.IO;
namespace Granit
{
public partial class AddSell : Form
{
DataTable GoodsList = new DataTable();
public AddSell()
{
InitializeComponent();
}
private void AddSell_Load(object sender, EventArgs e)
{
DB.DoConnection();
measureTableAdapter.Connection = DB.MainConnect;
journal_sellTableAdapter.Connection = DB.MainConnect;
peopleTableAdapter.Connection = DB.MainConnect;
goodsTableAdapter.Connection = DB.MainConnect;
goodStoreTableAdapter.Connection = DB.MainConnect;
goods_in_storeTableAdapter1.Connection = DB.MainConnect;
goods_in_sellTableAdapter1.Connection = DB.MainConnect;
org_attrTableAdapter1.Connection = DB.MainConnect;
// TODO: данная строка кода позволяет загрузить данные в таблицу "data_Set.measure". При необходимости она может быть перемещена или удалена.
this.measureTableAdapter.Fill(this.data_Set.measure);
// TODO: данная строка кода позволяет загрузить данные в таблицу "data_Set.journal_sell". При необходимости она может быть перемещена или удалена.
this.journal_sellTableAdapter.Fill(this.data_Set.journal_sell);
// TODO: данная строка кода позволяет загрузить данные в таблицу "data_Set.people". При необходимости она может быть перемещена или удалена.
this.peopleTableAdapter.Fill(this.data_Set.people);
// TODO: данная строка кода позволяет загрузить данные в таблицу "data_Set.goods". При необходимости она может быть перемещена или удалена.
this.goodsTableAdapter.Fill(this.data_Set.goods);
// TODO: данная строка кода позволяет загрузить данные в таблицу "data_Set.GoodStore". При необходимости она может быть перемещена или удалена.
this.goodStoreTableAdapter.Fill(this.data_Set.GoodStore);
goods_in_storeTableAdapter1.Fill(this.data_Set.goods_in_store);
goods_in_sellTableAdapter1.Fill(this.data_Set.goods_in_sell);
org_attrTableAdapter1.Fill(this.data_Set.org_attr);
GoodsList.Columns.Add("good_id", typeof(int));
GoodsList.Columns.Add("count_good", typeof(int));
GoodsList.Columns.Add("price_sell", typeof(double));
GoodsList.Columns.Add("price", typeof(double));
GoodsList.Columns.Add("measure_id", typeof(int));
DS_List_good.DataSource = GoodsList;
}
private void CB_Good_SelectedValueChanged(object sender, EventArgs e)
{
if (CB_Good.SelectedValue != null)
{
try
{
COUNT_GOODS.Value = COUNT_GOODS.Maximum = Convert.ToInt32(
data_Set.GoodStore.Compute(" sum(count_good)", "good_id=" +
CB_Good.SelectedValue.ToString()));
PRICE.Text =
data_Set.GoodStore.Compute(" sum(price)", "good_id=" +
CB_Good.SelectedValue.ToString()).ToString();
}
catch { }
}
}
public string[] SplitText(string Text, int BlockSize) /////Разделить строку на блоки
{
if (Text.Length <= BlockSize)
return null;
int SizeStringArray = Text.Length / BlockSize;
if (SizeStringArray * BlockSize < Text.Length)
SizeStringArray++;
string[] StringArray = new string[SizeStringArray];
for (int i = 0; i < SizeStringArray; i++)
{
if ((i * BlockSize + BlockSize) < Text.Length)
StringArray[i] = Text.Substring(i * BlockSize, BlockSize);
else
StringArray[i] = Text.Substring(i * BlockSize, Text.Length - (i * BlockSize));
}
return StringArray;
}
private void AddGoodToList(object sender, EventArgs e)
{
int good_id = Convert.ToInt32(CB_Good.SelectedValue);
DataRow Row = GoodsList.NewRow();
Row["good_id"] = good_id;
Row["count_good"] = COUNT_GOODS.Value;
Row["price"] = Convert.ToDouble(PRICE.Text);
Row["price_sell"] = Convert.ToDouble( COUNT_GOODS.Value )*
Convert.ToDouble(PRICE.Text);
Row["measure_id"] = 1;
GoodsList.Rows.Add(Row);
if (COUNT_GOODS.Maximum == COUNT_GOODS.Value) ///Если выбрал все товары
{
goodStoreBindingSource.Filter += " and (good_id<>" + good_id.ToString()
+ ") ";
}
else
{
DataRow[] Rows = data_Set.GoodStore.Select("good_id=" + good_id.ToString());
foreach (DataRow r in Rows)
{
r["count_good"] = COUNT_GOODS.Maximum - COUNT_GOODS.Value;
}
}
}
public static void PrintReportTableReplaceValues(DataGridView Grid,
int CellN /*Номер строки с которой выводить таблицу*/,
string TemplateName /*Имя шаблона - короткое, все шаблоны лежат в одном месте */,
DataTable ReplaceValues /*Первая колонка что заменить, вторая - чем*/ )
{
///////////////////Инициализация
if (!File.Exists(Application.StartupPath.ToString() + "\\" + TemplateName))
{
// BackPrintExcelTable.ReportProgress(100);
// WaitForm.Close();
MessageBox.Show("При выгрузке данных произошла ошибка. " +
"\nПрограмме не удалось найти файл \n" + Application.StartupPath.ToString() + "\\" + TemplateName +
"\nПроверьте наличие указанного файла в директории и попробуйте снова",
"Ошибка открытия файла", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Application.DoEvents();
// WaitStatusForm progress = new WaitStatusForm("Открытие файла...", Grid.RowCount + 20, 5);
// progress.Update();
/* try
{ */
string sAppProgID = "Excel.Application";
// Получаем ссылку на интерфейс IDispatch
Type tExcelObj = Type.GetTypeFromProgID(sAppProgID);
// Запускаем Excel
object oExcel = Activator.CreateInstance(tExcelObj);
object[] args = new object[1];
object oWorkbooks = oExcel.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, oExcel,
null);
// с принятием всех изменений
//args[0] = true;
args[0] = Application.StartupPath.ToString() + "\\" + TemplateName;
object oWorkbook = oWorkbooks.GetType().InvokeMember("Add",
BindingFlags.InvokeMethod, null, oWorkbooks, args);
////////////////////////////////////////////////////////////////////////////
object oWorksheets = oWorkbook.GetType().InvokeMember("Worksheets",
BindingFlags.GetProperty, null, oWorkbook, null);
object oWorksheet = oWorksheets.GetType().InvokeMember("Item",
BindingFlags.GetProperty, null, oWorksheets, new object[] { 1 });
///////////////////////////////////////////////////////////////Заливка данных
// progress.SetValue("Инициализация...", 10);
// progress.Update();
// progress.progressBar1.Value = 10;
/////////////////////////////// Закраска бордюров
int CountExcelColumns = 0; // Сколько будет колонок в экселе
foreach (DataGridViewColumn col in Grid.Columns)
{
if (col.Visible == true)
CountExcelColumns++;
}
////////////////Попытаемся подвинуть//////////////
object oCells1_ = oWorksheet.GetType().InvokeMember("Cells",
BindingFlags.GetProperty,
null,
oWorksheet,
new object[] { CellN + 1, 1 });
object oCells2_ = oWorksheet.GetType().InvokeMember("Cells",
BindingFlags.GetProperty,
null,
oWorksheet,
new object[] { CellN + 1, CountExcelColumns });
object oRange_ = oWorksheet.GetType().InvokeMember("Range",
BindingFlags.GetProperty,
null,
oWorksheet,
new object[] { oCells1_, oCells2_ });
oRange_.GetType().InvokeMember("Select", BindingFlags.InvokeMethod,
null, oRange_, null);
object oSelection_ = oExcel.GetType().InvokeMember("Selection", BindingFlags.GetProperty, null, oExcel,
null);
object EtireRow = oSelection_.GetType().InvokeMember("EntireRow", BindingFlags.GetProperty,
null, oSelection_, null);
for (int xxx = 0; xxx < Grid.RowCount; xxx++)
EtireRow.GetType().InvokeMember("Insert", BindingFlags.InvokeMethod,
null, EtireRow, null);
}
Приложение Д
Копии слайдов презентации
Рисунок Д.1 – Слайд «Описание темы дипломного проекта»
Рисунок Д.2 – Слайд «Цели проектирования»
Рисунок Д.3 – Слайд «Актуальность темы дипломного проектирования»
Рисунок Д.4 – Слайд «Диаграмма вариантов использования информационной подсистемы»
Рисунок Д.5 – Слайд «Функции разработанного приложения»
Рисунок Д.6 – Слайд « Схема инфологической модели ИС «Granit».»
Рисунок Д.7 – Слайд «Главное окно программы»
Рисунок Д.8 – Слайд «Основные технико-экономические показатели»
Рисунок Д.9 – Слайд «Завершение доклада»
Размещено на Allbest
