ещё раз проверить

This commit is contained in:
[USERNAME] 2024-04-04 13:52:30 +04:00
parent bad59033bf
commit 7f831ad75d
13 changed files with 862 additions and 233 deletions

View File

@ -10,12 +10,12 @@
<PackageReference Include="DocumentFormat.OpenXml" Version="3.0.2" /> <PackageReference Include="DocumentFormat.OpenXml" Version="3.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.8" /> <PackageReference Include="NLog.Extensions.Logging" Version="5.3.8" />
<PackageReference Include="PdfSharp.MigraDoc.Standard" Version="1.51.15" /> <PackageReference Include="PDFsharp-MigraDoc-GDI" Version="1.50.5147" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -27,8 +27,11 @@ WordTextProperties { Bold = true, Size = "24", }) },
{ {
CreateParagraph(new WordParagraph CreateParagraph(new WordParagraph
{ {
Texts = new List<(string, WordTextProperties)> { Texts = new List<(string, WordTextProperties)>
(component.EngineName, new WordTextProperties { Size = "24", }) }, {
(component.EngineName, new WordTextProperties { Size = "24", Bold = true}),
("\t" + component.Price.ToString(), new WordTextProperties { Size = "24"}),
},
TextProperties = new WordTextProperties TextProperties = new WordTextProperties
{ {
Size = "24", Size = "24",

View File

@ -32,28 +32,12 @@ namespace MotorPlantBusinessLogic
} }
public List<ReportEngineComponentViewModel> GetEngineComponents() public List<ReportEngineComponentViewModel> GetEngineComponents()
{ {
var components = _componentStorage.GetFullList(); return _EngineStorage.GetFullList().Select(x => new ReportEngineComponentViewModel
var Engines = _EngineStorage.GetFullList();
var list = new List<ReportEngineComponentViewModel>();
foreach (var Engine in Engines)
{ {
var record = new ReportEngineComponentViewModel EngineName = x.EngineName,
{ Components = x.EngineComponents.Select(x => (x.Value.Item1.ComponentName, x.Value.Item2)).ToList(),
EngineName = Engine.EngineName, TotalCount = x.EngineComponents.Select(x => x.Value.Item2).Sum()
Components = new List<(string Component, int Count)>(), }).ToList();
TotalCount = 0
};
foreach (var component in components)
{
if (Engine.EngineComponents.ContainsKey(component.Id))
{
record.Components.Add(new(component.ComponentName, Engine.EngineComponents[component.Id].Item2));
record.TotalCount += Engine.EngineComponents[component.Id].Item2;
}
}
list.Add(record);
}
return list;
} }
public List<ReportOrdersViewModel> GetOrders(ReportBindingModel model) public List<ReportOrdersViewModel> GetOrders(ReportBindingModel model)
{ {
@ -77,7 +61,7 @@ namespace MotorPlantBusinessLogic
_saveToWord.CreateDoc(new WordInfo _saveToWord.CreateDoc(new WordInfo
{ {
FileName = model.FileName, FileName = model.FileName,
Title = "Список ЖИ", Title = "Список двигателей",
Engines = _EngineStorage.GetFullList() Engines = _EngineStorage.GetFullList()
}); });
} }
@ -86,7 +70,7 @@ namespace MotorPlantBusinessLogic
_saveToExcel.CreateReport(new ExcelInfo _saveToExcel.CreateReport(new ExcelInfo
{ {
FileName = model.FileName, FileName = model.FileName,
Title = "Список ЖИ", Title = "Список компонентов",
EngineComponents = GetEngineComponents() EngineComponents = GetEngineComponents()
}); });
} }

View File

@ -12,6 +12,6 @@ namespace MotorPlantContracts.ViewModels
public DateTime DateCreate { get; set; } public DateTime DateCreate { get; set; }
public string EngineName { get; set; } = string.Empty; public string EngineName { get; set; } = string.Empty;
public double Sum { get; set; } public double Sum { get; set; }
public string Status { get; set; } = string.Empty; public string Status { get; set; }
} }
} }

View File

@ -32,10 +32,10 @@
toolStripDropDownButton1 = new ToolStripDropDownButton(); toolStripDropDownButton1 = new ToolStripDropDownButton();
КомпонентыToolStripMenuItem = new ToolStripMenuItem(); КомпонентыToolStripMenuItem = new ToolStripMenuItem();
ДвигателиToolStripMenuItem = new ToolStripMenuItem(); ДвигателиToolStripMenuItem = new ToolStripMenuItem();
отчетыToolStripMenuItem = new ToolStripMenuItem(); ReportsToolStripMenuItem = new ToolStripMenuItem();
списокКомпонентовToolStripMenuItem = new ToolStripMenuItem(); ListComponentsToolStripMenuItem = new ToolStripMenuItem();
компонентыПоДвигателямToolStripMenuItem = new ToolStripMenuItem(); EngineComponentsToolStripMenuItem = new ToolStripMenuItem();
списокЗаказовToolStripMenuItem = new ToolStripMenuItem(); ListOrdersToolStripMenuItem = new ToolStripMenuItem();
buttonCreateOrder = new Button(); buttonCreateOrder = new Button();
buttonTakeOrderInWork = new Button(); buttonTakeOrderInWork = new Button();
buttonOrderReady = new Button(); buttonOrderReady = new Button();
@ -49,7 +49,7 @@
// toolStrip1 // toolStrip1
// //
toolStrip1.ImageScalingSize = new Size(20, 20); toolStrip1.ImageScalingSize = new Size(20, 20);
toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1, отчетыToolStripMenuItem }); toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1, ReportsToolStripMenuItem });
toolStrip1.Location = new Point(0, 0); toolStrip1.Location = new Point(0, 0);
toolStrip1.Name = "toolStrip1"; toolStrip1.Name = "toolStrip1";
toolStrip1.Size = new Size(969, 25); toolStrip1.Size = new Size(969, 25);
@ -68,41 +68,44 @@
// КомпонентыToolStripMenuItem // КомпонентыToolStripMenuItem
// //
КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem"; КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem";
КомпонентыToolStripMenuItem.Size = new Size(145, 22); КомпонентыToolStripMenuItem.Size = new Size(180, 22);
КомпонентыToolStripMenuItem.Text = "Компоненты"; КомпонентыToolStripMenuItem.Text = "Компоненты";
КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click; КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click;
// //
// ДвигателиToolStripMenuItem // ДвигателиToolStripMenuItem
// //
ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem"; ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem";
ДвигателиToolStripMenuItem.Size = new Size(145, 22); ДвигателиToolStripMenuItem.Size = new Size(180, 22);
ДвигателиToolStripMenuItem.Text = "Двигатели"; ДвигателиToolStripMenuItem.Text = "Двигатели";
ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click; ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click;
// //
// отчетыToolStripMenuItem // ReportsToolStripMenuItem
// //
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокКомпонентовToolStripMenuItem, компонентыПоДвигателямToolStripMenuItem, списокЗаказовToolStripMenuItem }); ReportsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ListComponentsToolStripMenuItem, EngineComponentsToolStripMenuItem, ListOrdersToolStripMenuItem });
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem";
отчетыToolStripMenuItem.Size = new Size(60, 25); ReportsToolStripMenuItem.Size = new Size(60, 25);
отчетыToolStripMenuItem.Text = "Отчеты"; ReportsToolStripMenuItem.Text = "Отчеты";
// //
// списокКомпонентовToolStripMenuItem // ListComponentsToolStripMenuItem
// //
списокКомпонентовToolStripMenuItem.Name = "списокКомпонентовToolStripMenuItem"; ListComponentsToolStripMenuItem.Name = "ListComponentsToolStripMenuItem";
списокКомпонентовToolStripMenuItem.Size = new Size(228, 22); ListComponentsToolStripMenuItem.Size = new Size(228, 22);
списокКомпонентовToolStripMenuItem.Text = "Список компонентов"; ListComponentsToolStripMenuItem.Text = "Список компонентов";
ListComponentsToolStripMenuItem.Click += списокКомпонентовToolStripMenuItem_Click;
// //
// компонентыПоДвигателямToolStripMenuItem // EngineComponentsToolStripMenuItem
// //
компонентыПоДвигателямToolStripMenuItem.Name = омпонентыПоДвигателямToolStripMenuItem"; EngineComponentsToolStripMenuItem.Name = "EngineComponentsToolStripMenuItem";
компонентыПоДвигателямToolStripMenuItem.Size = new Size(228, 22); EngineComponentsToolStripMenuItem.Size = new Size(228, 22);
компонентыПоДвигателямToolStripMenuItem.Text = "Компоненты по двигателям"; EngineComponentsToolStripMenuItem.Text = "Компоненты по двигателям";
EngineComponentsToolStripMenuItem.Click += компонентыПоДвигателямToolStripMenuItem_Click;
// //
// списокЗаказовToolStripMenuItem // ListOrdersToolStripMenuItem
// //
списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem"; ListOrdersToolStripMenuItem.Name = "ListOrdersToolStripMenuItem";
списокЗаказовToolStripMenuItem.Size = new Size(228, 22); ListOrdersToolStripMenuItem.Size = new Size(228, 22);
списокЗаказовToolStripMenuItem.Text = "Список заказов"; ListOrdersToolStripMenuItem.Text = "Список заказов";
ListOrdersToolStripMenuItem.Click += списокЗаказовToolStripMenuItem_Click;
// //
// buttonCreateOrder // buttonCreateOrder
// //
@ -200,9 +203,9 @@
private ToolStripDropDownButton toolStripDropDownButton1; private ToolStripDropDownButton toolStripDropDownButton1;
private ToolStripMenuItem КомпонентыToolStripMenuItem; private ToolStripMenuItem КомпонентыToolStripMenuItem;
private ToolStripMenuItem ДвигателиToolStripMenuItem; private ToolStripMenuItem ДвигателиToolStripMenuItem;
private ToolStripMenuItem отчетыToolStripMenuItem; private ToolStripMenuItem ReportsToolStripMenuItem;
private ToolStripMenuItem списокКомпонентовToolStripMenuItem; private ToolStripMenuItem ListComponentsToolStripMenuItem;
private ToolStripMenuItem компонентыПоДвигателямToolStripMenuItem; private ToolStripMenuItem EngineComponentsToolStripMenuItem;
private ToolStripMenuItem списокЗаказовToolStripMenuItem; private ToolStripMenuItem ListOrdersToolStripMenuItem;
} }
} }

View File

@ -28,69 +28,70 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
SaveButton = new Button(); ButtonSaveToExcel = new Button();
dataGridView = new DataGridView(); dataGridView = new DataGridView();
ComponentColumn = new DataGridViewTextBoxColumn(); Component = new DataGridViewTextBoxColumn();
EngineColumn = new DataGridViewTextBoxColumn(); Engine = new DataGridViewTextBoxColumn();
CountColumn = new DataGridViewTextBoxColumn(); Count = new DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
SuspendLayout(); SuspendLayout();
// //
// SaveButton // buttonSaveToExcel
// //
SaveButton.Location = new Point(12, 12); ButtonSaveToExcel.Location = new Point(12, 12);
SaveButton.Name = "SaveButton"; ButtonSaveToExcel.Name = "ButtonSaveToExcel";
SaveButton.Size = new Size(128, 23); ButtonSaveToExcel.Size = new Size(150, 30);
SaveButton.TabIndex = 0; ButtonSaveToExcel.TabIndex = 0;
SaveButton.Text = "Сохранить в Excel"; ButtonSaveToExcel.Text = "Сохранить в Excel";
SaveButton.UseVisualStyleBackColor = true; ButtonSaveToExcel.UseVisualStyleBackColor = true;
ButtonSaveToExcel.Click += ButtonSaveToExcel_Click;
// //
// dataGridView // dataGridView
// //
dataGridView.BackgroundColor = SystemColors.ButtonHighlight;
dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView.Columns.AddRange(new DataGridViewColumn[] { ComponentColumn, EngineColumn, CountColumn }); dataGridView.Columns.AddRange(new DataGridViewColumn[] { Component, Engine, Count });
dataGridView.Location = new Point(12, 46); dataGridView.Location = new Point(12, 48);
dataGridView.Name = "dataGridView"; dataGridView.Name = "dataGridView";
dataGridView.Size = new Size(570, 392); dataGridView.RowTemplate.Height = 25;
dataGridView.Size = new Size(560, 501);
dataGridView.TabIndex = 1; dataGridView.TabIndex = 1;
// //
// ComponentColumn // Component
// //
ComponentColumn.HeaderText = "Компонент"; Component.HeaderText = "Компонент";
ComponentColumn.Name = "ComponentColumn"; Component.Name = "Component";
ComponentColumn.Width = 200;
// //
// EngineColumn // Computer
// //
EngineColumn.HeaderText = "Изделие"; Engine.HeaderText = "Двигатель";
EngineColumn.Name = "EngineColumn"; Engine.Name = "Engine";
EngineColumn.Width = 200;
// //
// CountColumn // Count
// //
CountColumn.HeaderText = "Количество"; Count.HeaderText = "Количество";
CountColumn.Name = "CountColumn"; Count.Name = "Count";
CountColumn.Width = 200;
// //
// FormReportEngineComponents // FormReportComputerComponents
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(594, 450); ClientSize = new Size(584, 561);
Controls.Add(dataGridView); Controls.Add(dataGridView);
Controls.Add(SaveButton); Controls.Add(ButtonSaveToExcel);
Name = "FormReportEngineComponents"; Name = "FormReportEngineComponents";
Text = "Компоненты по изделиям"; Text = "Компоненты по изделиям";
Load += FormReportEngineComponents_Load;
((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
ResumeLayout(false); ResumeLayout(false);
} }
#endregion #endregion
private Button SaveButton; private Button ButtonSaveToExcel;
private DataGridView dataGridView; private DataGridView dataGridView;
private DataGridViewTextBoxColumn ComponentColumn; private DataGridViewTextBoxColumn Component;
private DataGridViewTextBoxColumn EngineColumn; private DataGridViewTextBoxColumn Engine;
private DataGridViewTextBoxColumn CountColumn; private DataGridViewTextBoxColumn Count;
} }
} }

View File

@ -17,14 +17,12 @@ namespace MotorPlantView.Forms
{ {
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IReportLogic _logic; private readonly IReportLogic _logic;
public FormReportEngineComponents(ILogger<FormReportEngineComponents> logger, IReportLogic logic) public FormReportEngineComponents(ILogger<FormReportEngineComponents> logger, IReportLogic logic)
{ {
InitializeComponent(); InitializeComponent();
_logger = logger; _logger = logger;
_logic = logic; _logic = logic;
} }
private void FormReportEngineComponents_Load(object sender, EventArgs e) private void FormReportEngineComponents_Load(object sender, EventArgs e)
{ {
try try
@ -35,12 +33,27 @@ namespace MotorPlantView.Forms
dataGridView.Rows.Clear(); dataGridView.Rows.Clear();
foreach (var elem in dict) foreach (var elem in dict)
{ {
dataGridView.Rows.Add(new object[] { elem.EngineName, "", "" }); dataGridView.Rows.Add(new object[]
{
elem.EngineName,
"",
""
});
foreach (var listElem in elem.Components) foreach (var listElem in elem.Components)
{ {
dataGridView.Rows.Add(new object[] { "", listElem.Item1, listElem.Item2 }); dataGridView.Rows.Add(new object[]
{
"",
listElem.Item1,
listElem.Item2,
});
} }
dataGridView.Rows.Add(new object[] { "Итого", "", elem.TotalCount }); dataGridView.Rows.Add(new object[]
{
"Итого:",
"",
elem.TotalCount
});
dataGridView.Rows.Add(Array.Empty<object>()); dataGridView.Rows.Add(Array.Empty<object>());
} }
} }
@ -52,17 +65,19 @@ namespace MotorPlantView.Forms
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void ButtonSaveToExcel_Click(object sender, EventArgs e) private void ButtonSaveToExcel_Click(object sender, EventArgs e)
{ {
using var dialog = new SaveFileDialog { Filter = "xlsx|*.xlsx" }; using var dialog = new SaveFileDialog
{
Filter = "xlsx|*.xlsx"
};
if (dialog.ShowDialog() == DialogResult.OK) if (dialog.ShowDialog() == DialogResult.OK)
{ {
try try
{ {
_logic.SaveEngineComponentToExcelFile(new ReportBindingModel _logic.SaveEngineComponentToExcelFile(new ReportBindingModel
{ {
FileName = dialog.FileName FileName = dialog.FileName,
}); });
_logger.LogInformation("Сохранение списка изделий по компонентам"); _logger.LogInformation("Сохранение списка изделий по компонентам");
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);

View File

@ -126,13 +126,4 @@
<metadata name="CountColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="CountColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="ComponentColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EngineColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CountColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>

View File

@ -28,110 +28,102 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.panel = new System.Windows.Forms.Panel(); panel = new Panel();
this.buttonCreateToPdf = new System.Windows.Forms.Button(); buttonToPdf = new Button();
this.buttonCreateReport = new System.Windows.Forms.Button(); buttonMake = new Button();
this.label2 = new System.Windows.Forms.Label(); dateTimePickerTo = new DateTimePicker();
this.label1 = new System.Windows.Forms.Label(); labelTo = new Label();
this.dateTimePickerEnd = new System.Windows.Forms.DateTimePicker(); dateTimePickerFrom = new DateTimePicker();
this.dateTimePickerStart = new System.Windows.Forms.DateTimePicker(); labelFrom = new Label();
this.panel.SuspendLayout(); panel.SuspendLayout();
this.SuspendLayout(); SuspendLayout();
// //
// panel // panel
// //
this.panel.Controls.Add(this.buttonCreateToPdf); panel.Controls.Add(buttonToPdf);
this.panel.Controls.Add(this.buttonCreateReport); panel.Controls.Add(buttonMake);
this.panel.Controls.Add(this.label2); panel.Controls.Add(dateTimePickerTo);
this.panel.Controls.Add(this.label1); panel.Controls.Add(labelTo);
this.panel.Controls.Add(this.dateTimePickerEnd); panel.Controls.Add(dateTimePickerFrom);
this.panel.Controls.Add(this.dateTimePickerStart); panel.Controls.Add(labelFrom);
this.panel.Dock = System.Windows.Forms.DockStyle.Top; panel.Location = new Point(0, 0);
this.panel.Location = new System.Drawing.Point(0, 0); panel.Name = "panel";
this.panel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); panel.Size = new Size(785, 40);
this.panel.Name = "panel"; panel.TabIndex = 0;
this.panel.Size = new System.Drawing.Size(861, 56);
this.panel.TabIndex = 0;
// //
// buttonCreateToPdf // buttonToPdf
// //
this.buttonCreateToPdf.Location = new System.Drawing.Point(684, 29); buttonToPdf.Location = new Point(580, 5);
this.buttonCreateToPdf.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonToPdf.Name = "buttonToPdf";
this.buttonCreateToPdf.Name = "buttonCreateToPdf"; buttonToPdf.Size = new Size(100, 23);
this.buttonCreateToPdf.Size = new System.Drawing.Size(166, 23); buttonToPdf.TabIndex = 5;
this.buttonCreateToPdf.TabIndex = 5; buttonToPdf.Text = "В Pdf";
this.buttonCreateToPdf.Text = "PDF"; buttonToPdf.UseVisualStyleBackColor = true;
this.buttonCreateToPdf.UseVisualStyleBackColor = true; buttonToPdf.Click += buttonToPdf_Click;
this.buttonCreateToPdf.Click += new System.EventHandler(this.buttonCreateToPdf_Click);
// //
// buttonCreateReport // buttonMake
// //
this.buttonCreateReport.Location = new System.Drawing.Point(485, 29); buttonMake.Location = new Point(474, 5);
this.buttonCreateReport.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); buttonMake.Name = "buttonMake";
this.buttonCreateReport.Name = "buttonCreateReport"; buttonMake.Size = new Size(100, 23);
this.buttonCreateReport.Size = new System.Drawing.Size(166, 23); buttonMake.TabIndex = 4;
this.buttonCreateReport.TabIndex = 4; buttonMake.Text = "Сформировать";
this.buttonCreateReport.Text = "Сформировать"; buttonMake.UseVisualStyleBackColor = true;
this.buttonCreateReport.UseVisualStyleBackColor = true; buttonMake.Click += buttonMake_Click;
this.buttonCreateReport.Click += new System.EventHandler(this.buttonCreateReport_Click);
// //
// label2 // dateTimePickerTo
// //
this.label2.AutoSize = true; dateTimePickerTo.Location = new Point(268, 3);
this.label2.Location = new System.Drawing.Point(323, 7); dateTimePickerTo.Name = "dateTimePickerTo";
this.label2.Name = "label2"; dateTimePickerTo.Size = new Size(200, 23);
this.label2.Size = new System.Drawing.Size(44, 15); dateTimePickerTo.TabIndex = 3;
this.label2.TabIndex = 3;
this.label2.Text = "Конец:";
// //
// label1 // labelTo
// //
this.label1.AutoSize = true; labelTo.AutoSize = true;
this.label1.Location = new System.Drawing.Point(76, 4); labelTo.Location = new Point(239, 9);
this.label1.Name = "label1"; labelTo.Name = "labelTo";
this.label1.Size = new System.Drawing.Size(52, 15); labelTo.Size = new Size(23, 15);
this.label1.TabIndex = 2; labelTo.TabIndex = 2;
this.label1.Text = "Начало:"; labelTo.Text = "По";
// //
// dateTimePickerEnd // dateTimePickerFrom
// //
this.dateTimePickerEnd.Location = new System.Drawing.Point(269, 29); dateTimePickerFrom.Location = new Point(33, 3);
this.dateTimePickerEnd.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); dateTimePickerFrom.Name = "dateTimePickerFrom";
this.dateTimePickerEnd.Name = "dateTimePickerEnd"; dateTimePickerFrom.Size = new Size(200, 23);
this.dateTimePickerEnd.Size = new System.Drawing.Size(164, 23); dateTimePickerFrom.TabIndex = 1;
this.dateTimePickerEnd.TabIndex = 1;
// //
// dateTimePickerStart // labelFrom
// //
this.dateTimePickerStart.Location = new System.Drawing.Point(31, 29); labelFrom.AutoSize = true;
this.dateTimePickerStart.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); labelFrom.Location = new Point(12, 9);
this.dateTimePickerStart.Name = "dateTimePickerStart"; labelFrom.Name = "labelFrom";
this.dateTimePickerStart.Size = new System.Drawing.Size(164, 23); labelFrom.Size = new Size(15, 15);
this.dateTimePickerStart.TabIndex = 0; labelFrom.TabIndex = 1;
labelFrom.Text = "C";
// //
// FormReportOrders // FormReportOrders
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(861, 338); ClientSize = new Size(784, 361);
this.Controls.Add(this.panel); Controls.Add(panel);
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); Name = "FormReportOrders";
this.Name = "FormReportOrders"; Text = "Заказы";
this.Text = "Заказы"; panel.ResumeLayout(false);
this.panel.ResumeLayout(false); panel.PerformLayout();
this.panel.PerformLayout(); ResumeLayout(false);
this.ResumeLayout(false);
} }
#endregion #endregion
private Panel panel; private Panel panel;
private DateTimePicker dateTimePickerEnd; private Label labelFrom;
private DateTimePicker dateTimePickerStart; private Button buttonToPdf;
private Button buttonCreateToPdf; private Button buttonMake;
private Button buttonCreateReport; private DateTimePicker dateTimePickerTo;
private Label label2; private Label labelTo;
private Label label1; private DateTimePicker dateTimePickerFrom;
} }
} }

View File

@ -19,7 +19,6 @@ namespace MotorPlantView.Forms
private readonly ReportViewer reportViewer; private readonly ReportViewer reportViewer;
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IReportLogic _logic; private readonly IReportLogic _logic;
public FormReportOrders(ILogger<FormReportOrders> logger, IReportLogic logic) public FormReportOrders(ILogger<FormReportOrders> logger, IReportLogic logic)
{ {
InitializeComponent(); InitializeComponent();
@ -29,15 +28,15 @@ namespace MotorPlantView.Forms
{ {
Dock = DockStyle.Fill Dock = DockStyle.Fill
}; };
reportViewer.LocalReport.LoadReportDefinition(new FileStream("C:\\Users\\goldfest\\Desktop\\EngineCompany\\PrecastConcretePlant\\PrecastConcretePlantView\\ReportOrders.rdlc", FileMode.Open)); var path = Directory.GetParent(Directory.GetCurrentDirectory())?.Parent?.Parent?.ToString() + "\\ReportOrders.rdlc";
reportViewer.LocalReport.LoadReportDefinition(new FileStream(path, FileMode.Open));
Controls.Clear(); Controls.Clear();
Controls.Add(reportViewer);
Controls.Add(panel); Controls.Add(panel);
Controls.Add(reportViewer);
} }
private void buttonMake_Click(object sender, EventArgs e)
private void buttonCreateReport_Click(object sender, EventArgs e)
{ {
if (dateTimePickerStart.Value.Date >= dateTimePickerEnd.Value.Date) if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
{ {
MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
@ -46,29 +45,35 @@ namespace MotorPlantView.Forms
{ {
var dataSource = _logic.GetOrders(new ReportBindingModel var dataSource = _logic.GetOrders(new ReportBindingModel
{ {
DateFrom = dateTimePickerStart.Value, DateFrom = dateTimePickerFrom.Value,
DateTo = dateTimePickerEnd.Value DateTo = dateTimePickerTo.Value
}); });
double sum = 0;
foreach (var order in dataSource)
{
sum += order.Sum;
}
var source = new ReportDataSource("DataSetOrders", dataSource); var source = new ReportDataSource("DataSetOrders", dataSource);
reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.DataSources.Clear();
reportViewer.LocalReport.DataSources.Add(source); reportViewer.LocalReport.DataSources.Add(source);
var parameters = new[] { new ReportParameter("ReportParameterPeriod", $"c{dateTimePickerStart.Value.ToShortDateString()} по {dateTimePickerEnd.Value.ToShortDateString()}") }; var parameters = new[] { new ReportParameter("ReportParameterPeriod",
$"c {dateTimePickerFrom.Value.ToShortDateString()} по {dateTimePickerTo.Value.ToShortDateString()}"),
new ReportParameter("ReportParameterSum", sum.ToString())
};
reportViewer.LocalReport.SetParameters(parameters); reportViewer.LocalReport.SetParameters(parameters);
reportViewer.RefreshReport(); reportViewer.RefreshReport();
_logger.LogInformation("Загрузка списка заказов на период {From}-{ To}", dateTimePickerStart.Value.ToShortDateString(), dateTimePickerEnd.Value.ToShortDateString()); _logger.LogInformation("Загрузка списка заказов на период {From}-{ To}",
dateTimePickerFrom.Value.ToShortDateString(), dateTimePickerTo.Value.ToShortDateString());
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Ошибка загрузки списка заказов на период"); _logger.LogError(ex, "Ошибка загрузки списка заказов на период");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBoxIcon.Error);
} }
} }
private void buttonToPdf_Click(object sender, EventArgs e)
private void buttonCreateToPdf_Click(object sender, EventArgs e)
{ {
if (dateTimePickerStart.Value.Date >= dateTimePickerEnd.Value.Date) if (dateTimePickerFrom.Value.Date >= dateTimePickerTo.Value.Date)
{ {
MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Дата начала должна быть меньше даты окончания", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
@ -84,10 +89,11 @@ namespace MotorPlantView.Forms
_logic.SaveOrdersToPdfFile(new ReportBindingModel _logic.SaveOrdersToPdfFile(new ReportBindingModel
{ {
FileName = dialog.FileName, FileName = dialog.FileName,
DateFrom = dateTimePickerStart.Value, DateFrom = dateTimePickerFrom.Value,
DateTo = dateTimePickerEnd.Value DateTo = dateTimePickerTo.Value
}); });
_logger.LogInformation("Сохранение списка заказов на период { From} -{ To}", dateTimePickerStart.Value.ToShortDateString(), dateTimePickerEnd.Value.ToShortDateString()); _logger.LogInformation("Сохранение списка заказов на период { From} -{ To}",
dateTimePickerFrom.Value.ToShortDateString(), dateTimePickerTo.Value.ToShortDateString());
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
catch (Exception ex) catch (Exception ex)

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
@ -26,36 +26,36 @@
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows7.0</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
@ -14,6 +14,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />

View File

@ -0,0 +1,633 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="MotorPlantContractsViewModels">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>10791c83-cee8-4a38-bbd0-245fc17cefb3</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSetOrders">
<Query>
<DataSourceName>MotorPlantContractsViewModels</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Id">
<DataField>Id</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="DateCreate">
<DataField>DateCreate</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="EngineName">
<DataField>EngineName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Sum">
<DataField>Sum</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Status">
<DataField>Status</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>MotorPlantContracts.ViewModels</rd:DataSetName>
<rd:TableName>ReportOrdersViewModel</rd:TableName>
<rd:ObjectDataSourceType>MotorPlantContracts.ViewModels.ReportOrdersViewModel, MotorPlantContracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Textbox Name="TextboxText">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Заказы</Value>
<Style />
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Height>0.6cm</Height>
<Width>21.71934cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Tablix Name="Tablix">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>5.50333cm</Width>
</TablixColumn>
<TablixColumn>
<Width>5.50333cm</Width>
</TablixColumn>
<TablixColumn>
<Width>6.82331cm</Width>
</TablixColumn>
<TablixColumn>
<Width>6.1195cm</Width>
</TablixColumn>
<TablixColumn>
<Width>5.17229cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>1.235cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Номер</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Дата создания</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Изделие</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Сумма</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox10</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Статус</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>1.235cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Id.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="DateCreate">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!DateCreate.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>DateCreate</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="EngineName">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!EngineName.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>EngineName</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Sum">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Sum.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Status">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Status.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<rd:Selected>true</rd:Selected>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Подробности" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>DataSetOrders</DataSetName>
<Top>2.34103cm</Top>
<Left>0.42333cm</Left>
<Height>2.47cm</Height>
<Width>29.12176cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="TextboxConcret">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!ReportParameterPeriod.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Top>0.77639cm</Top>
<Height>0.70583cm</Height>
<Width>21.71934cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="TextboxAll">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Итого:</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Top>5.9182cm</Top>
<Left>13.96154cm</Left>
<Height>0.6cm</Height>
<Width>2.5cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="TextboxSumm">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!ReportParameterSum.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Top>5.9182cm</Top>
<Left>16.46154cm</Left>
<Height>0.6cm</Height>
<Width>4.45792cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2.81911in</Height>
<Style />
</Body>
<Width>11.94443in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="ReportParameterPeriod">
<DataType>String</DataType>
<Nullable>true</Nullable>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="ReportParameterSum">
<DataType>String</DataType>
<Nullable>true</Nullable>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>ReportParameterPeriod</ParameterName>
</CellDefinition>
<CellDefinition>
<ColumnIndex>1</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>ReportParameterSum</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>4c3715b9-dfef-4df9-b6c8-48eefa088c10</rd:ReportID>
</Report>