ProBalance/ServicesOverviewReport Unterschrift Klient im QBeleg

This commit is contained in:
Alexandra
2021-11-10 17:18:44 +01:00
parent 774db49e2b
commit 96afc19efe
2 changed files with 110 additions and 36 deletions

View File

@@ -47,7 +47,6 @@ namespace ProBalance
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
@@ -89,11 +88,15 @@ namespace ProBalance
this.fieldAbrechenbareFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.fieldFls = new DevExpress.XtraReports.UI.CalculatedField();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -115,7 +118,7 @@ namespace ProBalance
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(675F, 25F);
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(701.9999F, 40F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
this.xrTableServiceRecords1.StylePriority.UseTextAlignment = false;
@@ -128,13 +131,14 @@ namespace ProBalance
this.xrTableCell5,
this.xrTableCell9,
this.xrTableCell12,
this.xrTableCell1});
this.xrTableCell1,
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableRow2.StylePriority.UseFont = false;
this.xrTableRow2.StylePriority.UsePadding = false;
this.xrTableRow2.StylePriority.UseTextAlignment = false;
this.xrTableRow2.Weight = 1.3888865341414827D;
this.xrTableRow2.Weight = 2.2222184546263724D;
//
// xrTableCell3
//
@@ -144,7 +148,7 @@ namespace ProBalance
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Datum";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.24385918004234172D;
this.xrTableCell3.Weight = 0.18035419121208934D;
//
// xrTableCell5
//
@@ -152,7 +156,7 @@ namespace ProBalance
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Uhrzeit";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.24385917767443521D;
this.xrTableCell5.Weight = 0.20437837032948236D;
//
// xrTableCell9
//
@@ -162,7 +166,7 @@ namespace ProBalance
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "FLS";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.17070142874705552D;
this.xrTableCell9.Weight = 0.12889592927439636D;
//
// xrTableCell12
//
@@ -174,7 +178,7 @@ namespace ProBalance
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.Text = "Aktivität";
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell12.Weight = 0.24385918172244711D;
this.xrTableCell12.Weight = 0.25401999333087238D;
//
// xrTableCell1
//
@@ -182,7 +186,7 @@ namespace ProBalance
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Zusammenfassung";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.74377050242731724D;
this.xrTableCell1.Weight = 0.62742927090727874D;
//
// DetailReport
//
@@ -216,7 +220,7 @@ namespace ProBalance
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable3.SizeF = new System.Drawing.SizeF(675F, 25F);
this.xrTable3.SizeF = new System.Drawing.SizeF(701.9999F, 25F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -227,7 +231,8 @@ namespace ProBalance
this.xrTableCell6,
this.xrTableCell16,
this.xrTableCell17,
this.xrTableCell2});
this.xrTableCell2,
this.xrTableCell10});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableRow6.StylePriority.UsePadding = false;
@@ -245,7 +250,7 @@ namespace ProBalance
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "xrTableCell13";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 0.12626259853214011D;
this.xrTableCell13.Weight = 0.093381716534649092D;
//
// xrTableCell6
//
@@ -255,7 +260,7 @@ namespace ProBalance
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "xrTableCell6";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell6.Weight = 0.12626260044423482D;
this.xrTableCell6.Weight = 0.10582073098133088D;
//
// xrTableCell16
//
@@ -266,7 +271,7 @@ namespace ProBalance
this.xrTableCell16.StylePriority.UsePadding = false;
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.088383816638919477D;
this.xrTableCell16.Weight = 0.0667382465723723D;
//
// xrTableCell17
//
@@ -278,7 +283,7 @@ namespace ProBalance
this.xrTableCell17.StylePriority.UseTextAlignment = false;
this.xrTableCell17.Text = "xrTableCell17";
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell17.Weight = 0.12626259646725738D;
this.xrTableCell17.Weight = 0.13152355421541917D;
//
// xrTableCell2
//
@@ -288,11 +293,7 @@ namespace ProBalance
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.38510092147302522D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
this.xrTableCell2.Weight = 0.32486311654019812D;
//
// formattingRuleStartDate
//
@@ -470,7 +471,7 @@ namespace ProBalance
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 36.41669F;
this.bottomMarginBand1.HeightF = 36F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// ReportFooter
@@ -481,7 +482,7 @@ namespace ProBalance
this.xrLabel7,
this.xrLabel6,
this.xrLabel5});
this.ReportFooter.HeightF = 144.6458F;
this.ReportFooter.HeightF = 144.6459F;
this.ReportFooter.Name = "ReportFooter";
this.ReportFooter.StylePriority.UseFont = false;
//
@@ -496,7 +497,7 @@ namespace ProBalance
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(675F, 25F);
this.xrTable2.SizeF = new System.Drawing.SizeF(701.9999F, 25F);
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -518,7 +519,7 @@ namespace ProBalance
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.Text = "gesamt FLS (h)";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 0.25252519897637493D;
this.xrTableCell15.Weight = 0.19920244794236022D;
//
// xrTableCell18
//
@@ -529,14 +530,14 @@ namespace ProBalance
this.xrTableCell18.StylePriority.UsePadding = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell18.Weight = 0.088383816638919477D;
this.xrTableCell18.Weight = 0.0667382467001515D;
//
// xrTableCell20
//
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseTextAlignment = false;
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell20.Weight = 0.51136351794028256D;
this.xrTableCell20.Weight = 0.6204226631907146D;
//
// xrTable1
//
@@ -549,7 +550,7 @@ namespace ProBalance
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(675F, 25F);
this.xrTable1.SizeF = new System.Drawing.SizeF(701.9999F, 25F);
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
@@ -571,7 +572,7 @@ namespace ProBalance
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "gesamt FLS (min)";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 0.25252519897637493D;
this.xrTableCell7.Weight = 0.19920244794236022D;
//
// xrTableCell8
//
@@ -582,19 +583,19 @@ namespace ProBalance
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.Weight = 0.088383816638919477D;
this.xrTableCell8.Weight = 0.0667382467001515D;
//
// xrTableCell11
//
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell11.Weight = 0.51136351794028256D;
this.xrTableCell11.Weight = 0.6204226631907146D;
//
// xrLabel7
//
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(435.1247F, 126.6459F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(462.1247F, 126.6459F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(239.8753F, 17.99996F);
@@ -605,7 +606,7 @@ namespace ProBalance
// xrLabel6
//
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(180.2083F, 126.6459F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(196.875F, 126.6459F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(242.396F, 17.99996F);
@@ -667,7 +668,7 @@ namespace ProBalance
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.GroupHeader1.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.GroupHeader1.HeightF = 25F;
this.GroupHeader1.HeightF = 40F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
this.GroupHeader1.StylePriority.UseFont = false;
@@ -679,6 +680,40 @@ namespace ProBalance
this.fieldFls.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldFls.Name = "fieldFls";
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1.999982F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(116.3749F, 23F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.picSignature_BeforePrint);
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Unterschrift Klient/in";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 0.31681354618229524D;
//
// xrTableCell10
//
this.xrTableCell10.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.picSignature});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.16403602171699877D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// Stundenzettel
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -704,7 +739,7 @@ namespace ProBalance
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 220, 36);
this.Margins = new System.Drawing.Printing.Margins(75, 50, 220, 36);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
@@ -712,9 +747,9 @@ namespace ProBalance
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -780,5 +815,8 @@ namespace ProBalance
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
}
}

View File

@@ -1,6 +1,13 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace ProBalance
{
@@ -20,7 +27,11 @@ namespace ProBalance
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
{
if (s.IsBillable)
{
ServicesOverviewRO.CreateSignatureString(s);
servicesBillable.Add(s);
}
}
pRO.Services = servicesBillable;
@@ -28,5 +39,30 @@ namespace ProBalance
this.bindingSource1.DataSource = pRO;
}
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
string base64String = xrBox.Tag as string;
if (!String.IsNullOrWhiteSpace(base64String))
{
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);
Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
else
{
xrBox.Image = null;
}
}
public Image ByteArrayToImage(byte[] byteArrayIn)
{
using (var memoryStream = new MemoryStream(byteArrayIn))
{
return Image.FromStream(memoryStream);
}
}
}
}