Основные технико-экономические показатели проекта



 

Для удобства анализа, все основные технико-экономические показатели проекта сведены в таблицу 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!