Диплом: Автоматизация и внедрение складского учета в мебельную компанию ООО "РИО ГАРАНТ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
91
a_kladovschika_dolzhnostnye_objazannosti_kladovschika_obrazets_dolzhnostn
oj_instruktsii_kladovschika.html (дата обращения 5.05.2019)
27. Microinvest Склад Pro [Электронный ресурс]. Режим доступа:
http://www.microinvest.ru
(дата обращения 8.05.2019)
28. 1С: Торговля и Склад [Электронный ресурс]. Режим доступа:
http://www.1c.ru/ (дата обращения 8.05.2019)
29. Мой склад [Электронный ресурс]. Режим доступа: http://www.moysklad.ru
(дата обращения 8.05.2019)
30. Embarcadero RAD Studio [Электронный ресурс]. URL:
http://www.embarcadero.ru
(дата обращения 10.05.2019)
31. Lazarus [Электронный ресурс]. URL: http://www.lazarus.com (дата
обращения 10.05.2019)
32. MS Access [Электронный ресурс]. URL: http://www.mysql.ru (дата
обращения 10.05.2019)
33. MS SQL Server [Электронный ресурс]. URL: http://www.mssqlserver.ru (дата
обращения 10.05.2019)
34. Oracle [Электронный ресурс]. URL: http://www.oracle.ru (дата обращения
10.05.2019)
35. MySQL [Электронный ресурс]. URL: http://www.mysql.ru (дата обращения
10.05.2019)
92
Приложение А. Фрагменты исходного кода
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;
namespace Sklad
{
public partial class FormaSelectPoz : Form
{
public FormaSelectPoz()
{
InitializeComponent();
}
private void FormaSelectPoz_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.КатегорииТоваров". При необходимости она может быть перемещена
или удалена.
this.категорииТоваровTableAdapter.Fill(this.skladBDDataSet.КатегорииТоваров);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.Склады". При необходимости она может быть перемещена или
удалена.
this.складыTableAdapter.Fill(this.skladBDDataSet.Склады);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.СвободныеЯчейки". При необходимости она может быть перемещена
или удалена.
this.свободныеЯчейкиTableAdapter.Fill(this.skladBDDataSet.СвободныеЯчейки);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet1.ЗоныСклада". При необходимости она может быть перемещена или
удалена.
this.зоныСкладаTableAdapter.Fill(this.skladBDDataSet1.ЗоныСклада);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.Товары". При необходимости она может быть перемещена или
удалена.
this.товарыTableAdapter.Fill(this.skladBDDataSet.Товары);
93
row = skladBDDataSet.Поступление.NewПоступлениеRow();
comboBox1.BindingContext = new BindingContext();
comboBox1.SelectedIndex = -1;
comboBox2.BindingContext = new BindingContext();
comboBox2.SelectedIndex = -1;
if (kodTov != null)
{
comboBox1.SelectedValue = kodTov;
Text = "Выбор ячейки (в)";
}
}
public SkladBDDataSet.ПоступлениеRow row;
private void button1_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedValue == null)
{
MessageBox.Show("Выберите товар", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (numericUpDown3.Value == 0 || numericUpDown4.Value == 0)
{
MessageBox.Show("Введите размер упаковки", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (numericUpDown6.Value == 0)
{
MessageBox.Show("Укажите вес товара", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (dataGridView1.Rows.Count > 0 && dataGridView1.CurrentCell != null )
{
if (dataGridView1.CurrentCell.Style.BackColor==Color.Red)
{
94
MessageBox.Show("Ячейка занята", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
row.КодТовара = Convert.ToInt32(comboBox1.SelectedValue);
row.Количество =Convert.ToInt32( numericUpDown1.Value);
row.КодЗоны= Convert.ToInt32(comboBox2.SelectedValue);
row.РазмерУпаковкиВ =(float) numericUpDown3.Value;
row.РазмерУпаковкиШ= (float)numericUpDown4.Value;
row.КодСклада= Convert.ToInt32(comboBox3.SelectedValue);
row.РазмерУпаковкиГ = (float)numericUpDown5.Value;
row.Вес = (float)numericUpDown7.Value;
row.Ячейка = dataGridView1.CurrentCell.Value.ToString();
this.DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show("Выберите ячейку для размещения", "",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
private object kodTov;
public void SetTovar(object kodTov)
{
this.kodTov = kodTov;
comboBox1.SelectedValue = kodTov;
Text = "Выбор ячейки)";
}
decimal vol = 0;
private void Volume()
{
vol = (numericUpDown3.Value == 0 ? 1 : numericUpDown3.Value) *
(numericUpDown4.Value == 0 ? 1 : numericUpDown4.Value) * (numericUpDown5.Value == 0
? 1 : numericUpDown5.Value) * numericUpDown1.Value;
numericUpDown7.Value = vol;
PodborZon();
}
95
public void PodborZon()
{
зоныСкладаTableAdapter.FillByWeightSize(this.skladBDDataSet1.ЗоныСклада,(float?)nume
ricUpDown6.Value, (float?)numericUpDown3.Value, (float?)numericUpDown4.Value,
(float?)numericUpDown5.Value, (float?)numericUpDown8.Value);
comboBox2.Refresh();
comboBox2.SelectedIndex = -1;
}
private void numericUpDown3_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown4_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown5_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
Volume();
}
List<string> zan = new List<string>();
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable dt = new DataTable();
SkladBDDataSet.ЗоныСкладаRow z =
skladBDDataSet1.ЗоныСклада.FindByКодЗоны(Convert.ToInt32(
comboBox2.SelectedValue));
if (z == null) return;
label9.Text = "MAX: Вес=" + (z.IsМаксимальныйВесNull() ? "не ук.":
z.МаксимальныйВес.ToString()) + ", ВхШхГ=" + (z.IsМаксимальнаяВысотаNull() ? "не ук.":
z.МаксимальнаяВысота.ToString()) + "х" + (z.IsМаксимальнаяШиринаNull() ? "не ук." :
96
z.МаксимальнаяШирина.ToString()) + "х" + (z.IsМаксимальнаяГлубинаNull() ? "не ук." :
z.МаксимальнаяГлубина.ToString());
int stel = z.КоличествоСтеллажей;
int pol = z.КоличествоПолок;
int yach = z.КоличествоЯчеек;
//получаем список занятых ячеек в выбранной зоне
this.свободныеЯчейкиTableAdapter.FillByЗанятые(this.skladBDDataSet.СвободныеЯчейки)
;
zan = new List<string>();
foreach(SkladBDDataSet.СвободныеЯчейкиRow s in
this.skladBDDataSet.СвободныеЯчейки)
{
zan.Add(s.Ячейка);
}
for (int y = 1; y <= yach; y++)//полки
{
dt.Columns.Add();
}
for (int y = 1; y <= pol*stel; y++)//полки
{
dt.Rows.Add();
}
//строки со стеллажами: 1,1+pol*1
for (int s=0;s<=stel*pol-1;s=s+pol)//стеллажи
{
for (int p = 1; p <= pol; p++)//полки
{
for (int y = 1; y <= yach; y++)//ячейки
{
string name = z.КодЗоны + "-" + (Math.Abs( s/(pol))+1).ToString().PadLeft(2,
'0') + p.ToString().PadLeft(2, '0') + y.ToString().PadLeft(2, '0');
dt.Rows[s+(p-1)][y-1]=name;
}
}
}
dataGridView1.DataSource = dt;
}
97
private void dataGridView1_CellPainting(object sender,
DataGridViewCellPaintingEventArgs e)
{
if (zan.Contains(e.Value))
{
e.CellStyle.BackColor = Color.Red;
}
else
{
e.CellStyle.BackColor = Color.LightGreen;
}
}
private void button2_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox3.SelectedValue == null) зоныСкладаBindingSource.Filter = "";
else
{
// зоныСкладаBindingSource.Filter = "КодСклада=1";// +
comboBox3.SelectedValue.ToString();
this.зоныСкладаTableAdapter.FillBySklad(this.skladBDDataSet1.ЗоныСклада,
Convert.ToInt32(comboBox3.SelectedValue));
}
}
private void numericUpDown6_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedValue == null) return;
SkladBDDataSet.ТоварыRow t =
skladBDDataSet.Товары.FindByКодТовара(Convert.ToInt32(comboBox1.SelectedValue));
SkladBDDataSet.КатегорииТоваровRow kt =
skladBDDataSet.КатегорииТоваров.FindByКодКатегории(t.КодКатегории);
98
if (!kt.IsТемператураХраненияМинNull() && !kt.IsТемператураХраненияМаксNull())
numericUpDown8.Value = (decimal)((kt.ТемператураХраненияМакс +
kt.ТемператураХраненияМин) / 2);
if (!kt.IsТемператураХраненияМинNull() && kt.IsТемператураХраненияМаксNull())
numericUpDown8.Value = (decimal)kt.ТемператураХраненияМин;
if (kt.IsТемператураХраненияМинNull() && !kt.IsТемператураХраненияМаксNull())
numericUpDown8.Value = (decimal)kt.ТемператураХраненияМакс;
}
}
}
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Word;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GenDocs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void шаблоныToolStripMenuItem_Click(object sender, EventArgs e)
{
FormShablons f = new FormShablons();
f.ShowDialog();
this.меткиTableAdapter.Fill(this.bDDataSet1.Метки);
this.шаблонСтипомTableAdapter.Fill(this.bDDataSet.ШаблонСтипом);
this.шаблоныTableAdapter.Fill(this.bDDataSet.Шаблоны);
}
private void Form1_Load(object sender, EventArgs e)
{
99
// TODO: данная строка кода позволяет загрузить данные в таблицу
"bDDataSet1.Метки". При необходимости она может быть перемещена или удалена.
this.меткиTableAdapter.Fill(this.bDDataSet1.Метки);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"bDDataSet.ШаблонСтипом". При необходимости она может быть перемещена или удалена.
this.шаблонСтипомTableAdapter.Fill(this.bDDataSet.ШаблонСтипом);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"bDDataSet.Шаблоны". При необходимости она может быть перемещена или удалена.
this.шаблоныTableAdapter.Fill(this.bDDataSet.Шаблоны);
//обнуляем выбор
comboBox1.BindingContext = new BindingContext();
comboBox1.SelectedIndex = -1;
}
//Здесь хранится список меток и контролов, из которых брать данные для их
заполнения
Dictionary<BDDataSet.МеткиRow, Control> dict = new
Dictionary<BDDataSet.МеткиRow, Control>();
//Здесь хранится список меток, которые относятся к типу Текущая дата и время
List<BDDataSet.МеткиRow> dictDatetime = new List<BDDataSet.МеткиRow>();
private void button1_Click(object sender, EventArgs e)
{
}
/// <summary>
/// Заполняем вордовский документ
/// </summary>
/// <param name="filename"></param>
/// <param name="sh"></param>
public Microsoft.Office.Interop.Word.Document FillWordDoc(string filename,
BDDataSet.ШаблонСтипомRow sh)
{
Microsoft.Office.Interop.Word.Application ap = new
Microsoft.Office.Interop.Word.Application();
ap.Visible = false;
Document document = null;
try
{
//ap.Documents.Close(filename);
document = ap.Documents.Open(filename);
//получаем список меток документа
foreach (BDDataSet.МеткиRow m in dict.Keys)
{
100
document.Bookmarks[m.Наименование].Select();
Microsoft.Office.Interop.Word.Selection currentSelection = ap.Selection;
if (dict[m].GetType() == typeof(System.Windows.Forms.TextBox))
{
System.Windows.Forms.TextBox t =
(System.Windows.Forms.TextBox)dict[m];
currentSelection.TypeText(string.IsNullOrEmpty(t.Text) ? "" : t.Text);
}
else
{
//вставляем таблицу
DataGrid dgv = (DataGrid)dict[m];
document.Bookmarks[m.Наименование].Select();
System.Data.DataTable dt = (System.Data.DataTable)dgv.DataSource;
Microsoft.Office.Interop.Word.Table tbl1 =
ap.Selection.Tables.Add(ap.Selection.Range, 1, dt.Columns.Count);
//заголовки колонок
for (int i = 0; i <= dt.Columns.Count - 1; i++)
{
tbl1.Cell(1, i + 1).Range.Text = dt.Columns[i].ColumnName;
tbl1.Cell(1, i + 1).Range.Borders[WdBorderType.wdBorderLeft].LineStyle
= WdLineStyle.wdLineStyleSingle;
tbl1.Cell(1, i +
1).Range.Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;
tbl1.Cell(1, i + 1).Range.Borders[WdBorderType.wdBorderTop].LineStyle
= WdLineStyle.wdLineStyleSingle;
tbl1.Cell(1, i +
1).Range.Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;
}
//строки таблицы
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
tbl1.Rows.Add();
for (int j = 0; j <= dt.Columns.Count - 1; j++)
{
tbl1.Cell(tbl1.Rows.Count, j + 1).Range.Text = dt.Rows[i][j] == null ? ""
: dt.Rows[i][j].ToString();
tbl1.Cell(tbl1.Rows.Count, j +
1).Range.Borders[WdBorderType.wdBorderLeft].LineStyle = WdLineStyle.wdLineStyleSingle;
tbl1.Cell(tbl1.Rows.Count, j +
1).Range.Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;
tbl1.Cell(tbl1.Rows.Count, j +
1).Range.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleSingle;
tbl1.Cell(tbl1.Rows.Count, j +
1).Range.Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)