Hierbij graag enkele voorbeeldcodes die het mogelijk maken om een commercieel beheersdocument af te printen.
Vanuit een BillingForm:
billingForm.BillingEngine.PrintPrev(MercatorUi.PrintPrevEnum.Print);
Vanuit een BillingEngine:
billingEngine.PrintPrev(MercatorUi.PrintPrevEnum.Print);
of om verschillende handelingen (afdrukvoorbeeld, afdrukken, een PDF maken) te combineren
List<MercatorUi.Reporting.OutputDescriptor> outputDescriptors = new List<MercatorUi.Reporting.OutputDescriptor>();
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorPreview()); // om een afdrukvoorbeeld te krijgen
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorPrint()); // om af te drukken
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorExport(MercatorUi.Reporting.ExportReportEnum.PDF, @"C:\invoice.pdf", MercatorUi.Reporting.ExportOpenAfterEnum.No)); // om te exporteren naar C:\invoice.pdf
DataSet dataSetPrintPrev = billingEngine.PrepareDataSetForPrint();
Dictionary<string, object> parametersPrintPrev = billingEngine.PrepareParametersForPrint();
MercatorUi.Reporting.ReportingStatic.Reporting.RunReport("TitleOfPreviewForm", "piece.repx", dataSetPrintPrev, outputDescriptors, parametersPrintPrev);
Buiten de context van BillingEngine:
string id = "...";
string journal = "...";
Int64 piece = ...;
MercatorUi.Reporting.ReportingStatic.PrintBilling(id, journal, piece, MercatorUi.PrintPrevEnum.Print);
Indien u al beschikt over informatie van het VA-type (V=verkoop, A=aankoop) en type, dan gebruikt u beter deze tweede handtekening waardoor een opdracht in DB SQL niet nodig is:
int type = ...;
string id = "...";
string journal = "...";
Int64 piece = ...;
MercatorUi.Reporting.ReportingStatic.PrintBilling(MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V, type, id, journal, piece, MercatorUi.PrintPrevEnum.Print);
of
int type = ...;
string id = "...";
string journal = "...";
Int64 piece = ...;
MercatorUi.Engine.Gescom.Tools.BillingDocDescriptor billingDocDescriptor = new MercatorUi.Engine.Gescom.Tools.BillingDocDescriptor(MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V, type, id, journal, piece);
MercatorUi.Reporting.ReportingStatic.PrintBilling(billingDocDescriptor, MercatorUi.PrintPrevEnum.Print);
Overal in de code kan MercatorUi.PrintPrevEnum.Print vervangen worden door:
of om verschillende handelingen (afdrukvoorbeeld, afdrukken, een PDF maken) te combineren
MercatorUi.Engine.Gescom.Billing.TypeVAEnum typeVA = MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V;
int type = ...;
string id = "...";
string journal = "...";
Int64 piece = ...;
using (MercatorUi.Engine.Gescom.BillingEngine billingEngine = MercatorUi.Engine.Gescom.BillingEngine.InitExisting(typeVA, type, id, journal, piece))
{
if (billingEngine.DataSet == null)
{
Api.Stop(billingEngine.LastError);
return;
}
List<MercatorUi.Reporting.OutputDescriptor> outputDescriptors = new List<MercatorUi.Reporting.OutputDescriptor>();
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorPreview()); // om een afdrukvoorbeeld te krijgen
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorPrint()); // om af te drukken
outputDescriptors.Add(new MercatorUi.Reporting.OutputDescriptorExport(MercatorUi.Reporting.ExportReportEnum.PDF, @"C:\invoice.pdf", MercatorUi.Reporting.ExportOpenAfterEnum.No)); // om te exporteren naar C:\invoice.pdf
DataSet dataSetPrintPrev = billingEngine.PrepareDataSetForPrint();
Dictionary<string, object> parametersPrintPrev = billingEngine.PrepareParametersForPrint();
MercatorUi.Reporting.ReportingStatic.Reporting.RunReport("TitleOfPreviewForm", "piece.repx", dataSetPrintPrev, outputDescriptors, parametersPrintPrev);
}
Vanaf een externe toepassing : deze pagina zien