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

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

@ -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>