Основные технико-экономические показатели проекта
Для удобства анализа, все основные технико-экономические показатели проекта сведены в таблицу 4.5.
Таблица 4.5 − Основные технико-экономические показатели проекта
Основные характеристики | Единицы измерения | Проект |
Итоговая трудоемкость разработки | чел.-ч. | 365,10 |
Полные затраты на создание программного продукта | руб. | 43337,94 |
Оптовая цена программного продукта | руб. | 49838,63 |
Годовой эффект от внедрения программного продукта | руб. | 51000,00 |
Чистый дисконтированный доход за 4 года использования программного продукта | руб. | 81491,74 |
Срок окупаемости проекта | год | 0,83 |
Выводы
1. Итоговая трудоемкость разработки программного продукта (информационной подсистемы «Granit») составляет 365,10 чел.-ч.
2. Полные затраты на создание программного продукта составляют 43337,94 руб.
3. Оптовая цена программного продукта – 49838,63 руб.
4. Годовой эффект от внедрения программного продукта составляет 51000,00 руб.
5. Чистый дисконтированный доход за 4 года использования программного продукта равен 81491,74 руб.
6. Срок окупаемости проекта 0,83 года.
7. После внедрения программного продукта ежемесячные затраты времени менеджеров отдела продаж на формирование документов сократились с 40 до 6 часов, т. е. почти в семь раз.
8. Таким образом, разработка информационной подсистемы «Granit» является экономически обоснованной и эффективной.
|
|
ЗАКЛЮЧЕНИЕ
Целью работы являлась разработка информационной подсистемы отдела продаж ООО «Гранит».
Основным результатом дипломной работы является создание эффективной подсистемы для учёта продаж предприятия ООО «Granit».
В результате внедрения подсистемы учета продаж удалось добиться существенного сокращения затрат времени на работу по оформлению продаж. Спроектированное приложение позволило вести четкое общение с клиентами и поставщиками, опираясь на быстро извлеченные данные.
Приложение выполняет следующие функции:
− просматривать информацию в базе данных о поставщиках;
− производить поиск товаров;
− редактировать информацию в базе данных о поставщиках;
− вводить информацию в базу данных о товарах;
− производить анализ объёмов продаж по месяцам и по сотрудникам;
− производить анализ количества продаж по месяцам и по сотрудникам;
− формировать вывод на печать аналитических отчетов;
− печатать накладные и товарные чеки.
Разработанная в рамках данной дипломной работы подсистема отвечает всем современным требованиям. Приложение, включенное в данную подсистему, является готовым к расширению для решения всех задач на предприятии, связанных со сбором, хранением, обработкой и доступом к информации.
|
|
Подсистема является простой и не требующей специальной подготовки для работы с ней и не нуждается в покупке дополнительного оборудования., а также она не требует сопровождения специалистов.
Помимо всего прочего, затраты на разработку, внедрение и эксплуатацию данного продукта связаны только с работой разработчика.
К перспективным направлениям развития темы дипломного проекта можно отнести:
− расширение информационной системы, позволяющее автоматизировать все этапы работы предприятия;
− адаптация информационной подсистемы для других предприятий;
− создание набора инструментов, позволяющих автоматизировать типовые процессы, протекающие на предприятии.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Трофимова, М.В. Анализ систем управления: учебное пособие для вузов [Текст] / М.В. Трофимова. – Ставрополь: Сев Кав ГТУ, 2005. – 56с.
2. Архипова, Н.И. Исследование систем управления: уч.пособие для вузов [Текст] / Н.И. Архипова. –М: «Издательство ПРИОР», 2002. – 214с.
3. Беляев, А.А. Системология организации. Под ред Короткова [Текст] / А.А. Беляев. – М.: Инфра – М, 2000. – 168с.
|
|
4. Коротков, Э.М. Исследование систем управления [Текст] / Э.М. Коротков. – М.: ДеКА, 2000. – 184с.
5. Коротков, Э.М. Концепция менеджмента [Текст] / Э.М. Коротков. – М.: ДеКА, 1996. – 342с.
6. Мишин, В.М. Исследование систем управления: Учебник для вузов [Текст] / В.М. Мишин – М.: ЮНИТИ-ДАНА, 2003. – 192с.
7. Анфилатов, В.С. и др. Системный анализ в управление: учеб. Пособие под ред. А.А. Емельянова [Текст] / В.С. Анфилатов – М.: Финансы и статистика 2002. – 80с.
8. Информационный портал MESa.ru [Электронный ресурс]. Системы оперативного управления производством. Режим доступа: http:// www.mesa.ru – Загл. с экрана.
9. Информационный портал Scada.ru [Электронный ресурс]. Новости и публикации по системам сбора данных и оперативного диспетчерского управления. Режим доступа: http://www. Scada.ru/ – Загл. с экрана.
10. Информационный портал Asutp.ru – cредства и системы компьютерной автоматизации [Электронный ресурс]: – Режим доступа: http://www.asutp.ru – Загл. с экрана.
11. Информационный портал компании AdAstrA Research Group, Ltd , посвященный SCADA–системе Trace Mode, HMI, MES, EAM и другим системам для управления технологическими процессами в реальном времени [Электронный ресурс]. Режим доступа: http://www.adastra.ru/ – Загл. с экрана.
|
|
12. Информационный портал Rtsoft.ru – средства и системы автоматизации [Электронный ресурс]: – Режим доступа: http://www.rtsoft.ru – Загл. с экрана.
13. Информационный портал Vestco.ru – комплексная автоматизация промышленных предприятий и организаций [Электронный ресурс]: – Режим доступа: http://www.vestco.ru – Загл. с экрана.
14. Кренке, Д. Теория и практика построения баз данных: пер.с англ [Текст] / Д. Кренке. – 9-е изд. – СПб.: Питер, 2005. – 858 с.
15. Хомоненко, А.Д. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко [Текст] / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. – СПб.: КОРОНА принт, 2000. – 416с.
16. Карпова, Т.С. Базы данных: модели, разработка, реализация [Текст] / Т.С. Карпова. – СПб.: Питер, 2001. – 304с.
17. Ульман, Дж. Введение в системы баз данных [Текст] / Дж. Ульман. – М.: Лори, 2000. – 374с.
18. Свободная энциклопедия Википедия [Электронная энциклопедия] // Сетевая энциклопедия Wikipedia. 2000. – PL/SQL: http://ru.wikipedia.org/wiki/PL/SQL. – Загл. с экрана.
19. Бодягин, И. MS SQL 2005: оконные функции [Текст] / И. Бодягин. RSDN Magazine, 2004 – №6, с. 29-40.
20. Шилдт, Г. Полный справочник по С#. [Текст] / Г. Шилдт. – М.: Издательский дом «Вильямс», 2004. — 752 с
21. Троелсен, Э., С# и платформа .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
Дата добавления: 2018-09-22; просмотров: 339; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!