Div. Überarbeitungen, Liefertage und Rhythmus Enum erstellt, KundenVW Lieferrhythmus ComboBox erstellt.

This commit is contained in:
Kilian Wirl 2026-01-16 18:14:13 +01:00
parent 2e9dd93310
commit 873bc72a54
32 changed files with 1181 additions and 478 deletions

View File

@ -78,8 +78,33 @@
this.comboBoxSWSDrucker = new System.Windows.Forms.ComboBox();
this.comboBoxEtikettDrucker = new System.Windows.Forms.ComboBox();
this.groupBoxDrucker = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label();
this.numericUpDownSWSKopien = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.tabControlEinstellung = new System.Windows.Forms.TabControl();
this.tabPageFarben = new System.Windows.Forms.TabPage();
this.tabPageDeckungsbeitrag = new System.Windows.Forms.TabPage();
this.tabPageDrucker = new System.Windows.Forms.TabPage();
this.tabPageTourenplanung = new System.Windows.Forms.TabPage();
this.groupBoxRegeln = new System.Windows.Forms.GroupBox();
this.label17 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.comboBoxLieferrhythmus = new System.Windows.Forms.ComboBox();
this.label16 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tabPageAllgemein = new System.Windows.Forms.TabPage();
this.panelButtons = new System.Windows.Forms.Panel();
this.comboBoxLT1 = new System.Windows.Forms.ComboBox();
this.comboBoxLT2 = new System.Windows.Forms.ComboBox();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label21 = new System.Windows.Forms.Label();
this.comboBox3 = new System.Windows.Forms.ComboBox();
this.comboBox4 = new System.Windows.Forms.ComboBox();
this.label22 = new System.Windows.Forms.Label();
this.comboBox5 = new System.Windows.Forms.ComboBox();
this.label23 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numUpDownMinWert)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numUpDownMaxWert)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numUpDownAnzahl)).BeginInit();
@ -87,6 +112,14 @@
this.groupBoxFarben.SuspendLayout();
this.groupBoxDrucker.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).BeginInit();
this.tabControlEinstellung.SuspendLayout();
this.tabPageFarben.SuspendLayout();
this.tabPageDeckungsbeitrag.SuspendLayout();
this.tabPageDrucker.SuspendLayout();
this.tabPageTourenplanung.SuspendLayout();
this.groupBoxRegeln.SuspendLayout();
this.tabPageAllgemein.SuspendLayout();
this.panelButtons.SuspendLayout();
this.SuspendLayout();
//
// buttonVarKost
@ -98,7 +131,7 @@
this.buttonVarKost.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonVarKost.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonVarKost.ForeColor = System.Drawing.Color.White;
this.buttonVarKost.Location = new System.Drawing.Point(9, 43);
this.buttonVarKost.Location = new System.Drawing.Point(10, 214);
this.buttonVarKost.Margin = new System.Windows.Forms.Padding(2);
this.buttonVarKost.Name = "buttonVarKost";
this.buttonVarKost.Size = new System.Drawing.Size(160, 24);
@ -110,7 +143,7 @@
// textBoxVarKosten
//
this.textBoxVarKosten.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxVarKosten.Location = new System.Drawing.Point(201, 43);
this.textBoxVarKosten.Location = new System.Drawing.Point(202, 214);
this.textBoxVarKosten.Margin = new System.Windows.Forms.Padding(2);
this.textBoxVarKosten.Name = "textBoxVarKosten";
this.textBoxVarKosten.Size = new System.Drawing.Size(234, 26);
@ -123,7 +156,7 @@
this.buttonVarSpeichern.FlatAppearance.BorderSize = 0;
this.buttonVarSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonVarSpeichern.Image = ((System.Drawing.Image)(resources.GetObject("buttonVarSpeichern.Image")));
this.buttonVarSpeichern.Location = new System.Drawing.Point(174, 43);
this.buttonVarSpeichern.Location = new System.Drawing.Point(175, 214);
this.buttonVarSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonVarSpeichern.Name = "buttonVarSpeichern";
this.buttonVarSpeichern.Size = new System.Drawing.Size(22, 24);
@ -138,7 +171,7 @@
this.buttonFixLohnSpeichern.FlatAppearance.BorderSize = 0;
this.buttonFixLohnSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonFixLohnSpeichern.Image = ((System.Drawing.Image)(resources.GetObject("buttonFixLohnSpeichern.Image")));
this.buttonFixLohnSpeichern.Location = new System.Drawing.Point(174, 72);
this.buttonFixLohnSpeichern.Location = new System.Drawing.Point(175, 243);
this.buttonFixLohnSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonFixLohnSpeichern.Name = "buttonFixLohnSpeichern";
this.buttonFixLohnSpeichern.Size = new System.Drawing.Size(22, 24);
@ -150,7 +183,7 @@
// textBoxFixLohnKosten
//
this.textBoxFixLohnKosten.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxFixLohnKosten.Location = new System.Drawing.Point(201, 72);
this.textBoxFixLohnKosten.Location = new System.Drawing.Point(202, 243);
this.textBoxFixLohnKosten.Margin = new System.Windows.Forms.Padding(2);
this.textBoxFixLohnKosten.Name = "textBoxFixLohnKosten";
this.textBoxFixLohnKosten.Size = new System.Drawing.Size(234, 26);
@ -166,7 +199,7 @@
this.buttonFixLohnKosten.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonFixLohnKosten.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonFixLohnKosten.ForeColor = System.Drawing.Color.White;
this.buttonFixLohnKosten.Location = new System.Drawing.Point(9, 72);
this.buttonFixLohnKosten.Location = new System.Drawing.Point(10, 243);
this.buttonFixLohnKosten.Margin = new System.Windows.Forms.Padding(2);
this.buttonFixLohnKosten.Name = "buttonFixLohnKosten";
this.buttonFixLohnKosten.Size = new System.Drawing.Size(160, 24);
@ -181,7 +214,7 @@
this.buttonFixMietSpeichern.FlatAppearance.BorderSize = 0;
this.buttonFixMietSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonFixMietSpeichern.Image = ((System.Drawing.Image)(resources.GetObject("buttonFixMietSpeichern.Image")));
this.buttonFixMietSpeichern.Location = new System.Drawing.Point(174, 102);
this.buttonFixMietSpeichern.Location = new System.Drawing.Point(175, 273);
this.buttonFixMietSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonFixMietSpeichern.Name = "buttonFixMietSpeichern";
this.buttonFixMietSpeichern.Size = new System.Drawing.Size(22, 24);
@ -193,7 +226,7 @@
// textBoxFixMietKosten
//
this.textBoxFixMietKosten.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxFixMietKosten.Location = new System.Drawing.Point(201, 102);
this.textBoxFixMietKosten.Location = new System.Drawing.Point(202, 273);
this.textBoxFixMietKosten.Margin = new System.Windows.Forms.Padding(2);
this.textBoxFixMietKosten.Name = "textBoxFixMietKosten";
this.textBoxFixMietKosten.Size = new System.Drawing.Size(234, 26);
@ -209,7 +242,7 @@
this.buttonFixMietKosten.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonFixMietKosten.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonFixMietKosten.ForeColor = System.Drawing.Color.White;
this.buttonFixMietKosten.Location = new System.Drawing.Point(9, 102);
this.buttonFixMietKosten.Location = new System.Drawing.Point(10, 273);
this.buttonFixMietKosten.Margin = new System.Windows.Forms.Padding(2);
this.buttonFixMietKosten.Name = "buttonFixMietKosten";
this.buttonFixMietKosten.Size = new System.Drawing.Size(160, 24);
@ -276,7 +309,7 @@
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(4, 7);
this.label2.Location = new System.Drawing.Point(5, 178);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(286, 26);
@ -287,7 +320,7 @@
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(4, 328);
this.label3.Location = new System.Drawing.Point(5, 28);
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(81, 26);
@ -304,7 +337,7 @@
0,
0,
0});
this.numUpDownMinWert.Location = new System.Drawing.Point(9, 388);
this.numUpDownMinWert.Location = new System.Drawing.Point(10, 88);
this.numUpDownMinWert.Margin = new System.Windows.Forms.Padding(2);
this.numUpDownMinWert.Maximum = new decimal(new int[] {
1000000,
@ -327,7 +360,7 @@
0,
0,
0});
this.numUpDownMaxWert.Location = new System.Drawing.Point(126, 388);
this.numUpDownMaxWert.Location = new System.Drawing.Point(127, 88);
this.numUpDownMaxWert.Margin = new System.Windows.Forms.Padding(2);
this.numUpDownMaxWert.Maximum = new decimal(new int[] {
1000000,
@ -343,7 +376,7 @@
// numUpDownAnzahl
//
this.numUpDownAnzahl.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.numUpDownAnzahl.Location = new System.Drawing.Point(243, 388);
this.numUpDownAnzahl.Location = new System.Drawing.Point(244, 88);
this.numUpDownAnzahl.Margin = new System.Windows.Forms.Padding(2);
this.numUpDownAnzahl.Maximum = new decimal(new int[] {
20,
@ -359,7 +392,7 @@
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(240, 369);
this.label6.Location = new System.Drawing.Point(241, 69);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(51, 17);
@ -370,7 +403,7 @@
//
this.checkBoxMinWert.AutoSize = true;
this.checkBoxMinWert.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkBoxMinWert.Location = new System.Drawing.Point(9, 366);
this.checkBoxMinWert.Location = new System.Drawing.Point(10, 66);
this.checkBoxMinWert.Margin = new System.Windows.Forms.Padding(2);
this.checkBoxMinWert.Name = "checkBoxMinWert";
this.checkBoxMinWert.Size = new System.Drawing.Size(87, 21);
@ -383,7 +416,7 @@
//
this.checkBoxMaxWert.AutoSize = true;
this.checkBoxMaxWert.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.checkBoxMaxWert.Location = new System.Drawing.Point(126, 366);
this.checkBoxMaxWert.Location = new System.Drawing.Point(127, 66);
this.checkBoxMaxWert.Margin = new System.Windows.Forms.Padding(2);
this.checkBoxMaxWert.Name = "checkBoxMaxWert";
this.checkBoxMaxWert.Size = new System.Drawing.Size(90, 21);
@ -395,7 +428,7 @@
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(86, 339);
this.label5.Location = new System.Drawing.Point(87, 39);
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(185, 13);
@ -408,7 +441,7 @@
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Location = new System.Drawing.Point(339, 328);
this.groupBox1.Location = new System.Drawing.Point(340, 28);
this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
@ -460,7 +493,7 @@
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(301, 18);
this.label11.Location = new System.Drawing.Point(302, 189);
this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(275, 13);
@ -471,7 +504,7 @@
//
this.label12.AutoSize = true;
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.Location = new System.Drawing.Point(4, 423);
this.label12.Location = new System.Drawing.Point(5, 123);
this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(182, 26);
@ -481,7 +514,7 @@
// textBoxSortiment
//
this.textBoxSortiment.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxSortiment.Location = new System.Drawing.Point(174, 461);
this.textBoxSortiment.Location = new System.Drawing.Point(181, 75);
this.textBoxSortiment.Margin = new System.Windows.Forms.Padding(2);
this.textBoxSortiment.Name = "textBoxSortiment";
this.textBoxSortiment.Size = new System.Drawing.Size(422, 26);
@ -494,7 +527,7 @@
// textBoxRatingbild
//
this.textBoxRatingbild.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxRatingbild.Location = new System.Drawing.Point(174, 490);
this.textBoxRatingbild.Location = new System.Drawing.Point(181, 104);
this.textBoxRatingbild.Margin = new System.Windows.Forms.Padding(2);
this.textBoxRatingbild.Name = "textBoxRatingbild";
this.textBoxRatingbild.Size = new System.Drawing.Size(422, 26);
@ -513,7 +546,7 @@
this.buttonSortiment.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSortiment.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSortiment.ForeColor = System.Drawing.Color.White;
this.buttonSortiment.Location = new System.Drawing.Point(9, 461);
this.buttonSortiment.Location = new System.Drawing.Point(16, 75);
this.buttonSortiment.Margin = new System.Windows.Forms.Padding(2);
this.buttonSortiment.Name = "buttonSortiment";
this.buttonSortiment.Size = new System.Drawing.Size(160, 24);
@ -531,7 +564,7 @@
this.buttonRatingbild.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonRatingbild.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonRatingbild.ForeColor = System.Drawing.Color.White;
this.buttonRatingbild.Location = new System.Drawing.Point(9, 490);
this.buttonRatingbild.Location = new System.Drawing.Point(16, 104);
this.buttonRatingbild.Margin = new System.Windows.Forms.Padding(2);
this.buttonRatingbild.Name = "buttonRatingbild";
this.buttonRatingbild.Size = new System.Drawing.Size(160, 24);
@ -542,7 +575,7 @@
//
// buttonSpeichern
//
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSpeichern.BackColor = System.Drawing.Color.Green;
this.buttonSpeichern.FlatAppearance.BorderColor = System.Drawing.Color.Green;
this.buttonSpeichern.FlatAppearance.BorderSize = 0;
@ -550,7 +583,7 @@
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSpeichern.ForeColor = System.Drawing.Color.White;
this.buttonSpeichern.Location = new System.Drawing.Point(9, 639);
this.buttonSpeichern.Location = new System.Drawing.Point(856, 10);
this.buttonSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonSpeichern.Name = "buttonSpeichern";
this.buttonSpeichern.Size = new System.Drawing.Size(160, 28);
@ -561,7 +594,7 @@
//
// buttonAbbrechen
//
this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAbbrechen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.buttonAbbrechen.CausesValidation = false;
this.buttonAbbrechen.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
@ -570,7 +603,7 @@
this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAbbrechen.ForeColor = System.Drawing.Color.White;
this.buttonAbbrechen.Location = new System.Drawing.Point(174, 639);
this.buttonAbbrechen.Location = new System.Drawing.Point(1021, 10);
this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(2);
this.buttonAbbrechen.Name = "buttonAbbrechen";
this.buttonAbbrechen.Size = new System.Drawing.Size(160, 28);
@ -702,7 +735,7 @@
this.groupBoxFarben.Controls.Add(this.buttonHubband);
this.groupBoxFarben.Controls.Add(this.buttonTrockner);
this.groupBoxFarben.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.groupBoxFarben.Location = new System.Drawing.Point(9, 131);
this.groupBoxFarben.Location = new System.Drawing.Point(24, 121);
this.groupBoxFarben.Margin = new System.Windows.Forms.Padding(2);
this.groupBoxFarben.Name = "groupBoxFarben";
this.groupBoxFarben.Padding = new System.Windows.Forms.Padding(2);
@ -807,13 +840,21 @@
this.groupBoxDrucker.Controls.Add(this.label13);
this.groupBoxDrucker.Controls.Add(this.label14);
this.groupBoxDrucker.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.groupBoxDrucker.Location = new System.Drawing.Point(9, 533);
this.groupBoxDrucker.Location = new System.Drawing.Point(14, 32);
this.groupBoxDrucker.Name = "groupBoxDrucker";
this.groupBoxDrucker.Size = new System.Drawing.Size(547, 90);
this.groupBoxDrucker.TabIndex = 48;
this.groupBoxDrucker.TabStop = false;
this.groupBoxDrucker.Text = "Standart Drucker";
//
// numericUpDownSWSKopien
//
this.numericUpDownSWSKopien.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.numericUpDownSWSKopien.Location = new System.Drawing.Point(404, 30);
this.numericUpDownSWSKopien.Name = "numericUpDownSWSKopien";
this.numericUpDownSWSKopien.Size = new System.Drawing.Size(47, 20);
this.numericUpDownSWSKopien.TabIndex = 49;
//
// label1
//
this.label1.AutoSize = true;
@ -825,48 +866,305 @@
this.label1.TabIndex = 48;
this.label1.Text = "SWS-Kopien";
//
// numericUpDownSWSKopien
// tabControlEinstellung
//
this.numericUpDownSWSKopien.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.numericUpDownSWSKopien.Location = new System.Drawing.Point(404, 30);
this.numericUpDownSWSKopien.Name = "numericUpDownSWSKopien";
this.numericUpDownSWSKopien.Size = new System.Drawing.Size(47, 20);
this.numericUpDownSWSKopien.TabIndex = 49;
this.tabControlEinstellung.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControlEinstellung.Controls.Add(this.tabPageFarben);
this.tabControlEinstellung.Controls.Add(this.tabPageDeckungsbeitrag);
this.tabControlEinstellung.Controls.Add(this.tabPageDrucker);
this.tabControlEinstellung.Controls.Add(this.tabPageTourenplanung);
this.tabControlEinstellung.Controls.Add(this.tabPageAllgemein);
this.tabControlEinstellung.Location = new System.Drawing.Point(0, 0);
this.tabControlEinstellung.Name = "tabControlEinstellung";
this.tabControlEinstellung.SelectedIndex = 0;
this.tabControlEinstellung.Size = new System.Drawing.Size(1192, 623);
this.tabControlEinstellung.TabIndex = 49;
//
// tabPageFarben
//
this.tabPageFarben.Controls.Add(this.groupBoxFarben);
this.tabPageFarben.Location = new System.Drawing.Point(4, 22);
this.tabPageFarben.Name = "tabPageFarben";
this.tabPageFarben.Padding = new System.Windows.Forms.Padding(3);
this.tabPageFarben.Size = new System.Drawing.Size(1184, 597);
this.tabPageFarben.TabIndex = 0;
this.tabPageFarben.Text = "Farben";
this.tabPageFarben.UseVisualStyleBackColor = true;
//
// tabPageDeckungsbeitrag
//
this.tabPageDeckungsbeitrag.Controls.Add(this.label3);
this.tabPageDeckungsbeitrag.Controls.Add(this.numUpDownMinWert);
this.tabPageDeckungsbeitrag.Controls.Add(this.numUpDownMaxWert);
this.tabPageDeckungsbeitrag.Controls.Add(this.numUpDownAnzahl);
this.tabPageDeckungsbeitrag.Controls.Add(this.label6);
this.tabPageDeckungsbeitrag.Controls.Add(this.checkBoxMinWert);
this.tabPageDeckungsbeitrag.Controls.Add(this.checkBoxMaxWert);
this.tabPageDeckungsbeitrag.Controls.Add(this.label5);
this.tabPageDeckungsbeitrag.Controls.Add(this.label11);
this.tabPageDeckungsbeitrag.Controls.Add(this.label12);
this.tabPageDeckungsbeitrag.Controls.Add(this.label2);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixMietSpeichern);
this.tabPageDeckungsbeitrag.Controls.Add(this.groupBox1);
this.tabPageDeckungsbeitrag.Controls.Add(this.textBoxFixMietKosten);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonVarKost);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixMietKosten);
this.tabPageDeckungsbeitrag.Controls.Add(this.textBoxVarKosten);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixLohnSpeichern);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonVarSpeichern);
this.tabPageDeckungsbeitrag.Controls.Add(this.textBoxFixLohnKosten);
this.tabPageDeckungsbeitrag.Controls.Add(this.buttonFixLohnKosten);
this.tabPageDeckungsbeitrag.Location = new System.Drawing.Point(4, 22);
this.tabPageDeckungsbeitrag.Name = "tabPageDeckungsbeitrag";
this.tabPageDeckungsbeitrag.Padding = new System.Windows.Forms.Padding(3);
this.tabPageDeckungsbeitrag.Size = new System.Drawing.Size(1184, 597);
this.tabPageDeckungsbeitrag.TabIndex = 1;
this.tabPageDeckungsbeitrag.Text = "Deckungsbeitrag";
this.tabPageDeckungsbeitrag.UseVisualStyleBackColor = true;
//
// tabPageDrucker
//
this.tabPageDrucker.Controls.Add(this.groupBoxDrucker);
this.tabPageDrucker.Location = new System.Drawing.Point(4, 22);
this.tabPageDrucker.Name = "tabPageDrucker";
this.tabPageDrucker.Size = new System.Drawing.Size(1184, 597);
this.tabPageDrucker.TabIndex = 2;
this.tabPageDrucker.Text = "Drucker";
this.tabPageDrucker.UseVisualStyleBackColor = true;
//
// tabPageTourenplanung
//
this.tabPageTourenplanung.Controls.Add(this.groupBoxRegeln);
this.tabPageTourenplanung.Controls.Add(this.comboBoxLieferrhythmus);
this.tabPageTourenplanung.Controls.Add(this.label16);
this.tabPageTourenplanung.Controls.Add(this.label15);
this.tabPageTourenplanung.Location = new System.Drawing.Point(4, 22);
this.tabPageTourenplanung.Name = "tabPageTourenplanung";
this.tabPageTourenplanung.Size = new System.Drawing.Size(1184, 597);
this.tabPageTourenplanung.TabIndex = 3;
this.tabPageTourenplanung.Text = "Tourenplanung";
this.tabPageTourenplanung.UseVisualStyleBackColor = true;
//
// groupBoxRegeln
//
this.groupBoxRegeln.Controls.Add(this.comboBox5);
this.groupBoxRegeln.Controls.Add(this.label23);
this.groupBoxRegeln.Controls.Add(this.comboBox3);
this.groupBoxRegeln.Controls.Add(this.comboBox4);
this.groupBoxRegeln.Controls.Add(this.label22);
this.groupBoxRegeln.Controls.Add(this.comboBox1);
this.groupBoxRegeln.Controls.Add(this.comboBox2);
this.groupBoxRegeln.Controls.Add(this.label21);
this.groupBoxRegeln.Controls.Add(this.comboBoxLT2);
this.groupBoxRegeln.Controls.Add(this.comboBoxLT1);
this.groupBoxRegeln.Controls.Add(this.label17);
this.groupBoxRegeln.Controls.Add(this.label18);
this.groupBoxRegeln.Controls.Add(this.label19);
this.groupBoxRegeln.Controls.Add(this.label20);
this.groupBoxRegeln.Location = new System.Drawing.Point(12, 98);
this.groupBoxRegeln.Margin = new System.Windows.Forms.Padding(2);
this.groupBoxRegeln.Name = "groupBoxRegeln";
this.groupBoxRegeln.Padding = new System.Windows.Forms.Padding(2);
this.groupBoxRegeln.Size = new System.Drawing.Size(1165, 249);
this.groupBoxRegeln.TabIndex = 48;
this.groupBoxRegeln.TabStop = false;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label17.Location = new System.Drawing.Point(4, 224);
this.label17.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(331, 13);
this.label17.TabIndex = 3;
this.label17.Text = "Wenn nicht angehackt wird Wert automatisch berechnet.";
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(4, 90);
this.label18.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(66, 13);
this.label18.TabIndex = 2;
this.label18.Text = "3 Liefertage:";
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(125, 16);
this.label19.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(25, 13);
this.label19.TabIndex = 1;
this.label19.Text = "und";
//
// label20
//
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(4, 16);
this.label20.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(66, 13);
this.label20.TabIndex = 0;
this.label20.Text = "2 Liefertage:";
//
// comboBoxLieferrhythmus
//
this.comboBoxLieferrhythmus.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLieferrhythmus.FormattingEnabled = true;
this.comboBoxLieferrhythmus.Location = new System.Drawing.Point(281, 77);
this.comboBoxLieferrhythmus.Name = "comboBoxLieferrhythmus";
this.comboBoxLieferrhythmus.Size = new System.Drawing.Size(195, 21);
this.comboBoxLieferrhythmus.TabIndex = 47;
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(9, 80);
this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(267, 13);
this.label16.TabIndex = 25;
this.label16.Text = "Folgende Regeln gelten bei Kunden mit Lieferrhythmus:";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label15.Location = new System.Drawing.Point(7, 19);
this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(442, 26);
this.label15.TabIndex = 15;
this.label15.Text = "Regeln für automatische Tourenplanung:";
//
// tabPageAllgemein
//
this.tabPageAllgemein.Controls.Add(this.buttonSortiment);
this.tabPageAllgemein.Controls.Add(this.textBoxSortiment);
this.tabPageAllgemein.Controls.Add(this.textBoxRatingbild);
this.tabPageAllgemein.Controls.Add(this.buttonRatingbild);
this.tabPageAllgemein.Location = new System.Drawing.Point(4, 22);
this.tabPageAllgemein.Name = "tabPageAllgemein";
this.tabPageAllgemein.Size = new System.Drawing.Size(1184, 597);
this.tabPageAllgemein.TabIndex = 4;
this.tabPageAllgemein.Text = "Allgemein";
this.tabPageAllgemein.UseVisualStyleBackColor = true;
//
// panelButtons
//
this.panelButtons.Controls.Add(this.buttonAbbrechen);
this.panelButtons.Controls.Add(this.buttonSpeichern);
this.panelButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelButtons.Location = new System.Drawing.Point(0, 629);
this.panelButtons.Name = "panelButtons";
this.panelButtons.Size = new System.Drawing.Size(1192, 49);
this.panelButtons.TabIndex = 50;
//
// comboBoxLT1
//
this.comboBoxLT1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLT1.FormattingEnabled = true;
this.comboBoxLT1.Location = new System.Drawing.Point(75, 13);
this.comboBoxLT1.Name = "comboBoxLT1";
this.comboBoxLT1.Size = new System.Drawing.Size(45, 21);
this.comboBoxLT1.TabIndex = 49;
//
// comboBoxLT2
//
this.comboBoxLT2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLT2.FormattingEnabled = true;
this.comboBoxLT2.Location = new System.Drawing.Point(155, 13);
this.comboBoxLT2.Name = "comboBoxLT2";
this.comboBoxLT2.Size = new System.Drawing.Size(45, 21);
this.comboBoxLT2.TabIndex = 50;
//
// comboBox1
//
this.comboBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(155, 43);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(45, 21);
this.comboBox1.TabIndex = 53;
//
// comboBox2
//
this.comboBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Location = new System.Drawing.Point(75, 40);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(45, 21);
this.comboBox2.TabIndex = 52;
//
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(125, 43);
this.label21.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(25, 13);
this.label21.TabIndex = 51;
this.label21.Text = "und";
//
// comboBox3
//
this.comboBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox3.FormattingEnabled = true;
this.comboBox3.Location = new System.Drawing.Point(155, 87);
this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(45, 21);
this.comboBox3.TabIndex = 56;
//
// comboBox4
//
this.comboBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox4.FormattingEnabled = true;
this.comboBox4.Location = new System.Drawing.Point(75, 87);
this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(45, 21);
this.comboBox4.TabIndex = 55;
//
// label22
//
this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(125, 90);
this.label22.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(25, 13);
this.label22.TabIndex = 54;
this.label22.Text = "und";
//
// comboBox5
//
this.comboBox5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox5.FormattingEnabled = true;
this.comboBox5.Location = new System.Drawing.Point(235, 87);
this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(45, 21);
this.comboBox5.TabIndex = 58;
//
// label23
//
this.label23.AutoSize = true;
this.label23.Location = new System.Drawing.Point(205, 90);
this.label23.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(25, 13);
this.label23.TabIndex = 57;
this.label23.Text = "und";
//
// FormEinstellung
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1192, 678);
this.Controls.Add(this.groupBoxDrucker);
this.Controls.Add(this.buttonAbbrechen);
this.Controls.Add(this.buttonSpeichern);
this.Controls.Add(this.buttonRatingbild);
this.Controls.Add(this.buttonSortiment);
this.Controls.Add(this.textBoxRatingbild);
this.Controls.Add(this.textBoxSortiment);
this.Controls.Add(this.label12);
this.Controls.Add(this.label11);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.label5);
this.Controls.Add(this.checkBoxMaxWert);
this.Controls.Add(this.checkBoxMinWert);
this.Controls.Add(this.label6);
this.Controls.Add(this.numUpDownAnzahl);
this.Controls.Add(this.numUpDownMaxWert);
this.Controls.Add(this.numUpDownMinWert);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.buttonFixMietSpeichern);
this.Controls.Add(this.textBoxFixMietKosten);
this.Controls.Add(this.buttonFixMietKosten);
this.Controls.Add(this.buttonFixLohnSpeichern);
this.Controls.Add(this.textBoxFixLohnKosten);
this.Controls.Add(this.buttonFixLohnKosten);
this.Controls.Add(this.buttonVarSpeichern);
this.Controls.Add(this.textBoxVarKosten);
this.Controls.Add(this.buttonVarKost);
this.Controls.Add(this.groupBoxFarben);
this.Controls.Add(this.panelButtons);
this.Controls.Add(this.tabControlEinstellung);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "FormEinstellung";
@ -883,8 +1181,19 @@
this.groupBoxDrucker.ResumeLayout(false);
this.groupBoxDrucker.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownSWSKopien)).EndInit();
this.tabControlEinstellung.ResumeLayout(false);
this.tabPageFarben.ResumeLayout(false);
this.tabPageDeckungsbeitrag.ResumeLayout(false);
this.tabPageDeckungsbeitrag.PerformLayout();
this.tabPageDrucker.ResumeLayout(false);
this.tabPageTourenplanung.ResumeLayout(false);
this.tabPageTourenplanung.PerformLayout();
this.groupBoxRegeln.ResumeLayout(false);
this.groupBoxRegeln.PerformLayout();
this.tabPageAllgemein.ResumeLayout(false);
this.tabPageAllgemein.PerformLayout();
this.panelButtons.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
@ -941,5 +1250,30 @@
private System.Windows.Forms.GroupBox groupBoxDrucker;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.NumericUpDown numericUpDownSWSKopien;
private System.Windows.Forms.TabControl tabControlEinstellung;
private System.Windows.Forms.TabPage tabPageFarben;
private System.Windows.Forms.TabPage tabPageDeckungsbeitrag;
private System.Windows.Forms.TabPage tabPageDrucker;
private System.Windows.Forms.TabPage tabPageTourenplanung;
private System.Windows.Forms.TabPage tabPageAllgemein;
private System.Windows.Forms.Panel panelButtons;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.ComboBox comboBoxLieferrhythmus;
private System.Windows.Forms.GroupBox groupBoxRegeln;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.ComboBox comboBoxLT2;
private System.Windows.Forms.ComboBox comboBoxLT1;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.ComboBox comboBox5;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.ComboBox comboBox3;
private System.Windows.Forms.ComboBox comboBox4;
private System.Windows.Forms.Label label22;
}
}

View File

@ -29,8 +29,8 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormExpedit));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
this.label10 = new System.Windows.Forms.Label();
this.buttonDrucken = new System.Windows.Forms.Button();
this.groupBoxEtikett = new System.Windows.Forms.GroupBox();
@ -82,11 +82,11 @@
this.labelStatistik2 = new System.Windows.Forms.Label();
this.labelZahl1 = new System.Windows.Forms.Label();
this.labelStatistik1 = new System.Windows.Forms.Label();
this.buttonSuchen = new System.Windows.Forms.Button();
this.buttonNW = new System.Windows.Forms.Button();
this.buttonStats = new System.Windows.Forms.Button();
this.buttonEinstellung = new System.Windows.Forms.Button();
this.buttonSWS_Drucken = new System.Windows.Forms.Button();
this.buttonSuchen = new System.Windows.Forms.Button();
this.buttonNW = new System.Windows.Forms.Button();
this.groupBoxEtikett.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMinus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).BeginInit();
@ -415,14 +415,14 @@
// dGArtikel
//
this.dGArtikel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dGArtikel.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dGArtikel.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dGArtikel.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dGArtikel.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.KundeArtikelID,
@ -435,16 +435,17 @@
this.StandBearbeitet,
this.FehlmengeBearbeitet,
this.KorrekturBearbeitet});
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dGArtikel.DefaultCellStyle = dataGridViewCellStyle4;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dGArtikel.DefaultCellStyle = dataGridViewCellStyle2;
this.dGArtikel.Location = new System.Drawing.Point(576, 42);
this.dGArtikel.Name = "dGArtikel";
this.dGArtikel.RowHeadersVisible = false;
this.dGArtikel.RowHeadersWidth = 62;
this.dGArtikel.Size = new System.Drawing.Size(527, 592);
this.dGArtikel.TabIndex = 44;
@ -879,6 +880,40 @@
this.labelStatistik1.Text = "Statistik 1";
this.labelStatistik1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// buttonSuchen
//
this.buttonSuchen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonSuchen.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonSuchen.BackColor = System.Drawing.Color.DarkOrange;
this.buttonSuchen.FlatAppearance.BorderSize = 0;
this.buttonSuchen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSuchen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSuchen.ForeColor = System.Drawing.Color.Black;
this.buttonSuchen.Location = new System.Drawing.Point(67, 649);
this.buttonSuchen.Margin = new System.Windows.Forms.Padding(2);
this.buttonSuchen.Name = "buttonSuchen";
this.buttonSuchen.Size = new System.Drawing.Size(200, 41);
this.buttonSuchen.TabIndex = 63;
this.buttonSuchen.Text = "Suchen";
this.buttonSuchen.UseVisualStyleBackColor = false;
this.buttonSuchen.Click += new System.EventHandler(this.buttonSuchen_Click);
//
// buttonNW
//
this.buttonNW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonNW.FlatAppearance.BorderColor = System.Drawing.Color.White;
this.buttonNW.FlatAppearance.BorderSize = 3;
this.buttonNW.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonNW.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNW.ForeColor = System.Drawing.Color.White;
this.buttonNW.Location = new System.Drawing.Point(4, 649);
this.buttonNW.Name = "buttonNW";
this.buttonNW.Size = new System.Drawing.Size(58, 41);
this.buttonNW.TabIndex = 64;
this.buttonNW.Text = "NW";
this.buttonNW.UseVisualStyleBackColor = true;
this.buttonNW.Click += new System.EventHandler(this.buttonNW_Click);
//
// buttonStats
//
this.buttonStats.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -923,40 +958,6 @@
this.buttonSWS_Drucken.UseVisualStyleBackColor = false;
this.buttonSWS_Drucken.Click += new System.EventHandler(this.buttonSWS_Drucken_Click);
//
// buttonSuchen
//
this.buttonSuchen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonSuchen.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonSuchen.BackColor = System.Drawing.Color.DarkOrange;
this.buttonSuchen.FlatAppearance.BorderSize = 0;
this.buttonSuchen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSuchen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSuchen.ForeColor = System.Drawing.Color.Black;
this.buttonSuchen.Location = new System.Drawing.Point(67, 649);
this.buttonSuchen.Margin = new System.Windows.Forms.Padding(2);
this.buttonSuchen.Name = "buttonSuchen";
this.buttonSuchen.Size = new System.Drawing.Size(200, 41);
this.buttonSuchen.TabIndex = 63;
this.buttonSuchen.Text = "Suchen";
this.buttonSuchen.UseVisualStyleBackColor = false;
this.buttonSuchen.Click += new System.EventHandler(this.buttonSuchen_Click);
//
// buttonNW
//
this.buttonNW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonNW.FlatAppearance.BorderColor = System.Drawing.Color.White;
this.buttonNW.FlatAppearance.BorderSize = 3;
this.buttonNW.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonNW.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonNW.ForeColor = System.Drawing.Color.White;
this.buttonNW.Location = new System.Drawing.Point(4, 649);
this.buttonNW.Name = "buttonNW";
this.buttonNW.Size = new System.Drawing.Size(58, 41);
this.buttonNW.TabIndex = 64;
this.buttonNW.Text = "NW";
this.buttonNW.UseVisualStyleBackColor = true;
this.buttonNW.Click += new System.EventHandler(this.buttonNW_Click);
//
// FormExpedit
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;

View File

@ -44,7 +44,7 @@ namespace Deckungsbeitrag
Timer timer2 = new Timer(); // Timer für Refresh Auftragliste
private Screen[] screens;
private Point itemlocation;
private ImageList imagelist = new ImageList();
//private ImageList imagelist = new ImageList();
private volatile bool _isProcessing = false; // Thread-sicherer Flag gegen Überlappung
private int _consecutiveFailures = 0;
private const int MAX_FAILURES = 3;
@ -118,9 +118,6 @@ namespace Deckungsbeitrag
}
});
// Image Liste für ObjectListView laden.
ImageList_Laden();
// Controls aktivieren und deaktivieren nach BenutzerRolle
Enable_Controls();
@ -349,63 +346,6 @@ namespace Deckungsbeitrag
// this.pictureBoxEntwurf.Image = etikett;
//}
}
private void Load_Gridview(Auftrag auftrag)
{
//Alle Einträge der DataGridView entfernen. Davor muss die DataSource entfernt werden.
this.dGArtikel.DataSource = null;
this.dGArtikel.Rows.Clear();
if (auftrag != null)
{
Aufgabe auf;
if (auftrag.AufgabeID.HasValue) auf = Aufgabe.GetAufgabe(null, auftrag.AufgabeID);
else auf = new Aufgabe();
this.dGArtikel.AutoGenerateColumns = false;
foreach (DataGridViewColumn col in this.dGArtikel.Columns)
{
col.DataPropertyName = col.Name;
if (col.Name.Contains("Bearbeitet")) col.Visible = false;
if (col.Name == "Fehlmenge")
{
if (auf.Bezeichnung == null || auf.Bezeichnung == "STA") col.Visible = true;
else col.Visible = false;
}
if (col.Name == "Korrektur")
{
if (auf.Bezeichnung != null && auf.Bezeichnung != "STA") col.Visible = true;
else col.Visible = false;
}
}
// DataGridView mit ArtikelStand Liste verbinden und Columns automatisch generieren.
artikelListe = KundeArtikel.GetList(auftrag.KundeID.ToString());
this.dGArtikel.DataSource = artikelListe;
this.dGArtikel.ClearSelection();
//this.dGArtikel.CurrentCell = this.dGArtikel.Rows[0].Cells[3];
// Alle Spaltenbreiten an den Zellinhalt anpassen
this.dGArtikel.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
// Alle Zeilenhöhen an Zellinhalt anpassen
this.dGArtikel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
this.dGArtikel = Funktionen.DGV_Size_Anpassen(this.dGArtikel);
//this.dGArtikel.Width = this.Width - dGArtikel.Left;
// Rechter Rand von letzter Spalte berechnen.
int x = 0;
foreach (ColumnHeader col in objectListViewAuftrag.Columns) x += col.Width;// x ist jetzt die Position direkt rechts von der letzten Spalte (relativ zu client origin)
this.dGArtikel.Location = new Point(this.objectListViewAuftrag.Left + x, this.dGArtikel.Location.Y);
if (this.dGArtikel.Rows.Count > 0) { this.dGArtikel.Visible = true; timer1.Start(); }
else this.dGArtikel.Visible = false;
}
}
#region Container-Events
@ -831,6 +771,8 @@ namespace Deckungsbeitrag
// Layout- und Update-Änderungen pausieren, um Flackern zu verhindern
olv.SuspendLayout(); // Stoppt Layout-Berechnungen (Anchor/Dock)
// SpaltenHeader-Design anpassen
//this.objectListViewAuftrag.HeaderFormatStyle = Funktionen.GetHeader();
// Automatisch alle Properties von Auftrag als Spalten generieren
Generator.GenerateColumns(olv, typeof(Auftrag), true);
@ -955,11 +897,12 @@ namespace Deckungsbeitrag
//TODO: OLV State speichern.
olv.RebuildColumns();
if (_settings.OLV_State != null) this.objectListViewAuftrag.RestoreState(_settings.OLV_State);
if (_settings.OLV_State != null) olv.RestoreState(_settings.OLV_State);
// ========== IMAGE-LIST ZUWEISEN ==========
// SmallImageList für Icons in Detail-View (24x24 Pixel standard)
olv.SmallImageList = imagelist; // Voraussetzung: imagelist mit Icon Index 0 gefüllt
Program.imagelist.ImageSize = new Size(24, 24);
olv.SmallImageList = Program.imagelist; // Voraussetzung: imagelist mit Icon Index 0 gefüllt
// ========== TOOLTIP FÜR ICON-SPALTEN ==========
// Automatischer Cell-Tooltip bei Mouse-Hover über Spalte 10 und 1
@ -981,6 +924,10 @@ namespace Deckungsbeitrag
}
}
//TODO: Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe??
if (e.Column.Text == "Fahrer" && e.Model is Auftrag auftrag1)
{
e.Text = auftrag1.ZusatzInfo;
}
};
// ========== DATEN LADEN ==========
@ -990,10 +937,6 @@ namespace Deckungsbeitrag
// ========== SORTIERUNG ==========
olv.Sort();
// ========== CHECKBOX-FUNKTIONALITÄT ==========
// Aktiviert Checkboxen basierend auf "IsChecked" Property des Auftrag-Modells
//olv.CheckedAspectName = "IsChecked";
// ========== SPALTEN ANPASSEN ==========
Funktionen.Columns_Resize(olv); // Externe Funktion für responsive Spaltenbreiten
@ -1027,17 +970,7 @@ namespace Deckungsbeitrag
private void objectListViewAuftrag_CellEditStarting(object sender, CellEditEventArgs e)
{
if(meldung.GetFrage(this, $"Möchtest du die gewählte Zelle wirklich bearbeiten?", false) == DialogResult.No) e.Cancel = true;
}
private void ImageList_Laden()
{
imagelist.Images.Add(Resources.Exclamation_Red);
imagelist.Images.Add(Resources.InformationSymbol_16x);
imagelist.Images.Add("print", Resources.Print_16x);
imagelist.Images.Add("abschließen", Resources.Checkmark_blue_16x);
imagelist.Images.Add("dirt", Resources.dirt);
imagelist.Images.Add("clean", Resources.clean);
imagelist.ImageSize = new Size(24, 24);
//TODO: Soll hier ebenfalls der nächste Liefertag laut Rhythmus vorgeschlagen werden?
}
#endregion
@ -1146,6 +1079,61 @@ namespace Deckungsbeitrag
this.dGArtikel.Visible = false;
}
#region DataGridView-Events
private void Load_Gridview(Auftrag auftrag)
{
//Alle Einträge der DataGridView entfernen. Davor muss die DataSource entfernt werden.
this.dGArtikel.DataSource = null;
this.dGArtikel.Rows.Clear();
if (auftrag != null)
{
Aufgabe auf;
if (auftrag.AufgabeID.HasValue) auf = Aufgabe.GetAufgabe(null, auftrag.AufgabeID);
else auf = new Aufgabe();
this.dGArtikel.AutoGenerateColumns = false;
foreach (DataGridViewColumn col in this.dGArtikel.Columns)
{
col.DataPropertyName = col.Name;
if (col.Name.Contains("Bearbeitet")) col.Visible = false;
if (col.Name == "Fehlmenge")
{
if (auf.Bezeichnung == null || auf.Bezeichnung == "STA") col.Visible = true;
else col.Visible = false;
}
if (col.Name == "Korrektur")
{
if (auf.Bezeichnung != null && auf.Bezeichnung != "STA") col.Visible = true;
else col.Visible = false;
}
}
// DataGridView mit ArtikelStand Liste verbinden und Columns automatisch generieren.
artikelListe = KundeArtikel.GetList(auftrag.KundeID.ToString());
this.dGArtikel.DataSource = artikelListe;
this.dGArtikel.ClearSelection();
//this.dGArtikel.CurrentCell = this.dGArtikel.Rows[0].Cells[3];
// Alle Spaltenbreiten an den Zellinhalt anpassen
this.dGArtikel.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
// Alle Zeilenhöhen an Zellinhalt anpassen
this.dGArtikel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
this.dGArtikel = Funktionen.DGV_Size_Anpassen(this.dGArtikel);
//this.dGArtikel.Width = this.Width - dGArtikel.Left;
// Rechter Rand von letzter Spalte berechnen.
int x = 0;
foreach (ColumnHeader col in objectListViewAuftrag.Columns) x += col.Width; // x ist jetzt die Position direkt rechts von der letzten Spalte (relativ zu client origin)
this.dGArtikel.Location = new Point(this.objectListViewAuftrag.Left + x, this.dGArtikel.Location.Y);
if (this.dGArtikel.Rows.Count > 0) { this.dGArtikel.Visible = true; timer1.Start(); }
else this.dGArtikel.Visible = false;
}
}
/// <summary>
/// Vor Beginn der Editierung wird Wert gespeichert um nach der Editierung vergleichen und eventuell speichern zu können.
/// </summary>
@ -1196,9 +1184,10 @@ namespace Deckungsbeitrag
}
private void dGArtikel_VisibleChanged(object sender, EventArgs e)
{
if (dGArtikel.Visible) timer1.Start();
if (dGArtikel.Visible) { Load_Gridview(this.auftrag); timer1.Start(); }
else timer1.Stop();
}
#endregion
#region Statistik
private void buttonStats_Click(object sender, EventArgs e)
@ -1276,6 +1265,7 @@ namespace Deckungsbeitrag
}
}
//INSTALL-REMINDER: Spalte Abteilungen in Auftrag muss in Wirl_DB_17012023 eingefügt werden.
//CHANGES: Es wird der zuständige Fahrer angezeigt. ToolTip zeigt den Grund falls vorhanden(Bei Sonderzuteilung).
//CHANGES: Geschäftaufträge werden in neuem Tab angezeigt.
//CHANGES: Kundeneingabe mit ? fügt einmaligen Kundenname als ZusatzInfo hinzu und wählt Kunde BAR DIVERSE 2320000
//CHANGES: Highlightfarbe bleibt auch wenn unfocused. (Farbe ändern?)

View File

@ -1,6 +1,7 @@
using AForge.Video.DirectShow;
using BrightIdeasSoftware;
using DatenDB;
using Deckungsbeitrag.AA_Klassen;
using Spire.Barcode;
using System;
using System.Collections.Generic;
@ -39,6 +40,7 @@ namespace Deckungsbeitrag
private bool formloading = false;
private bool aufgabeChanged = false;
private bool serviceChanged = false;
private bool lieferrhythmusChanged = false;
public FormKundeVW()
{
@ -66,7 +68,7 @@ namespace Deckungsbeitrag
labelAnzahlChars.Text = textBoxAnmerkung.TextLength.ToString() + "/" + textBoxAnmerkung.MaxLength.ToString();
this.labelAnzahlChars.Location = new Point(this.textBoxAnmerkung.Right - this.labelAnzahlChars.Width, this.labelAnzahlChars.Location.Y);
this.tabControlKunde.Location = new Point(this.textBoxSuchtext.Right + 10, 11);
this.tabControlKunde.Location = new Point(this.textBoxAnmerkung.Right + 10, 11);
ComboBox_Laden();
@ -84,12 +86,18 @@ namespace Deckungsbeitrag
List<string> list = Kunde.GetServiceDistinct();
this.comboBoxService.DataSource = list;
//Aufgaben Liste erstellen und mit ComboBox verknüpfen.
// Aufgaben Liste erstellen und mit ComboBox verknüpfen.
List<Aufgabe> aufgabenlist1 = Aufgabe.GetList(2);
this.comboBoxAufgabe.DataSource = aufgabenlist1;
this.comboBoxAufgabe.DisplayMember = "Bezeichnung";
this.comboBoxAufgabe.SelectedIndex = -1;
this.comboBoxAufgabe.Enabled = false;
// Lieferrhythmus Liste mit ComboBox verknüpfen.
this.comboBoxLieferrhythmus.DataSource = new BindingSource(Lieferrhythmen.AnzeigeNamen, null);
this.comboBoxLieferrhythmus.DisplayMember = "Key";
this.comboBoxLieferrhythmus.ValueMember = "Value";
}
private void DatenLesen()
{
@ -158,15 +166,20 @@ namespace Deckungsbeitrag
this.textBoxSuchtext.Text = this.kunde.Suchtext;
this.textBoxAnmerkung.Text = this.kunde.Anmerkung;
// ComboBox für Aufgabe wird geladen
// ComboBox-Item für Aufgabe wird gewählt und Button Entfernen aktiviert
foreach (Aufgabe auf in comboBoxAufgabe.Items) if (auf.AufgabeID == this.kunde.Aufgabe) this.comboBoxAufgabe.SelectedItem = auf;
if (this.comboBoxAufgabe.SelectedItem != null) this.buttonAufgEnt.Enabled = true;
// ComboBox-Item für Service wird gewählt
if (!string.IsNullOrWhiteSpace(this.kunde.Service))
{
foreach (string s in comboBoxService.Items) if (s == this.kunde.Service) this.comboBoxService.SelectedItem = s;
}
// ComboBox-Item für Lieferrhythmus wird gewählt
this.comboBoxLieferrhythmus.SelectedValue = (Liefertage)this.kunde.LieferRhythmus;
// numericUpDown für AufgabeCount befüllen
this.numericUpDownAufgabeCount.Value = (decimal)this.kunde.AufgabeCount;
@ -483,7 +496,7 @@ namespace Deckungsbeitrag
if (this.comboBoxAufgabe.SelectedItem == null) { this.kunde.Aufgabe = null; this.kunde.AufgabeCount = null; }
else { this.kunde.Aufgabe = ((Aufgabe)this.comboBoxAufgabe.SelectedItem).AufgabeID; this.kunde.AufgabeCount = (int)numericUpDownAufgabeCount.Value; }
this.kunde.Save();
aufgabeChanged = true;
}
}
@ -515,6 +528,11 @@ namespace Deckungsbeitrag
if ((formloading)) return;
serviceChanged = true;
}
private void comboBoxLieferrhythmus_SelectedIndexChanged(object sender, EventArgs e)
{
if ((formloading)) return;
lieferrhythmusChanged = true;
}
/// <summary>
/// FormClosing: Wenn Form wird geschlossen, Kontrolle ob Änderungen gemacht wurden.
@ -525,16 +543,12 @@ namespace Deckungsbeitrag
{
if (anmerkungChanged) textBoxAnmerkung_Leave(this, null);
if (this.comboBoxAufgabe.SelectedItem != null && this.numericUpDownAufgabeCount.Value == 0) { meldung.GetFehler(this, $"Du hast für deine Aufgabe noch keine Auftraganzahl eingegeben. Hole das bitte jetzt nach."); e.Cancel = true; return; }
if (aufgabeChanged) numericUpDownAufgabeCount_Leave(this, null);
if (serviceChanged)
{
if (this.comboBoxService.Enabled == true)
{
this.kunde.Service = this.comboBoxService.SelectedValue.ToString();
this.kunde.Save();
}
if (aufgabeChanged) { numericUpDownAufgabeCount_Leave(this, null); }
if (serviceChanged) { if (this.comboBoxService.Enabled == true) this.kunde.Service = this.comboBoxService.SelectedValue.ToString(); }
if (lieferrhythmusChanged) this.kunde.LieferRhythmus = (int)this.comboBoxLieferrhythmus.SelectedValue;
}
this.kunde.Save();
}
}
}

View File

@ -97,6 +97,8 @@ namespace Deckungsbeitrag
this.label4 = new System.Windows.Forms.Label();
this.labelAnzahlChars = new System.Windows.Forms.Label();
this.numericUpDownAufgabeCount = new System.Windows.Forms.NumericUpDown();
this.comboBoxLieferrhythmus = new System.Windows.Forms.ComboBox();
this.label5 = new System.Windows.Forms.Label();
this.contextMenuStrip1.SuspendLayout();
this.tabControlKunde.SuspendLayout();
this.tabPageVorschau.SuspendLayout();
@ -122,7 +124,7 @@ namespace Deckungsbeitrag
this.textBoxKndNr.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxKndNr.Location = new System.Drawing.Point(13, 99);
this.textBoxKndNr.Name = "textBoxKndNr";
this.textBoxKndNr.Size = new System.Drawing.Size(104, 26);
this.textBoxKndNr.Size = new System.Drawing.Size(102, 26);
this.textBoxKndNr.TabIndex = 0;
//
// labelKundeNummer
@ -153,7 +155,7 @@ namespace Deckungsbeitrag
this.textBoxKundeName.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxKundeName.Location = new System.Drawing.Point(13, 151);
this.textBoxKundeName.Name = "textBoxKundeName";
this.textBoxKundeName.Size = new System.Drawing.Size(352, 26);
this.textBoxKundeName.Size = new System.Drawing.Size(263, 26);
this.textBoxKundeName.TabIndex = 4;
//
// textBoxStraße
@ -267,7 +269,7 @@ namespace Deckungsbeitrag
this.textBoxSuchtext.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxSuchtext.Location = new System.Drawing.Point(122, 99);
this.textBoxSuchtext.Name = "textBoxSuchtext";
this.textBoxSuchtext.Size = new System.Drawing.Size(243, 26);
this.textBoxSuchtext.Size = new System.Drawing.Size(154, 26);
this.textBoxSuchtext.TabIndex = 38;
//
// label1
@ -286,7 +288,7 @@ namespace Deckungsbeitrag
this.comboBoxAufgabe.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxAufgabe.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxAufgabe.FormattingEnabled = true;
this.comboBoxAufgabe.Location = new System.Drawing.Point(13, 417);
this.comboBoxAufgabe.Location = new System.Drawing.Point(13, 479);
this.comboBoxAufgabe.Name = "comboBoxAufgabe";
this.comboBoxAufgabe.Size = new System.Drawing.Size(263, 28);
this.comboBoxAufgabe.TabIndex = 41;
@ -298,7 +300,7 @@ namespace Deckungsbeitrag
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(9, 394);
this.label2.Location = new System.Drawing.Point(9, 456);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(123, 20);
this.label2.TabIndex = 42;
@ -721,7 +723,7 @@ namespace Deckungsbeitrag
// buttonAufgEnt
//
this.buttonAufgEnt.Image = global::Deckungsbeitrag.Properties.Resources.Close_red_16x;
this.buttonAufgEnt.Location = new System.Drawing.Point(337, 417);
this.buttonAufgEnt.Location = new System.Drawing.Point(337, 479);
this.buttonAufgEnt.Name = "buttonAufgEnt";
this.buttonAufgEnt.Size = new System.Drawing.Size(28, 28);
this.buttonAufgEnt.TabIndex = 43;
@ -730,12 +732,11 @@ namespace Deckungsbeitrag
//
// pictureBoxQRCode
//
this.pictureBoxQRCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.pictureBoxQRCode.BackColor = System.Drawing.Color.Transparent;
this.pictureBoxQRCode.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBoxQRCode.Location = new System.Drawing.Point(13, 613);
this.pictureBoxQRCode.Location = new System.Drawing.Point(284, 76);
this.pictureBoxQRCode.Name = "pictureBoxQRCode";
this.pictureBoxQRCode.Size = new System.Drawing.Size(350, 87);
this.pictureBoxQRCode.Size = new System.Drawing.Size(81, 101);
this.pictureBoxQRCode.TabIndex = 27;
this.pictureBoxQRCode.TabStop = false;
//
@ -743,11 +744,11 @@ namespace Deckungsbeitrag
//
this.textBoxAnmerkung.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.textBoxAnmerkung.Location = new System.Drawing.Point(13, 471);
this.textBoxAnmerkung.Location = new System.Drawing.Point(13, 533);
this.textBoxAnmerkung.MaxLength = 200;
this.textBoxAnmerkung.Multiline = true;
this.textBoxAnmerkung.Name = "textBoxAnmerkung";
this.textBoxAnmerkung.Size = new System.Drawing.Size(352, 136);
this.textBoxAnmerkung.Size = new System.Drawing.Size(352, 160);
this.textBoxAnmerkung.TabIndex = 50;
this.textBoxAnmerkung.TextChanged += new System.EventHandler(this.textBoxAnmerkung_TextChanged);
this.textBoxAnmerkung.Leave += new System.EventHandler(this.textBoxAnmerkung_Leave);
@ -757,7 +758,7 @@ namespace Deckungsbeitrag
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(9, 448);
this.label4.Location = new System.Drawing.Point(9, 510);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(109, 20);
this.label4.TabIndex = 51;
@ -768,7 +769,7 @@ namespace Deckungsbeitrag
this.labelAnzahlChars.AutoSize = true;
this.labelAnzahlChars.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelAnzahlChars.ForeColor = System.Drawing.Color.White;
this.labelAnzahlChars.Location = new System.Drawing.Point(312, 451);
this.labelAnzahlChars.Location = new System.Drawing.Point(312, 513);
this.labelAnzahlChars.Name = "labelAnzahlChars";
this.labelAnzahlChars.Size = new System.Drawing.Size(53, 16);
this.labelAnzahlChars.TabIndex = 52;
@ -777,7 +778,7 @@ namespace Deckungsbeitrag
// numericUpDownAufgabeCount
//
this.numericUpDownAufgabeCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.numericUpDownAufgabeCount.Location = new System.Drawing.Point(282, 417);
this.numericUpDownAufgabeCount.Location = new System.Drawing.Point(282, 479);
this.numericUpDownAufgabeCount.Maximum = new decimal(new int[] {
99,
0,
@ -789,12 +790,36 @@ namespace Deckungsbeitrag
this.numericUpDownAufgabeCount.ValueChanged += new System.EventHandler(this.numericUpDownAufgabeCount_ValueChanged);
this.numericUpDownAufgabeCount.Leave += new System.EventHandler(this.numericUpDownAufgabeCount_Leave);
//
// comboBoxLieferrhythmus
//
this.comboBoxLieferrhythmus.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxLieferrhythmus.FormattingEnabled = true;
this.comboBoxLieferrhythmus.Location = new System.Drawing.Point(13, 422);
this.comboBoxLieferrhythmus.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.comboBoxLieferrhythmus.Name = "comboBoxLieferrhythmus";
this.comboBoxLieferrhythmus.Size = new System.Drawing.Size(352, 28);
this.comboBoxLieferrhythmus.TabIndex = 55;
this.comboBoxLieferrhythmus.SelectedIndexChanged += new System.EventHandler(this.comboBoxLieferrhythmus_SelectedIndexChanged);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Location = new System.Drawing.Point(9, 397);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(114, 20);
this.label5.TabIndex = 54;
this.label5.Text = "Lieferrhythmus";
//
// FormKundeVW
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.ClientSize = new System.Drawing.Size(1318, 761);
this.Controls.Add(this.comboBoxLieferrhythmus);
this.Controls.Add(this.label5);
this.Controls.Add(this.numericUpDownAufgabeCount);
this.Controls.Add(this.labelAnzahlChars);
this.Controls.Add(this.label4);
@ -912,6 +937,8 @@ namespace Deckungsbeitrag
private BrightIdeasSoftware.ObjectListView olvJahresumsatz;
private System.Windows.Forms.Label labelAnzahlChars;
private System.Windows.Forms.NumericUpDown numericUpDownAufgabeCount;
private System.Windows.Forms.ComboBox comboBoxLieferrhythmus;
private System.Windows.Forms.Label label5;
}
}

View File

@ -66,7 +66,6 @@ namespace Deckungsbeitrag
this.rBFertig = new System.Windows.Forms.RadioButton();
this.rBVorbereitet = new System.Windows.Forms.RadioButton();
this.rBAlle = new System.Windows.Forms.RadioButton();
this.buttonAufAbruf = new System.Windows.Forms.Button();
this.buttonAusgeliefert = new System.Windows.Forms.Button();
this.groupBoxScannTest = new System.Windows.Forms.GroupBox();
this.textBoxScannTest = new System.Windows.Forms.TextBox();
@ -85,9 +84,10 @@ namespace Deckungsbeitrag
this.tSBHilfe = new System.Windows.Forms.ToolStripButton();
this.toolStripButtonImport = new System.Windows.Forms.ToolStripButton();
this.tSBEinstellung = new System.Windows.Forms.ToolStripButton();
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
this.pictureBoxScannTest = new System.Windows.Forms.PictureBox();
this.tSBTourenplanung = new System.Windows.Forms.ToolStripButton();
this.toolStripBeenden = new System.Windows.Forms.ToolStripButton();
this.buttonAufAbruf = new System.Windows.Forms.Button();
this.pictureBoxScannTest = new System.Windows.Forms.PictureBox();
this.toolStripMenu.SuspendLayout();
this.panelMain.SuspendLayout();
this.groupBoxStatistik.SuspendLayout();
@ -593,6 +593,7 @@ namespace Deckungsbeitrag
this.objectListViewAuftrag.CellEditUseWholeCell = false;
this.objectListViewAuftrag.CheckBoxes = true;
this.objectListViewAuftrag.Cursor = System.Windows.Forms.Cursors.Default;
this.objectListViewAuftrag.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.objectListViewAuftrag.FullRowSelect = true;
this.objectListViewAuftrag.GridLines = true;
this.objectListViewAuftrag.HideSelection = false;
@ -617,7 +618,6 @@ namespace Deckungsbeitrag
this.rBAufAbruf.TabStop = true;
this.rBAufAbruf.Text = "Auf Abruf";
this.rBAufAbruf.UseVisualStyleBackColor = true;
this.rBAufAbruf.Visible = false;
this.rBAufAbruf.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
//
// rBAusgeliefert
@ -632,7 +632,6 @@ namespace Deckungsbeitrag
this.rBAusgeliefert.TabStop = true;
this.rBAusgeliefert.Text = "Ausgeliefert";
this.rBAusgeliefert.UseVisualStyleBackColor = true;
this.rBAusgeliefert.Visible = false;
this.rBAusgeliefert.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
//
// rBFertig
@ -647,7 +646,6 @@ namespace Deckungsbeitrag
this.rBFertig.TabStop = true;
this.rBFertig.Text = "Fertig";
this.rBFertig.UseVisualStyleBackColor = true;
this.rBFertig.Visible = false;
this.rBFertig.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
//
// rBVorbereitet
@ -662,7 +660,6 @@ namespace Deckungsbeitrag
this.rBVorbereitet.TabStop = true;
this.rBVorbereitet.Text = "Vorbereitet";
this.rBVorbereitet.UseVisualStyleBackColor = true;
this.rBVorbereitet.Visible = false;
this.rBVorbereitet.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
//
// rBAlle
@ -677,29 +674,8 @@ namespace Deckungsbeitrag
this.rBAlle.TabStop = true;
this.rBAlle.Text = "Alle";
this.rBAlle.UseVisualStyleBackColor = true;
this.rBAlle.Visible = false;
this.rBAlle.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
//
// buttonAufAbruf
//
this.buttonAufAbruf.BackColor = System.Drawing.Color.Red;
this.buttonAufAbruf.FlatAppearance.BorderColor = System.Drawing.Color.Red;
this.buttonAufAbruf.FlatAppearance.BorderSize = 0;
this.buttonAufAbruf.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAufAbruf.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAufAbruf.ForeColor = System.Drawing.Color.White;
this.buttonAufAbruf.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonAufAbruf.Location = new System.Drawing.Point(10, 215);
this.buttonAufAbruf.Margin = new System.Windows.Forms.Padding(2);
this.buttonAufAbruf.Name = "buttonAufAbruf";
this.buttonAufAbruf.Size = new System.Drawing.Size(150, 41);
this.buttonAufAbruf.TabIndex = 56;
this.buttonAufAbruf.Text = "AufAbruf";
this.buttonAufAbruf.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonAufAbruf.UseVisualStyleBackColor = false;
this.buttonAufAbruf.Visible = false;
this.buttonAufAbruf.Click += new System.EventHandler(this.buttonAufAbruf_Click);
//
// buttonAusgeliefert
//
this.buttonAusgeliefert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
@ -1017,6 +993,26 @@ namespace Deckungsbeitrag
this.tSBEinstellung.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tSBEinstellung.Click += new System.EventHandler(this.tSBEinstellung_Click);
//
// tSBTourenplanung
//
this.tSBTourenplanung.AutoSize = false;
this.tSBTourenplanung.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.tSBTourenplanung.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.tSBTourenplanung.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tSBTourenplanung.ForeColor = System.Drawing.Color.White;
this.tSBTourenplanung.Image = ((System.Drawing.Image)(resources.GetObject("tSBTourenplanung.Image")));
this.tSBTourenplanung.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tSBTourenplanung.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tSBTourenplanung.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tSBTourenplanung.Name = "tSBTourenplanung";
this.tSBTourenplanung.Size = new System.Drawing.Size(180, 40);
this.tSBTourenplanung.Text = "TOURENPLANUNG";
this.tSBTourenplanung.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tSBTourenplanung.Click += new System.EventHandler(this.tSBTourenplanung_Click);
this.tSBTourenplanung.MouseEnter += new System.EventHandler(this.toolStrip_MouseEnter);
this.tSBTourenplanung.MouseLeave += new System.EventHandler(this.toolStrip_MouseLeave);
this.tSBTourenplanung.Paint += new System.Windows.Forms.PaintEventHandler(this.get_Border_Paint);
//
// toolStripBeenden
//
this.toolStripBeenden.AutoSize = false;
@ -1037,6 +1033,26 @@ namespace Deckungsbeitrag
this.toolStripBeenden.MouseLeave += new System.EventHandler(this.toolStrip_MouseLeave);
this.toolStripBeenden.Paint += new System.Windows.Forms.PaintEventHandler(this.get_Border_Paint);
//
// buttonAufAbruf
//
this.buttonAufAbruf.BackColor = System.Drawing.Color.Red;
this.buttonAufAbruf.FlatAppearance.BorderColor = System.Drawing.Color.Red;
this.buttonAufAbruf.FlatAppearance.BorderSize = 0;
this.buttonAufAbruf.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAufAbruf.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAufAbruf.ForeColor = System.Drawing.Color.White;
this.buttonAufAbruf.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonAufAbruf.Location = new System.Drawing.Point(10, 215);
this.buttonAufAbruf.Margin = new System.Windows.Forms.Padding(2);
this.buttonAufAbruf.Name = "buttonAufAbruf";
this.buttonAufAbruf.Size = new System.Drawing.Size(150, 41);
this.buttonAufAbruf.TabIndex = 56;
this.buttonAufAbruf.Text = "AufAbruf";
this.buttonAufAbruf.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonAufAbruf.UseVisualStyleBackColor = false;
this.buttonAufAbruf.Visible = false;
this.buttonAufAbruf.Click += new System.EventHandler(this.buttonAufAbruf_Click);
//
// pictureBoxScannTest
//
this.pictureBoxScannTest.Location = new System.Drawing.Point(6, 10);
@ -1047,26 +1063,6 @@ namespace Deckungsbeitrag
this.pictureBoxScannTest.TabStop = false;
this.pictureBoxScannTest.Visible = false;
//
// tSBTourenplanung
//
this.tSBTourenplanung.AutoSize = false;
this.tSBTourenplanung.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.tSBTourenplanung.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.tSBTourenplanung.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tSBTourenplanung.ForeColor = System.Drawing.Color.White;
this.tSBTourenplanung.Image = ((System.Drawing.Image)(resources.GetObject("tSBTourenplanung.Image")));
this.tSBTourenplanung.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tSBTourenplanung.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tSBTourenplanung.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tSBTourenplanung.Name = "tSBTourenplanung";
this.tSBTourenplanung.Size = new System.Drawing.Size(180, 40);
this.tSBTourenplanung.Text = "TOURENPLANUNG";
this.tSBTourenplanung.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tSBTourenplanung.Click += new System.EventHandler(this.tSBTourenplanung_Click);
this.tSBTourenplanung.MouseEnter += new System.EventHandler(this.toolStrip_MouseEnter);
this.tSBTourenplanung.MouseLeave += new System.EventHandler(this.toolStrip_MouseLeave);
this.tSBTourenplanung.Paint += new System.Windows.Forms.PaintEventHandler(this.get_Border_Paint);
//
// FormMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View File

@ -2,13 +2,16 @@
using DatenDB;
using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.Properties;
using Npgsql;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
@ -29,7 +32,7 @@ namespace Deckungsbeitrag
private Point newLocation;
private Size _fixedSize;
private bool _handlingResize;
private ImageList imagelist = new ImageList();
private readonly UserSettingsManager _settings = new UserSettingsManager();
public FormMain()
@ -48,6 +51,8 @@ namespace Deckungsbeitrag
{
this.benutzer = benutzer;
this.groupBoxUpdate.Enabled = false;
// AKTIVE ELEMENTE JE BENUTZER ROLLE
switch (benutzer.Rolle)
{
@ -68,8 +73,8 @@ namespace Deckungsbeitrag
foreach(Control ctr in this.panelMain.Controls)
{
// Ausgewählte Buttons bleiben aktiv.
if (ctr.Text == "Neuer Auftrag") ctr.Enabled = ctr.Visible = true;
else ctr.Enabled = ctr.Visible = false;
if (ctr.Name.Contains("Auftrag")) ctr.Enabled = true;
else ctr.Enabled = false;
}
break;
case BenutzerRolle.Admin:
@ -89,9 +94,8 @@ namespace Deckungsbeitrag
private void FormMain_Load(object sender, EventArgs e)
{
imagelist.Images.Add(Resources.Exclamation_Red);
imagelist.Images.Add(Resources.InformationSymbol_16x);
imagelist.ImageSize = new Size(16, 16);
_settings.Load();
this.WindowState = FormWindowState.Maximized;
this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;
@ -191,21 +195,30 @@ namespace Deckungsbeitrag
}
private void tSBAuftragVW_Click(object sender, EventArgs e)
{
if (!this.objectListViewAuftrag.Visible)
this.Cursor = Cursors.WaitCursor;
if (!this.groupBoxAuftrag.Visible)
{
if (benutzer.Rolle == BenutzerRolle.Fahrer) this.rBFertig.Checked = true;
else this.rBAlle.Checked = true;
this.rBAlle.Visible = this.rBAusgeliefert.Visible = this.rBFertig.Visible = this.rBVorbereitet.Visible = this.rBAufAbruf.Visible = true;
this.groupBoxAuftrag.Visible = true;
this.groupBoxStatistik.Visible = this.groupBoxUpdate.Visible = this.buttonNeueAufgabe.Visible = this.buttonNeueAufgabe.Enabled = this.buttonNeuerAuftrag.Visible = this.buttonNeuerAuftrag.Enabled = this.buttonNeuerUser.Visible = this.buttonNeuerUser.Enabled = false;
this.objectListViewAuftrag.Enabled = this.objectListViewAuftrag.Visible = true;
}
else
{
this.groupBoxAuftrag.Visible = this.buttonAufAbruf.Visible = this.buttonAusgeliefert.Visible = this.rBAlle.Visible = this.rBAusgeliefert.Visible = this.rBFertig.Visible = this.rBVorbereitet.Visible = this.rBAufAbruf.Visible = this.objectListViewAuftrag.Enabled = this.objectListViewAuftrag.Visible = false;
this.groupBoxStatistik.Visible = this.buttonNeuerAuftrag.Visible = this.buttonNeueAufgabe.Visible = this.buttonNeueAufgabe.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonNeuerUser.Enabled = this.buttonNeuerUser.Visible = true;
}
}
// Groupbox einblenden wenn OLV noch nicht sichtbar ist.
foreach (GroupBox gb in this.panelMain.Controls.OfType<GroupBox>()) gb.Visible = gb.Name.Contains("Auftrag") ? true : false;
// PanelMain Buttons ausblenden.
foreach (Button btn in this.panelMain.Controls.OfType<Button>()) btn.Visible = false;
}
else
{
// Groupbox einblenden wenn OLV noch nicht sichtbar ist.
foreach (GroupBox gb in this.panelMain.Controls.OfType<GroupBox>()) gb.Visible = gb.Name.Contains("Auftrag") ? false : true;
// PanelMain Buttons ausblenden.
foreach (Button btn in this.panelMain.Controls.OfType<Button>()) btn.Visible = true;
}
this.Cursor = Cursors.Default;
}
private void tSBScannTest_Click(object sender, EventArgs e)
{
if (open)
@ -618,15 +631,12 @@ namespace Deckungsbeitrag
/// <param name="e"></param>
private void RadioButton_CheckedChanged(object sender, EventArgs e)
{
RadioButton rB = (RadioButton)sender;
if (rB.Checked)
{
if (Enum.TryParse(rB.Name.Substring(2), out AuftragStatus status)) rB.Tag = (int)status;
else rB.Tag = null;
List<Auftrag> alist = new List<Auftrag>();
switch (rB.Tag)
{
case AuftragStatus.Abgeholt:
@ -657,20 +667,31 @@ namespace Deckungsbeitrag
}
}
private void GetExpeditList(int? status)
private async void GetExpeditList(int? status)
{
Cursor.Current = Cursors.WaitCursor;
this.objectListViewAuftrag.SuspendLayout();
this.objectListViewAuftrag.BeginUpdate();
List<Auftrag> alist = new List<Auftrag>();
alist = Auftrag.GetStatusList(status);
var conn = new NpgsqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); // Pro Task!
try
{
await conn.OpenAsync();
alist = await Auftrag.GetStatusListAsync(status, conn);
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
}
if (alist.Count == 0) meldung.KeineAufträge();
else Load_OLV(alist); // Load_ListView(alist);
this.objectListViewAuftrag.EndUpdate();
this.objectListViewAuftrag.ResumeLayout();
Cursor.Current = Cursors.Default;
}
/// <summary>
@ -680,49 +701,146 @@ namespace Deckungsbeitrag
/// <param name="alist"></param>
private void Load_OLV(List<Auftrag> alist)
{
this.objectListViewAuftrag.HeaderFormatStyle = Funktionen.GetHeader();
// Cursor auf Warte-Status setzen, um Benutzerfeedback zu geben
this.Cursor = Cursors.WaitCursor;
// Spalten erstellen nach Typ Auftrag.
Generator.GenerateColumns(this.objectListViewAuftrag, typeof(Auftrag), true);
// ========== SPALTE 11: BUTTON-COLUMNE ==========
// Spalte 11 (Index 11) als Button-Spalte konfigurieren
OLVColumn buttonColumn = new OLVColumn();
buttonColumn = (OLVColumn)this.objectListViewAuftrag.Columns[11];
buttonColumn.IsButton = true;
buttonColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds;
// ========== CHECKBOX COLUMNS FÜR ABTEILUNGEN ===========
// Spalten-Setup
var colFrottee = new OLVColumn("Frottee", "Frottee");
colFrottee.Text = "FR";
colFrottee.DisplayIndex = 6;
colFrottee.TextAlign = HorizontalAlignment.Center;
colFrottee.CheckBoxes = true;
colFrottee.Width = 50;
colFrottee.AspectGetter = row => ((Auftrag)row).Abteilungen.HasFlag(AbteilungsStatus.Frottee);
var colKleinteile = new OLVColumn("Kleinteile", "Kleinteile");
colKleinteile.Text = "KT";
colKleinteile.DisplayIndex = 7;
colKleinteile.TextAlign = HorizontalAlignment.Center;
colKleinteile.CheckBoxes = true;
colKleinteile.Width = 50;
colKleinteile.AspectGetter = row => ((Auftrag)row).Abteilungen.HasFlag(AbteilungsStatus.Kleinteile);
var colGrosseTeile = new OLVColumn("Großteile", "Großteile");
colGrosseTeile.Text = "GT";
colGrosseTeile.DisplayIndex = 8;
colGrosseTeile.TextAlign = HorizontalAlignment.Center;
colGrosseTeile.CheckBoxes = true;
colGrosseTeile.Width = 50;
colGrosseTeile.AspectGetter = row => ((Auftrag)row).Abteilungen.HasFlag(AbteilungsStatus.Großteile);
this.objectListViewAuftrag.AllColumns.Add(colFrottee);
this.objectListViewAuftrag.AllColumns.Add(colKleinteile);
this.objectListViewAuftrag.AllColumns.Add(colGrosseTeile);
foreach (OLVColumn col in this.objectListViewAuftrag.AllColumns)
{
switch (col.Text)
{
case "Abschließen": // Abschließen Spalte als Button-Spalte konfigurieren
OLVColumn fertigColumn = col;
fertigColumn.DisplayIndex = 11;
fertigColumn.IsButton = true; // Als Button rendern
fertigColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds; // Button füllt gesamte Zelle
fertigColumn.HeaderImageKey = "abschließen";
fertigColumn.ShowTextInHeader = false;
fertigColumn.MinimumWidth = fertigColumn.MaximumWidth = 80;
break;
case "Etikett": // Etikett Spalte als Button-Spalte konfigurieren
OLVColumn etikettColumn = col;
etikettColumn.DisplayIndex = 10;
etikettColumn.IsButton = true; // Als Button rendern
etikettColumn.ButtonSizing = OLVColumn.ButtonSizingMode.CellBounds; // Button füllt gesamte Zelle
etikettColumn.HeaderImageKey = "print";
etikettColumn.ShowTextInHeader = false;
etikettColumn.MinimumWidth = etikettColumn.MaximumWidth = 80;
break;
case "Aufgabe": // Aufgabe Spalte als Icon-Spalte: zeigt Icon wenn AufgabeID vorhanden
OLVColumn iconColumn = col;
iconColumn.DisplayIndex = 9;
iconColumn.ImageGetter = rowObject =>
{
var auftrag = rowObject as Auftrag;
if (auftrag.AufgabeID == null) return null; // null = kein Icon anzeigen
else return 0; // Index 0 aus SmallImageList
};
break;
case "Kunde": // Kunde Spalte als Icon-Spalte: zeigt Icon und Kundename wenn Anmerkung vorhanden
OLVColumn iColumn = col;
iColumn.DisplayIndex = 0;
iColumn.ImageGetter = rowObject =>
{
var _auftrag = rowObject as Auftrag;
if (string.IsNullOrWhiteSpace(Kunde.GetKunde(null, _auftrag.KundeID, null).Anmerkung)) return null; // null = kein Icon anzeigen
else return 1; // Index 0 aus SmallImageList
};
break;
case "Liefertag": // Liefertag Spalte Zeigt Liefertag als String an.
OLVColumn dateColumn = col;
dateColumn.DisplayIndex = 1;
dateColumn.AspectToStringFormat = "{0:ddd dd.MM.}";
// DateTime-Filter für Spalte 2
dateColumn.ClusteringStrategy = new DateTimeClusteringStrategy(DateTimePortion.Day, "ddd dd.MM."); // DateTimeClustering damit Datum gefiltert werden kann
this.objectListViewAuftrag.SecondarySortColumn = dateColumn; // Primary Sortiert nach Spalte 5 (Status) Secundary Sortiert nach Spalte 2 (Liefertag)
break;
case "Status": // Spalte 5 als primäre Sortier-Spalte festlegen (nach Datenbindung!)
OLVColumn sortcolumn = col;
sortcolumn.DisplayIndex = 4;
this.objectListViewAuftrag.PrimarySortColumn = sortcolumn; // Primary Sortiert nach Spalte 5 (Status) Secundary Sortiert nach Spalte 2 (Liefertag)
break;
case "Auswählen":
col.IsVisible = false;
break;
case "Erstellt":
col.IsVisible = false;
break;
case "Gedruckt":
col.IsVisible = false;
break;
case "Erledigt":
col.IsVisible = false;
break;
case "schmutzig":
col.HeaderImageKey = "dirt";
col.ShowTextInHeader = false;
col.MinimumWidth = col.MaximumWidth = 80;
col.DisplayIndex = 2;
break;
case "sauber":
col.HeaderImageKey = "clean";
col.ShowTextInHeader = false;
col.MinimumWidth = col.MaximumWidth = 80;
col.DisplayIndex = 3;
break;
default:
break;
}
}
// ========== IMAGE-LIST ZUWEISEN ==========
// SmallImageList für Icons in Detail-View (16x16 Pixel standard)
this.objectListViewAuftrag.SmallImageList = imagelist; // Voraussetzung: imagelist mit Icon Index 0 gefüllt
Program.imagelist.ImageSize = new Size(24, 24);
this.objectListViewAuftrag.SmallImageList = Program.imagelist; // Voraussetzung: imagelist mit Icon Index 0 gefüllt
// ========== SPALTE 10 & 1: ICON-KOLUMNE ==========
// Spalte 10 als Icon-Spalte: zeigt Icon wenn AufgabeID vorhanden
OLVColumn iconColumn = (OLVColumn)this.objectListViewAuftrag.Columns[10];
iconColumn.ImageGetter = rowObject =>
{
var auftrag = rowObject as Auftrag;
if (auftrag.AufgabeID == null) return null; // null = kein Icon anzeigen
else return 0; // Index 0 aus SmallImageList
};
OLVColumn iColumn = (OLVColumn)this.objectListViewAuftrag.Columns[1];
iColumn.ImageGetter = rowObject =>
{
var _auftrag = rowObject as Auftrag;
if (string.IsNullOrWhiteSpace(Kunde.GetKunde(null, _auftrag.KundeID, null).Anmerkung)) return null; // null = kein Icon anzeigen
else return 1; // Index 0 aus SmallImageList
};
// ========== TOOLTIP FÜR ICON-SPALTE ==========
// ========== TOOLTIP FÜR ICON-SPALTEN ==========
// Automatischer Cell-Tooltip bei Mouse-Hover über Spalte 10 und 1
this.objectListViewAuftrag.CellToolTipShowing += (s, e) =>
{
// Nur für Icon-Spalte (Index 10) und gültiges Model
if (e.ColumnIndex == 10 && e.Model is Auftrag auftrag)
if (e.Column.Text == "Aufgabe" && e.Model is Auftrag auftrag)
{
// Lade Bezeichnung der Aufgabe als Tooltip-Text
e.Text = Aufgabe.GetAufgabe(null, auftrag.AufgabeID).Bezeichnung;
}
// Nur für Icon-Spalte (Index 1) und gültiges Model
if (e.ColumnIndex == 1 && e.Model is Auftrag _auftrag)
if (e.Column.Text == "Kunde" && e.Model is Auftrag _auftrag)
{
if (!string.IsNullOrWhiteSpace(Kunde.GetKunde(null, _auftrag.KundeID, null).Anmerkung))
{
@ -731,22 +849,24 @@ namespace Deckungsbeitrag
}
}
//TODO: Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe??
if (e.Column.Text == "Fahrer" && e.Model is Auftrag auftrag1)
{
e.Text = auftrag1.ZusatzInfo;
}
};
// ========== DATEN LADEN ==========
// WICHTIG: SetObjects NACH Column-Konfiguration aufrufen!
this.objectListViewAuftrag.SetObjects(alist);
// ========== SORTIERUNG ==========
// Spalte 2 als primäre Sortier-Spalte festlegen (nach Datenbindung!)
OLVColumn sortcolumn = (OLVColumn)this.objectListViewAuftrag.Columns[2];
this.objectListViewAuftrag.Sort(sortcolumn);
// ========== CHECKBOX-FUNKTIONALITÄT ==========
// Aktiviert Checkboxen basierend auf "IsChecked" Property des Auftrag-Modells
this.objectListViewAuftrag.CheckedAspectName = "IsChecked";
this.objectListViewAuftrag.RebuildColumns();
if (_settings.OLV_State != null) this.objectListViewAuftrag.RestoreState(_settings.OLV_State);
Funktionen.Columns_Resize(this.objectListViewAuftrag);
// Cursor auf Default-Status setzen, um Benutzerfeedback zu geben
this.Cursor = Cursors.Default;
}
private void FormMain_HelpButtonClicked(object sender, CancelEventArgs e)
{
@ -986,6 +1106,10 @@ namespace Deckungsbeitrag
Properties.Settings.Default.Location_GroupBoxStatistik_Main = this.groupBoxStatistik.Location;
Properties.Settings.Default.Save();
_settings.OLV_State = this.objectListViewAuftrag.SaveState();
_settings.Save();
}
catch (Exception ex)
{

View File

@ -60,6 +60,8 @@ namespace Deckungsbeitrag
this.StandBearbeitet = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.FehlmengeBearbeitet = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.KorrekturBearbeitet = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label1 = new System.Windows.Forms.Label();
this.comboBoxFahrer = new System.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMinus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dGArtikel)).BeginInit();
@ -71,7 +73,7 @@ namespace Deckungsbeitrag
this.dTPLiefertag.DropDownAlign = System.Windows.Forms.LeftRightAlignment.Right;
this.dTPLiefertag.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dTPLiefertag.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dTPLiefertag.Location = new System.Drawing.Point(103, 206);
this.dTPLiefertag.Location = new System.Drawing.Point(146, 206);
this.dTPLiefertag.Margin = new System.Windows.Forms.Padding(2);
this.dTPLiefertag.Name = "dTPLiefertag";
this.dTPLiefertag.Size = new System.Drawing.Size(141, 32);
@ -83,11 +85,12 @@ namespace Deckungsbeitrag
//
this.buttonSpeichern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSpeichern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.buttonSpeichern.CausesValidation = false;
this.buttonSpeichern.FlatAppearance.BorderSize = 0;
this.buttonSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSpeichern.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonSpeichern.ForeColor = System.Drawing.Color.White;
this.buttonSpeichern.Location = new System.Drawing.Point(495, 311);
this.buttonSpeichern.Location = new System.Drawing.Point(495, 376);
this.buttonSpeichern.Margin = new System.Windows.Forms.Padding(2);
this.buttonSpeichern.Name = "buttonSpeichern";
this.buttonSpeichern.Size = new System.Drawing.Size(120, 41);
@ -101,12 +104,13 @@ namespace Deckungsbeitrag
//
this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAbbrechen.BackColor = System.Drawing.Color.Red;
this.buttonAbbrechen.CausesValidation = false;
this.buttonAbbrechen.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonAbbrechen.FlatAppearance.BorderSize = 0;
this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonAbbrechen.ForeColor = System.Drawing.Color.White;
this.buttonAbbrechen.Location = new System.Drawing.Point(619, 311);
this.buttonAbbrechen.Location = new System.Drawing.Point(619, 376);
this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(2);
this.buttonAbbrechen.Name = "buttonAbbrechen";
this.buttonAbbrechen.Size = new System.Drawing.Size(114, 41);
@ -328,7 +332,7 @@ namespace Deckungsbeitrag
//
this.comboBoxTyp.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
this.comboBoxTyp.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxTyp.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.comboBoxTyp.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.comboBoxTyp.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxTyp.FormattingEnabled = true;
this.comboBoxTyp.Location = new System.Drawing.Point(118, 42);
@ -369,7 +373,7 @@ namespace Deckungsbeitrag
this.dGArtikel.Location = new System.Drawing.Point(307, 12);
this.dGArtikel.MinimumSize = new System.Drawing.Size(0, 284);
this.dGArtikel.Name = "dGArtikel";
this.dGArtikel.Size = new System.Drawing.Size(427, 284);
this.dGArtikel.Size = new System.Drawing.Size(427, 340);
this.dGArtikel.TabIndex = 32;
this.dGArtikel.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridView_CellEnter);
this.dGArtikel.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.dGArtikel_CellValidating);
@ -441,6 +445,31 @@ namespace Deckungsbeitrag
this.KorrekturBearbeitet.Name = "KorrekturBearbeitet";
this.KorrekturBearbeitet.Width = 115;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(6, 332);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(102, 20);
this.label1.TabIndex = 33;
this.label1.Text = "Zustellfahrer:";
//
// comboBoxFahrer
//
this.comboBoxFahrer.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
this.comboBoxFahrer.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxFahrer.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.comboBoxFahrer.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBoxFahrer.FormattingEnabled = true;
this.comboBoxFahrer.Location = new System.Drawing.Point(118, 319);
this.comboBoxFahrer.Margin = new System.Windows.Forms.Padding(2);
this.comboBoxFahrer.Name = "comboBoxFahrer";
this.comboBoxFahrer.Size = new System.Drawing.Size(169, 33);
this.comboBoxFahrer.TabIndex = 34;
this.comboBoxFahrer.Validating += new System.ComponentModel.CancelEventHandler(this.comboBoxFahrer_Validating);
//
// FormNeuerAuftrag
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -448,7 +477,9 @@ namespace Deckungsbeitrag
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101)))));
this.CancelButton = this.buttonAbbrechen;
this.ClientSize = new System.Drawing.Size(741, 366);
this.ClientSize = new System.Drawing.Size(741, 431);
this.Controls.Add(this.comboBoxFahrer);
this.Controls.Add(this.label1);
this.Controls.Add(this.dGArtikel);
this.Controls.Add(this.textBoxCont);
this.Controls.Add(this.label6);
@ -474,7 +505,7 @@ namespace Deckungsbeitrag
this.Margin = new System.Windows.Forms.Padding(2);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(16, 405);
this.MinimumSize = new System.Drawing.Size(16, 470);
this.Name = "FormNeuerAuftrag";
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
@ -520,5 +551,7 @@ namespace Deckungsbeitrag
private System.Windows.Forms.DataGridViewTextBoxColumn StandBearbeitet;
private System.Windows.Forms.DataGridViewTextBoxColumn FehlmengeBearbeitet;
private System.Windows.Forms.DataGridViewTextBoxColumn KorrekturBearbeitet;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox comboBoxFahrer;
}
}

View File

@ -1,4 +1,6 @@
using DatenDB;
using Deckungsbeitrag.AA_Klassen;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -36,6 +38,7 @@ namespace Deckungsbeitrag
public DataGridViewCell aktivCell;
private string userid;
private AuftragTyp auftragtyp = AuftragTyp.Standart;
private string eingabe = string.Empty;
#endregion
#region Form-Konstruktor
@ -73,7 +76,7 @@ namespace Deckungsbeitrag
// ComboBox AuftragTyp wird geladen und richtiges Item selected.
// Falls KundenAuswahl null liefert wird Form geschlossen oder wenn Waschstrasse neu geladen.
if (this.kunde != null) { comboBox_Load(); DatenLaden(); }
if (this.kunde != null) { comboBoxTyp_Load(); comboBoxFahrer_Load(); DatenLaden(); }
else
{
// Wenn NICHT Waschstrasse dann Fenster schließen.
@ -94,21 +97,24 @@ namespace Deckungsbeitrag
}
/// <summary>
/// Kundendaten Liefertag werden eingefügt.
/// </summary>
private void DatenLaden()
private void DatenLaden()
{
this.textBoxKndNr.Text = kunde.KundeNummer;
if (string.IsNullOrWhiteSpace(kunde.Suchtext)) this.textBoxKundeName.Text = kunde.KundeName;
else this.textBoxKundeName.Text = kunde.Suchtext;
if (letzterLiefertag.HasValue) this.dTPLiefertag.Value = letzterLiefertag.Value;
else this.dTPLiefertag.Value = DateTime.Today.AddDays(1);
//if (letzterLiefertag.HasValue) this.dTPLiefertag.Value = letzterLiefertag.Value;
//else this.dTPLiefertag.Value = DateTime.Today.AddDays(1);
this.dTPLiefertag.Value = Funktionen.GetNextLiefertag((Liefertage)this.kunde.LieferRhythmus);
dTPLiefertag_Leave(this.dTPLiefertag, EventArgs.Empty);
textBoxCont_TextChanged(this.textBoxCont, EventArgs.Empty);
}
private void comboBox_Load()
private void comboBoxTyp_Load()
{
// Items werden von AuftragTyp geladen.
this.comboBoxTyp.DataSource = Enum.GetValues(typeof(AuftragTyp));
@ -120,6 +126,15 @@ namespace Deckungsbeitrag
this.comboBoxTyp.Enabled = false;
}
private void comboBoxFahrer_Load()
{
List<Benutzer> benutzerliste = Benutzer.GetFahrerList();
this.comboBoxFahrer.DataSource = benutzerliste;
this.comboBoxFahrer.DisplayMember = "BenutzerName";
if (this.benutzer.Rolle == BenutzerRolle.Fahrer) this.comboBoxFahrer.SelectedItem = this.benutzer;
else this.comboBoxFahrer.SelectedIndex = -1;
}
private void Load_Gridview(string kundeid, AuftragTyp auftragTyp)
{
@ -191,6 +206,8 @@ namespace Deckungsbeitrag
}
private void buttonSpeichern_Click(object sender, EventArgs e)
{
if (!this.ValidateChildren(ValidationConstraints.Enabled)) return;
int[] save;
if(kunde == null)
{
@ -205,6 +222,7 @@ namespace Deckungsbeitrag
// Wenn Kundennummer ist Div.Barzahler(in FormListe wenn mit ? am Anfang) wird individueller Kundename als Zusatzinfo gespeichert.
if (kunde.KundeNummer == "2320000") Auftrag.ZusatzInfo = kunde.Suchtext;
else if (!string.IsNullOrWhiteSpace(eingabe)) Auftrag.ZusatzInfo = eingabe;
//TODO: Überlegen ob das der richtige Weg ist. Eventuell in Expedit sowohl KundeAufgabe wie auch AuftragAufgabe anzeigen? NOTWENDIG?
if (Auftrag.AufgabeID == null) { if (kunde.Aufgabe != null) Auftrag.AufgabeID = kunde.Aufgabe; }
@ -214,6 +232,7 @@ namespace Deckungsbeitrag
Auftrag.Erstellt = DateTime.Now;
Auftrag.Container = int.Parse(this.textBoxCont.Text);
Auftrag.Typ = (AuftragTyp)comboBoxTyp.SelectedItem;
Auftrag.ArbeiterID = ((Benutzer)this.comboBoxFahrer.SelectedItem).BenutzerID;
if (maschine != null) Auftrag.MaschineID = (int)maschine.MaschineID;
else Auftrag.MaschineID = null;
@ -278,6 +297,7 @@ namespace Deckungsbeitrag
break;
case BenutzerRolle.Fahrer:
Auftrag.Status = AuftragStatus.Abgeholt;
if (Auftrag.ArbeiterID == null) Auftrag.ArbeiterID = benutzer.BenutzerID;
break;
case BenutzerRolle.Admin:
Auftrag.Status = AuftragStatus.Herrichten;
@ -474,12 +494,12 @@ namespace Deckungsbeitrag
case AuftragTyp.Geschäft: // Wird derzeit wenig verwendet da die Auswahl in DatenLaden nach KundenService erfolgt.
this.dGArtikel.Enabled = this.dGArtikel.Visible = false;
this.Width = textBoxKundeName.Right + 30;
this.Height = 405;
this.Height = 470;
break;
case AuftragTyp.Standart:
this.dGArtikel.Enabled = this.dGArtikel.Visible = false;
this.Width = textBoxKundeName.Right + 30;
this.Height = 405;
this.Height = 470;
break;
case AuftragTyp.Inventur:
if (this.kunde != null) Load_Gridview(this.kunde.KundeID.ToString(), (AuftragTyp)comboBoxTyp.SelectedValue);
@ -524,7 +544,22 @@ namespace Deckungsbeitrag
// this.Height = 405;
//}
}
private void comboBoxFahrer_Validating(object sender, CancelEventArgs e)
{
if (((ComboBox)sender).SelectedIndex == -1) return;
if (meldung.GetFrage(this, "Möchtest du den Auftrag wirklich einem anderen Fahrer zuteilen?", false) == DialogResult.No) { ((ComboBox)sender).SelectedIndex = -1; e.Cancel = true; }
else
{
eingabe = Interaction.InputBox("Warum möchtest du den Auftrag einem anderen Fahrer zuteilen?\n\nGrund:", "Sonderzuteilung", "");
}
}
}
}
//CHANGES: Liefertag errechnet sich jetzt aus dem Lieferrhythmus. Funktion wählt nächstmöglichen Liefertermin im Rhythmus. Bei Klick auf Tag bleibt alles gleich. (Auch mit Heute liefern?)
//CHANGES: Wenn Fahrer Auftrag erstellt wird beim Speichern standardmäßig seine ID als ArbeiterID gespeichert. Bedeutet ausführender = Fahrer selber.
//CHANGES: NeuerAuftrag wird jetzt mit Propertie AuftragTyp aufgerufen. Dadurch ist die Auswahl des AuftragTyp konstanter.
//DONE: Fehler wenn FormListe mit X geschlossen wird und Kunde null ist wurde behoben.
//DONE: Wenn Fahrer einen Auftrag an Kollege übergibt?
//TODO: Grund immer abfragen oder nur wenn Fahrer die Zuteilung ändert?

View File

@ -162,36 +162,6 @@
<metadata name="KorrekturBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeArtikelID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KundeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelNR.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ArtikelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stand.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Fehlmenge.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Korrektur.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="StandBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FehlmengeBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="KorrekturBearbeitet.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAAAAAAAEAIAC5FQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAAAFv

View File

@ -66,7 +66,7 @@ namespace DatenDB
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id WHERE typ = {(int)typ} AND erstellt::date = @produktion OR typ = {(int)typ} AND status < 7 ORDER BY liefertag ASC";
command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ = {(int)typ} AND erstellt::date = @produktion OR typ = {(int)typ} AND status < 7 ORDER BY liefertag ASC";
command.Parameters.AddWithValue("@produktion", produktion.Date);
using (var reader = await command.ExecuteReaderAsync())
@ -85,7 +85,7 @@ namespace DatenDB
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id WHERE typ >= @typ AND status < 7 ORDER BY status DESC, liefertag ASC";
command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join Kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE typ >= @typ AND status < 7 ORDER BY status DESC, liefertag ASC";
command.Parameters.AddWithValue("@typ", typ ?? 0); // Parameterized + Null-Handling
using (var reader = await command.ExecuteReaderAsync())
@ -97,6 +97,25 @@ namespace DatenDB
return resultList;
}
public static async Task<List<Auftrag>> GetStatusListAsync(int? status, NpgsqlConnection conn)
{
List<Auftrag> resultList = new List<Auftrag>();
isExpedit = true;
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
if (status == null) command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE status <= 7 ORDER BY status DESC, liefertag ASC";
else command.CommandText = $"SELECT {ACOLUMNS}, k.name1 as kunde_name, k.suchtext as suchtext, u.benutzer_name as fahrer FROM {TABLE} a left join kundenverwaltung.kunde k on a.kunde_id = k.kunde_id left join kundenverwaltung.benutzer u on a.benutzer_id = u.benutzer_id WHERE status = {status} ORDER BY status DESC, liefertag ASC";
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
resultList.Add(new Auftrag(reader));
}
}
return resultList;
}
#endregion
public static List<Auftrag> GetFinishingList()
@ -159,21 +178,6 @@ namespace DatenDB
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static List<Auftrag> GetAuftragListToday(DateTime produktion)
{
DatenbankConnection.GetConnection().Open();
List<Auftrag> resultList = new List<Auftrag>();
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection();
command.CommandText = $"select {COLUMNS} from {TABLE} where typ <= 1 and erstellt::date = '{produktion.Date}' or typ <= 1 and status < 7 order by liefertag asc";
NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) resultList.Add(new Auftrag(reader));
reader.Close();
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static List<Auftrag> GetAuftragStatsListToday(DateTime produktion)
{
DatenbankConnection.GetConnection().Open();
@ -189,22 +193,6 @@ namespace DatenDB
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static List<Auftrag> GetStatusList(int? status)
{
DatenbankConnection.GetConnection().Open();
List<Auftrag> resultList = new List<Auftrag>();
NpgsqlCommand command = new NpgsqlCommand();
command.Connection = DatenbankConnection.GetConnection();
if (status == null) command.CommandText = $"select {COLUMNS} from {TABLE} where status <= 7 order by status desc, liefertag asc";
else command.CommandText = $"select {COLUMNS} from {TABLE} where status = {status} order by status desc, liefertag asc";
NpgsqlDataReader reader = command.ExecuteReader();
while (reader.Read()) resultList.Add(new Auftrag(reader));
reader.Close();
DatenbankConnection.GetConnection().Close();
return resultList;
}
public static Auftrag GetAuftrag(int? auftragID)
{
DatenbankConnection.GetConnection().Open();
@ -279,6 +267,7 @@ namespace DatenDB
this.Kundename = reader.GetString(20);
this.Kundename = reader.IsDBNull(21) ? this.Kundename : reader.GetString(21);
if (this.Kundename == "BAR DIVERSE") this.Kundename = this.ZusatzInfo;
this.Fahrer = reader.IsDBNull(22) ? string.Empty : reader.GetString(22);
}
}
@ -437,6 +426,8 @@ namespace DatenDB
}
}
}
[OLVColumn("Fahrer", DisplayIndex = 13)]
public string Fahrer { get; set; }

View File

@ -1,6 +1,7 @@
using AForge.Video.DirectShow;
using BrightIdeasSoftware;
using DatenDB;
using Deckungsbeitrag.AA_Klassen;
using Deckungsbeitrag.Properties;
using System;
using System.Collections.Generic;
@ -10,6 +11,7 @@ using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Runtime;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
@ -21,6 +23,7 @@ namespace Deckungsbeitrag
{
public class Funktionen
{
private static readonly Liefertage Arbeitstage = Liefertage.Monday | Liefertage.Tuesday | Liefertage.Wednesday | Liefertage.Thursday | Liefertage.Friday;
private static FilterInfoCollection videoDevices;
public static Color beladeband = Settings.Default.Beladeband; public static Color waschstr = Settings.Default.Waschstrasse; public static Color presse = Settings.Default.Presse; public static Color trockner = Settings.Default.Trockner;
public static Color entladeband = Settings.Default.Entladeband; public static Color hubband = Settings.Default.Hubband;
@ -33,6 +36,8 @@ namespace Deckungsbeitrag
int j = 0;
private bool printOK;
private static bool _nocont;
private static Meldungen meldung = new Meldungen();
public Funktionen()
{
@ -76,6 +81,7 @@ namespace Deckungsbeitrag
}
return f;
}
public Label[] GetFachLabels(int fach, Maschine maschine, int height, Point loc, int width, string screen)
{
Label[] labels = new Label[5];
@ -1101,5 +1107,44 @@ namespace Deckungsbeitrag
return g;
}
public static DateTime GetNextLiefertag(Liefertage rhythmus)
{
DateTime aktDatum = DateTime.Today;
// Starte ab morgen und suche nächsten passenden Arbeitstag
for (int i = 1; i <= 7; i++)
{
DateTime testDatum = aktDatum.AddDays(i);
DayOfWeek dow = testDatum.DayOfWeek;
Liefertage liefertag;
// Klassischer switch statement (C# 7.3 kompatibel)
switch (dow)
{
case DayOfWeek.Monday:
liefertag = Liefertage.Monday;
break;
case DayOfWeek.Tuesday:
liefertag = Liefertage.Tuesday;
break;
case DayOfWeek.Wednesday:
liefertag = Liefertage.Wednesday;
break;
case DayOfWeek.Thursday:
liefertag = Liefertage.Thursday;
break;
case DayOfWeek.Friday:
liefertag = Liefertage.Friday;
break;
default: // Sa/So
continue;
}
if (rhythmus.HasFlag(liefertag))
return testDatum;
}
return aktDatum.AddDays(7);
}
}
}

View File

@ -1,4 +1,5 @@
using BrightIdeasSoftware;
using Deckungsbeitrag.AA_Klassen;
using Npgsql;
using System;
using System.Collections.Generic;
@ -12,10 +13,11 @@ using static System.Net.Mime.MediaTypeNames;
namespace DatenDB
{
public class Kunde
public class Kunde
{
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
public const string COLUMNS = "kunde_id, tour_id, kunde_nr, name1, name2, straße, plz, bezeichnung, land, aktiv, bettenanzahl, kunde_gruppe, service, region, waescheart, suchtext, aufgabe, anmerkung, aufgabe_count";
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public const string COLUMNS = "kunde_id, tour_id, kunde_nr, name1, name2, straße, plz, bezeichnung, land, aktiv, bettenanzahl, kunde_gruppe, service, region, waescheart, suchtext, aufgabe, anmerkung, aufgabe_count, lieferrhythmus";
private const string RED_COLUMNS = "kunde_id, tour_id, kunde_nr, name1, name2, straße, plz, bezeichnung, land, aktiv, bettenanzahl, kunde_gruppe, service, region, waescheart, jahr, umsatz";
public const string TABLE = "kundenverwaltung.kunde";
public const string VIEW = "kundenverwaltung.jahresumsaetze"; //RICHTIGE VIEW AUSSUCHEN FÜR INAKTIVE MIT LETZTEN UMSATZ...
@ -222,6 +224,7 @@ namespace DatenDB
this.Aufgabe = reader.IsDBNull(16) ? null : (int?)reader.GetInt32(16);
this.Anmerkung = reader.IsDBNull(17) ? string.Empty : reader.GetString(17);
this.AufgabeCount = reader.IsDBNull(18) ? 0 : reader.GetInt32(18);
this.LieferRhythmus = reader.IsDBNull(19) ? (int)Lieferrhythmen.Unbekannt : reader.GetInt16(19);
}
}
@ -246,6 +249,8 @@ namespace DatenDB
this.Aufgabe = reader.IsDBNull(16) ? null : (int?)reader.GetInt32(16);
this.Anmerkung = reader.IsDBNull(17) ? string.Empty : reader.GetString(17);
this.AufgabeCount = reader.IsDBNull(18) ? 0 : reader.GetInt32(18);
this.LieferRhythmus = reader.IsDBNull(19) ? (int)Lieferrhythmen.Unbekannt : reader.GetInt16(19);
}
public int Save()
{
@ -257,13 +262,13 @@ namespace DatenDB
if (this.KundeID.HasValue & this.KundeID != 0)
{
command.CommandText = $"update {TABLE} set tour_id = :p1, kunde_nr = :p2, name1 = :p3, name2 = :p4, straße = :p5, plz = :p6, bezeichnung = :p7, land = :p8, aktiv = :p9, bettenanzahl = :p10, kunde_gruppe = :p11, service = :p12, region = :p13, waescheart = :p14, suchtext = :p15, aufgabe = :p16, anmerkung = :p17, aufgabe_count = :p18 WHERE kunde_id = :p0";
command.CommandText = $"update {TABLE} set tour_id = :p1, kunde_nr = :p2, name1 = :p3, name2 = :p4, straße = :p5, plz = :p6, bezeichnung = :p7, land = :p8, aktiv = :p9, bettenanzahl = :p10, kunde_gruppe = :p11, service = :p12, region = :p13, waescheart = :p14, suchtext = :p15, aufgabe = :p16, anmerkung = :p17, aufgabe_count = :p18, lieferrhythmus = :p19 WHERE kunde_id = :p0";
}
else
{
command.CommandText = "select nextval('kundenverwaltung.kunde_seq')";
this.KundeID = (int)(long)command.ExecuteScalar();
command.CommandText = $"insert into {TABLE} ({COLUMNS}) values (:p0, :p1, :p2, :p3, :p4, :p5, :p6, :p7, :p8, :p9, :p10, :p11, :p12, :p13, :p14, :p15, :p16, :p17, :p18)";
command.CommandText = $"insert into {TABLE} ({COLUMNS}) values (:p0, :p1, :p2, :p3, :p4, :p5, :p6, :p7, :p8, :p9, :p10, :p11, :p12, :p13, :p14, :p15, :p16, :p17, :p18, :p19)";
}
command.Parameters.AddWithValue("p0", this.KundeID);
@ -285,6 +290,7 @@ namespace DatenDB
command.Parameters.AddWithValue("p16", this.Aufgabe ?? (object)DBNull.Value);
command.Parameters.AddWithValue("p17", string.IsNullOrWhiteSpace(this.Anmerkung) ? (object)DBNull.Value : this.Anmerkung);
command.Parameters.AddWithValue("p18", this.AufgabeCount ?? (object)DBNull.Value);
command.Parameters.AddWithValue("p19", this.LieferRhythmus);
int result = command.ExecuteNonQuery();
DatenbankConnection.GetConnection().Close();
@ -407,6 +413,8 @@ namespace DatenDB
[OLVIgnore]
public string Anmerkung { get; set; }
#endregion
}
[OLVIgnore]
public int LieferRhythmus { get; set; }
#endregion
}
}

View File

@ -0,0 +1,56 @@
using DatenDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Deckungsbeitrag.AA_Klassen
{
[Flags]
public enum Liefertage
{
None = 0,
Monday = 1 << 1, // 2
Tuesday = 1 << 2, // 4
Wednesday = 1 << 3, // 8
Thursday = 1 << 4, // 16
Friday = 1 << 5 // 32
}
// Vordefinierte Rhythmen als Kombinationen
public static class Lieferrhythmen
{
public static Liefertage Unbekannt => Liefertage.None;
public static Liefertage WoechentlichMo => Liefertage.Monday;
public static Liefertage WoechentlichDi => Liefertage.Tuesday;
public static Liefertage WoechentlichMi => Liefertage.Wednesday;
public static Liefertage WoechentlichDo => Liefertage.Thursday;
public static Liefertage WoechentlichFr => Liefertage.Friday;
public static Liefertage ZweimalMoDo => Liefertage.Monday | Liefertage.Thursday;
public static Liefertage ZweimalDiFr => Liefertage.Tuesday | Liefertage.Friday;
public static Liefertage DreimalMoMiFr => Liefertage.Monday | Liefertage.Wednesday | Liefertage.Friday;
public static Liefertage ViermalMoDiDoFr => Liefertage.Monday | Liefertage.Tuesday | Liefertage.Thursday | Liefertage.Friday;
public static Liefertage TaeglichMoFr => Liefertage.Monday | Liefertage.Tuesday | Liefertage.Wednesday | Liefertage.Thursday | Liefertage.Friday;
// Dictionary als statische Eigenschaft
public static readonly Dictionary<string, Liefertage> AnzeigeNamen = new Dictionary<string, Liefertage>()
{
{ "Kein Rhythmus", Unbekannt },
{ "1x Mo", WoechentlichMo },
{ "1x Di", WoechentlichDi },
{ "1x Mi", WoechentlichMi },
{ "1x Do", WoechentlichDo },
{ "1x Fr", WoechentlichFr },
{ "2x Mo/Do", ZweimalMoDo },
{ "2x Di/Fr", ZweimalDiFr },
{ "3x Mo/Mi/Fr", DreimalMoMiFr },
{ "4x Mo/Di/Do/Fr", ViermalMoDiDoFr },
{ "Täglich Mo-Fr", TaeglichMoFr }
};
}
}

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
namespace Deckungsbeitrag.AA_Klassen
{
public class TourenDaten
{
public string FahrzeugName { get; set; }

View File

@ -1,5 +1,6 @@
using DatenDB;
using Deckungsbeitrag.AA_Forms;
using Deckungsbeitrag.Properties;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
@ -9,6 +10,7 @@ using System.IO;
using System.Linq;
using System.Management;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@ -17,7 +19,7 @@ namespace Deckungsbeitrag
{
static class Program
{
public static ImageList imagelist = new ImageList();
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
@ -30,6 +32,8 @@ namespace Deckungsbeitrag
Application.SetCompatibleTextRenderingDefault(false);
Screen[] screens = Screen.AllScreens;
ImageList_Laden();
string readmePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Verwaltung_ReadMe.txt");
// Prüfe, ob ReadMe schon einmal geöffnet wurde
@ -122,5 +126,16 @@ namespace Deckungsbeitrag
}
}
}
private static void ImageList_Laden()
{
imagelist.Images.Add(Resources.Exclamation_Red);
imagelist.Images.Add(Resources.InformationSymbol_16x);
imagelist.Images.Add("print", Resources.PrintTag1);
imagelist.Images.Add("abschließen", Resources.checkmark);
imagelist.Images.Add("dirt", Resources.dirt);
imagelist.Images.Add("clean", Resources.clean);
}
}
}

View File

@ -60,6 +60,16 @@ namespace Deckungsbeitrag.Properties {
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap checkmark {
get {
object obj = ResourceManager.GetObject("checkmark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
@ -100,6 +110,16 @@ namespace Deckungsbeitrag.Properties {
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Container_Clean {
get {
object obj = ResourceManager.GetObject("Container_Clean", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
@ -160,6 +180,26 @@ namespace Deckungsbeitrag.Properties {
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap PrintTag {
get {
object obj = ResourceManager.GetObject("PrintTag", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap PrintTag1 {
get {
object obj = ResourceManager.GetObject("PrintTag1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>

View File

@ -118,46 +118,58 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Checkmark_blue_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checkmark_blue_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="PenOne_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\PenOne_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InformationSymbol_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InformationSymbol_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Exclamation_Red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\weather_warning_signal_alert_exclamation_icon_124159.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UpdatedScript_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\UpdatedScript_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Monaco_Settings_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Monaco_Settings_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="question-sign_icon-icons.com_73445" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\question-sign_icon-icons.com_73445.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Print_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Print_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Checkmark_blue_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checkmark_blue_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="StatisticsWarning_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\StatisticsWarning_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="WarningRule_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WarningRule_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Close_red_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Close_red_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Close_WhiteNoHalo_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Close_WhiteNoHalo_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="PenOne_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\PenOne_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="clean" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clean.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Close_WhiteNoHalo_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Close_WhiteNoHalo_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Close_red_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Close_red_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Print_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Print_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="question-sign_icon-icons.com_73445" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\question-sign_icon-icons.com_73445.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="WarningRule_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WarningRule_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="checkmark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\checkmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="PrintTag" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\PrintTag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UpdatedScript_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\UpdatedScript_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InformationSymbol_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InformationSymbol_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="PrintTag1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\PrintTag1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Monaco_Settings_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Monaco_Settings_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dirt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dirt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Container_Clean" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Container_Clean.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
Resources/NewTagPrint.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Resources/New_printtag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Resources/PrintTag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
Resources/PrintTag1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Resources/checkmark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Resources/print_tag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Resources/print_tag1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
Resources/tags_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -185,6 +185,7 @@
<Compile Include="AA-Klassen\DatenbankConnection.cs" />
<Compile Include="AA-Klassen\Fach.cs" />
<Compile Include="AA-Klassen\FahrerAuftrag.cs" />
<Compile Include="AA-Klassen\Lieferrhythmus.cs" />
<Compile Include="AA-Klassen\Meldungen.cs" />
<Compile Include="AA-Forms\FormArtikelVW.cs">
<SubType>Form</SubType>
@ -361,6 +362,11 @@
<Compile Include="AA-Klassen\Report.cs" />
<Compile Include="AA-Klassen\Sortiment.cs" />
<Compile Include="AA-Klassen\SPSDaten.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="UserControls\KundenControl.cs">
<SubType>UserControl</SubType>
</Compile>
@ -475,14 +481,9 @@
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="AA-Forms\FormKundeVW.resx">
<DependentUpon>FormKundeVW.cs</DependentUpon>
</EmbeddedResource>
@ -524,6 +525,18 @@
<None Include="Resources\Print_16x.png" />
<None Include="Resources\clean.png" />
<None Include="Resources\dirt.png" />
<None Include="Resources\pricetags_tags_labels_icon_187164.png" />
<None Include="Resources\tags_black.png" />
<None Include="Resources\tags_black_lines.png" />
<None Include="Resources\checkmark.png" />
<None Include="Resources\print_tag.png" />
<None Include="Resources\print_tag1.png" />
<None Include="Resources\black_printtag.png" />
<None Include="Resources\New_printtag.png" />
<None Include="Resources\NewTagPrint.png" />
<None Include="Resources\PrintTag.png" />
<None Include="Resources\PrintTag1.png" />
<None Include="Resources\Container_Clean.png" />
<Content Include="Verwaltung_ReadMe.txt" />
<Content Include="wirlneu_transparent %281%29.ico" />
<None Include="Resources\Close_WhiteNoHalo_16x.png" />

View File

@ -4,63 +4,60 @@ NEUIGKEITEN - Version 1.0.4.7
Build-Info:
- Build-Typ: Release Build
- Erledigte TODOs: 23
- Offene TODOs: 34
- Erledigte TODOs: 16
- Offene TODOs: 35
- Install-Reminders: 1
- Changes: 18
- Changes: 22
=== ⚙️ INSTALL-REMINDER (1) ===
- ⚙️ Spalte Abteilungen in Auftrag muss in Wirl_DB_17012023 eingefügt werden. [FormExpedit.cs]
=== ✨ CHANGES (18) ===
=== ✨ CHANGES (22) ===
- ✨ AbteilungsStatus ist implementiert. [FormExpedit.cs]
- ✨ Als zweite Sortierung wird immer der Liefertag gewählt. [FormExpedit.cs]
- ✨ Auftragverwaltung Spalten wurden aktualisiert. Mit Icons, Buttons und Sortierung auf Liefertag. [FormMain.cs]
- ✨ Aus und Einblenden der Nachwäsche möglich. [FormExpedit.cs]
- ✨ Bearbeiten in ObjectListView möglich. (Kundename wird aber zurückgesetzt) [FormExpedit.cs]
- ✨ Datumfilter funktioniert. [FormExpedit.cs]
- ✨ Es wird der zuständige Fahrer angezeigt. ToolTip zeigt den Grund falls vorhanden(Bei Sonderzuteilung). [FormExpedit.cs]
- ✨ Fahrer können abgeholte Aufträge erstellen und ausgelieferte Aufträge markieren. [FormMain.cs]
- ✨ Geschäftaufträge werden in neuem Tab angezeigt. [FormExpedit.cs]
- ✨ GroupBox nicht mehr notwendig. Etikette Druck über ObjectListView. [FormExpedit.cs]
- ✨ Highlightfarbe bleibt auch wenn unfocused. (Farbe ändern?) [FormExpedit.cs]
- ✨ Keine Timer da Probleme mit DB-Connection. DataGridView wird neu geladen wenn Auftrag neu gewählt wird. [FormExpedit.cs]
- ✨ Kundeneingabe mit ? fügt einmaligen Kundenname als ZusatzInfo hinzu und wählt Kunde BAR DIVERSE 2320000 [FormExpedit.cs]
- ✨ Liefertag errechnet sich jetzt aus dem Lieferrhythmus. Funktion wählt nächstmöglichen Liefertermin im Rhythmus. Bei Klick auf Tag bleibt alles gleich. (Auch mit Heute liefern?) [FormNeuerAuftrag.cs]
- ✨ NeuerAuftrag wird jetzt mit Propertie AuftragTyp aufgerufen. Dadurch ist die Auswahl des AuftragTyp konstanter. [FormNeuerAuftrag.cs]
- ✨ ObjectListView speichert Status automatisch beim schließen des Fensters und läd wieder wenn neu gestartet wird. [FormExpedit.cs]
- ✨ Rechtsklick auf Spaltenheader ermöglicht Filtern. [FormExpedit.cs]
- ✨ Sortierte Spalte hat leicht andere Farbe. (Besser zu erkennen wonach sortiert wird) [FormExpedit.cs]
- ✨ Suchen eines Auftrags mit Scan möglich. [FormExpedit.cs]
- ✨ Wenn Doppelklick auf Zelle, wird gefragt ob bearbeiten wirklich gewollt. Sonst wird blockiert. [FormExpedit.cs]
- ✨ Wenn Fahrer Auftrag erstellt wird beim Speichern standardmäßig seine ID als ArbeiterID gespeichert. Bedeutet ausführender = Fahrer selber. [FormNeuerAuftrag.cs]
- ✨ Wenn HEUTE als Liefertag gewählt, kommt Frage ob heute oder in einer Woche. Wenn JA dann HEUTE. [FormExpedit.cs]
=== ✅ ERLEDIGTE TODOs (23) ===
=== ✅ ERLEDIGTE TODOs (16) ===
- ✅ : 2 neue Buttons für "Neue Inventur" und "Neue Standveränderung" [FormMain.cs]
- ✅ : Aufgabe wird bei "Vorbereiten ohne Etikett" verarbeitet. [FormExpedit.cs]
- ✅ : Auftrag als Vorbereitet markieren geht nur wenn saubere Container nicht 0 sind. [FormExpedit.cs]
- ✅ : Auftrag über FormListe holen und daraus den Kunden für Fehlmenge holen. [FormFehlmengeCount.cs]
- ✅ : Bei Fahrer neue Deaktivierung von Controls. [FormMain.cs]
- ✅ : Bei jeder Änderung vor dem Speichern Nachfragen ob wirklich durchführen. [FormExpedit.cs]
- ✅ : Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert. [FormAusschlager.cs]
- ✅ : DataGridView hinter TabControl? DataGridView in Vordergrund. [FormExpedit.cs]
- ✅ : Einmalige Kunden für Geschäft ermöglichen [FormExpedit.cs]
- ✅ : Etikett Drucken als Button in Row. Dann Vorschau anzeigen und Drucken. [FormExpedit.cs]
- ✅ : Etikett GroupBox entfernen. Änderungen direkt in ObjectListView vornehmen PrintPreview für Etikett. [FormExpedit.cs]
- ✅ : Fehler wenn FormListe mit X geschlossen wird und Kunde null ist wurde behoben. [FormNeuerAuftrag.cs]
- ✅ : Filigran Geschäftkunde in Expedit anzeigen [FormExpedit.cs]
- ✅ : Filtern in Tabelle ermöglichen. [FormExpedit.cs]
- ✅ : Logik überlegen wie ein bearbeiteter Auftrag nicht doppelt gewählt werden kann. (Abteilungen zu Auftrag hinzufügen und bei Ausschlager Druck definieren?) [FormFehlmengeCount.cs]
- ✅ : Neue Aufgabe Screen erstellen. [FormNeueAufgabe.cs]
- ✅ : Nur die Kunden der Aufträge als Liste anzeigen wäre möglich. Macht die Auswahl für das Personal einfacher weil 90% bereits weg fallen. [FormFehlmengeCount.cs]
- ✅ : Sortierung nach Status und Tag. [FormExpedit.cs]
- ✅ : Spalten besser erkennbar gestalten damit Mirka die Spalte trifft wenn RechtsClick. [FormExpedit.cs]
- ✅ : StartUp von Expedit verfeinern. [FormExpedit.cs]
- ✅ : Status manchmal falsch [FormExpedit.cs]
- ✅ : Testen ob umbenennen funktioniert. [FormTourenplanung.cs]
- ✅ : Wenn Fahrer einen Auftrag an Kollege übergibt? [FormNeuerAuftrag.cs]
- ✅ : Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen. [FormAusschlager.cs]
- ✅ : Wenn NeuerAuftrag gewählt wie gehts weiter? [FormAusschlager.cs]
=== 🔄 OFFENE TODOs (34) ===
=== 🔄 OFFENE TODOs (35) ===
- 🔄 Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe?? [FormExpedit.cs]
- 🔄 Alle Icons in einer Spalte anzeigen? I für Anmerkung und ! für Aufgabe?? [FormMain.cs]
- 🔄 Artikel Update weiter testen und programmieren. Für ArtikelKurzliste ausprogrammieren. [FormMain.cs]
@ -70,11 +67,11 @@ Build-Info:
- 🔄 Deaktivieren wenn SPS funktioniert. Transport wird simuliert. [FormWSVerfolgung.cs]
- 🔄 Design des Controls anpassen. Eventuell im Designer erstellen. [KundenControl.cs]
- 🔄 Einkommentieren wenn ArtikelUpdate auf ArtikelKurzliste umgestellt werden kann. [FormMain.cs]
- 🔄 Einmalige Kunden für Geschäft ermöglichen [FormExpedit.cs]
- 🔄 Eventuell auch andere ListViews einbinden? [Funktionen.cs]
- 🔄 Filter für Regionen ermöglichen. [FormTourenplanung.cs]
- 🔄 Funktioniert mehrere KundenControls auf einmal DragDrop? [FormTourenplanung.cs]
- 🔄 für Ladescreen den Progressbar programieren. (perplexity fragen wie der Status an einen anderen Screen übergeben werden kann) [FormMain.cs]
- 🔄 Grund immer abfragen oder nur wenn Fahrer die Zuteilung ändert? [FormNeuerAuftrag.cs]
- 🔄 Hier Settings speichern mit UserSettingsManager Klasse. [FormEinstellung.cs]
- 🔄 Kein Clone mehr wenn im Panel bewegt wird. Nur neue Position übernehmen. (Fahrreihenfolge) [UCTabPageLKW.cs]
- 🔄 Kein Clone wenn zwischen den Panelen bewegt wird. [UCTabPageLKW.cs]
@ -84,6 +81,7 @@ Build-Info:
- 🔄 OLV State speichern. [FormExpedit.cs]
- 🔄 Reihenfolge Spalten richtig stellen. [FormExpedit.cs]
- 🔄 Settings hier ändern auf UserSettingsManager Klasse. [FormEinstellung.cs]
- 🔄 Soll hier ebenfalls der nächste Liefertag laut Rhythmus vorgeschlagen werden? [FormExpedit.cs]
- 🔄 Speichern der Touren ermöglichen. Eventuell über .json oder .xml Datei? [FormTourenplanung.cs]
- 🔄 Testen ob Get_ArtikelKurzliste funktioniert. [FormMain.cs]
- 🔄 Testen ob Scan mit Prompt bei Suchen funktioniert. Kundenummer und Text etc. (meherere QR-Codes teseten) [FormExpedit.cs]
@ -96,5 +94,5 @@ Build-Info:
- 🔄 Wenn kunde null dann return. [FormNeuerAuftrag.cs]
- 🔄 Wenn Nachwäsche oder Müllwäsche alle Artikel anzeigen. [FormFehlmengeCount.cs]
Installation: 13.01.2026 13:06
Installation: 16.01.2026 18:12
=====================================