Version 7.2.1 SR8
So far I have code which only ticks picking slips, and I've also worked out (I think) how to change the printer depending on the warehouse.
But when I activate, it prints to my default printer. I want it to print to my selected printer from code.
My code so far looks like
- Code: Select all
public void Setup(JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm JiwaForm, JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
{
if (JiwaForm is JiwaFinancials.Jiwa.JiwaManualBOBatchUI.MainForm)
{
JiwaFinancials.Jiwa.JiwaManualBOBatchUI.MainForm manualBOForm = (JiwaFinancials.Jiwa.JiwaManualBOBatchUI.MainForm)JiwaForm;
manualBOForm.ManualBOBatch.CreateEnd += ManualBOBatch_RemoveReportPrinting;
manualBOForm.ManualBOBatch.SaveStart += ManualBOBatch_CheckIfActivating;
}
}
public void ManualBOBatch_RemoveReportPrinting(object sender, System.EventArgs e)
{
JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch ManualBORelease = (JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch) sender;
foreach (JiwaFinancials.Jiwa.JiwaManualBOBatch.Report printline in ManualBORelease.Reports)
{
if (printline.ReportType != JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.SalesOrderReports.SalesOrderReportCollection.SalesOrderPrintReportTypes.e_SalesOrderPrintReportTypePickingSheet)
{
printline.PrintFlag = false;
}
}
}
private void ManualBOBatch_CheckIfActivating(object sender, System.EventArgs e)
{
JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch ManualBORelease = (JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch) sender;
if (ManualBORelease.Status == JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch.Statuses.Activated && ManualBORelease.OriginalStatus == JiwaFinancials.Jiwa.JiwaManualBOBatch.ManualBOBatch.Statuses.UnActivated)
{
//We're activating
isActivating = true;
JiwaFinancials.Jiwa.JiwaApplication.Entities.LogicalWarehouse logicalWH = ManualBORelease.Warehouse;
JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.Maintenance.LogicalPrinter targetPrinter = null;
JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.Maintenance.LogicalPrinterCollection logicalPrinters = ManualBORelease.Manager.CollectionFactory.CreateCollection<JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.Maintenance.LogicalPrinterCollection, JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.Maintenance.LogicalPrinter>();
foreach(JiwaFinancials.Jiwa.JiwaApplication.PrintGroup.Maintenance.LogicalPrinter logicalPrinter in logicalPrinters)
{
if (logicalPrinter.Description.Contains("Primo PDF") && logicalWH.Description =="QLD")
{
targetPrinter = logicalPrinter;
}
if (logicalPrinter.Description.Contains("XPS") && logicalWH.Description =="NSW")
{
targetPrinter = logicalPrinter;
}
}
foreach (JiwaFinancials.Jiwa.JiwaManualBOBatch.Report printline in ManualBORelease.Reports)
{
if (printline.PrintFlag)
{
printline.ReportDefinition.LogicalPrinter = targetPrinter;
}
}
foreach (JiwaFinancials.Jiwa.JiwaManualBOBatch.BatchLine batchLine in ManualBORelease.BatchLines)
{
if (batchLine.FulfillBackOrderFlag)
{
// Do I set the printer in here?
}
}
}
else
{
isActivating = false;
}
}