Example #1
0
		public static void printOpenOrders(Main frmMain, string sCompanyName, string sReportHeader, DataSet dsOpenOrder)
		{
			using (Solsage_Process_Management_System.Documents.crOpenOrder reportOpenOrder = new Solsage_Process_Management_System.Documents.crOpenOrder())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{
					reportOpenOrder.SetDataSource(dsOpenOrder.Tables["OpenOrder"]);

					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportOpenOrder.DataDefinition.FormulaFields)
					{
						switch (forReport.FormulaName)
						{
							case "{@sCompanyName}":
								forReport.Text = "'" + sCompanyName + "'";
								break;
							case "{@sReportHeading}":
								forReport.Text = "'" + sReportHeader + "'";
								break;
						}
					}

					frmPrint.crystalReportViewer1.ReportSource = reportOpenOrder;
					frmPrint.printThisDocument();
				}
			}
		}
Example #2
0
		public static void printAssetCosts(Main frmMain, DateTime dFromDate, DateTime dToDate,string sCompanyName,string sReportHeader, DataSet dsAssetCosts)
		{
			using (Solsage_Process_Management_System.Documents.crAssetCosting reportAssetCost = new Solsage_Process_Management_System.Documents.crAssetCosting())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{                    
					reportAssetCost.SetDataSource(dsAssetCosts.Tables["Costs"]);

					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportAssetCost.DataDefinition.FormulaFields)
					{
						switch (forReport.FormulaName)
						{
							case "{@FromDate}":
								forReport.Text = "'" + dFromDate.ToString("yyyy-MM-dd") + "'";
								break;
							case "{@ToDate}":
								forReport.Text = "'" + dToDate.ToString("yyyy-MM-dd") + "'";
								break;
							case "{@sCompanyName}":
								forReport.Text = "'" + sCompanyName + "'";
								break;
							case "{@sReportHeading}":
								forReport.Text = "'" + sReportHeader + "'";
								break;
						}
					}

					frmPrint.crystalReportViewer1.ReportSource = reportAssetCost;
					frmPrint.printThisDocument();
				}
			}
		}
Example #3
0
		public static void printAvgCustTurnover18(DataTable dtCustTurnover)
		{

			using (Solsage_Process_Management_System.Documents.avgSalesPerCust18 reportAvgSalesPerCust = new Solsage_Process_Management_System.Documents.avgSalesPerCust18())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{
					reportAvgSalesPerCust.SetDataSource(dtCustTurnover);
					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportAvgSalesPerCust.DataDefinition.FormulaFields)
					{

						switch (forReport.FormulaName)
						{
							case "{@sGlobCompanyName}":
								forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
								break;
							case "{@sGlobCompanyRegName}":
								forReport.Text = "'" + Global.sRegName.Trim() + "'";
								break;
							case "{@sGlobTel}":
								forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
								break;
							case "{@sGlobFax}":
								forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
								break;
							case "{@sGlobPost1}":
								forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
								break;
							case "{@sGlobPost2}":
								forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
								break;
							case "{@sGlobPost3}":
								forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
								break;
							case "{@sGlobAdd1}":
								forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
								break;
							case "{@sGlobAdd2}":
								forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
								break;
							case "{@sGlobAdd3}":
								forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
								break;
							case "{@CompanyCell}":
								forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
								break;

							//case "{@sCustomer}":
							//    forReport.Text = "'" + sCustomer + "'";
							//    break;
							//case "{@sCustCode}":
							//    forReport.Text = "'" + sCustCode + "'";
							//    break;
							//case "{@sCustPhone}":
							//    forReport.Text = "'" + sCustPhone + "'";
							//    break;
							//case "{@sCustFax}":
							//    forReport.Text = "'" + sCustFax + "'";
							//    break;
							//case "{@sCustContact}":
							//    forReport.Text = "'" + sCustContact + "'";
							//    break;

						}

					}

					frmPrint.crystalReportViewer1.ReportSource = reportAvgSalesPerCust;
					//   frmPrint.printThisDocument();
					frmPrint.ShowDialog();

				}
			}
		}
Example #4
0
		public static void printGoodsReturned(Main frmMain, string sSalesCode, string sUserCode, string sAssetNumber, string sReference, string sDocName, DataTable dtReturnedItems)
		{
			using (Solsage_Process_Management_System.Documents.crGoodsReturned reportGoodsRet = new Solsage_Process_Management_System.Documents.crGoodsReturned())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{
					reportGoodsRet.SetDataSource(dtReturnedItems);

					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportGoodsRet.DataDefinition.FormulaFields)
					{
						switch (forReport.FormulaName)
						{
							case "{@sGlobCompanyName}":
								forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
								break;
							case "{@sGlobCompanyRegName}":
								forReport.Text = "'" + Global.sRegName.Trim() + "'";
								break;
							case "{@sGlobTel}":
								forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
								break;
							case "{@sGlobFax}":
								forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
								break;
							case "{@sGlobPost1}":
								forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
								break;
							case "{@sGlobPost2}":
								forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
								break;
							case "{@sGlobPost3}":
								forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
								break;
							case "{@sDocName}":
								forReport.Text = "'" + sDocName + "'";
								break;

							case "{@sSalesCode}":
								forReport.Text = "'" + sSalesCode + "'";
								break;
							case "{@sUserCode}":
								forReport.Text = "'" + sUserCode + "'";
								break;
							case "{@sAssetNumber}":
								forReport.Text = "'" + sAssetNumber + "'";
								break;
							case "{@sReference}":
								forReport.Text = "'" + sReference + "'";
								break;
						}
					}
					frmPrint.crystalReportViewer1.ReportSource = reportGoodsRet;
					frmPrint.printThisDocument();
				}
			}
		}
Example #5
0
		public static void printGoodsIssue(Main frmMain, string sDocumentNumber, string sMessage01, string sMessage02, string sDocName)
		{
			using (Solsage_Process_Management_System.Documents.GoodsIssues reportDelivery = new Solsage_Process_Management_System.Documents.GoodsIssues())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{
					frmPrint.crystalReportViewer1.SelectionFormula = "{SOLAL.DocumentNumber} = \"" + sDocumentNumber + "\" and {SOLAL.Quantity} > 0";
					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
					{
						switch (forReport.FormulaName)
						{
							case "{@sGlobCompanyName}":
								forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
								break;
							case "{@sGlobCompanyRegName}":
								forReport.Text = "'" + Global.sRegName.Trim() + "'";
								break;
							case "{@sGlobVat}":
								forReport.Text = "'" + Global.sVAT.Trim() + "'";
								break;
							case "{@sGlobReg}":
								forReport.Text = "'" + Global.sReg.Trim() + "'";
								break;
							case "{@sGlobTel}":
								forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
								break;
							case "{@sGlobFax}":
								forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
								break;
							case "{@sGlobPost1}":
								forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
								break;
							case "{@sGlobPost2}":
								forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
								break;
							case "{@sGlobPost3}":
								forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
								break;
							case "{@sGlobAdd1}":
								forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
								break;
							case "{@sGlobAdd2}":
								forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
								break;
							case "{@sGlobAdd3}":
								forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
								break;
							case "{@sInvoiceMessage01}":
								forReport.Text = sMessage01;
								break;
							case "{@sInvoiceMessage02}":
								forReport.Text = sMessage02;
								break;
							case "{@sDocName}":
								forReport.Text = "'" + sDocName + "'";
								break;
						}
					}
					frmPrint.crystalReportViewer1.ReportSource = reportDelivery;
					frmPrint.printThisDocument();
				}
			}
		}
Example #6
0
		public static void printDeliveryNote(Main frmMain, string sDocumentNumber, string sMessage01, string sMessage02, string sCoordinates, string sCollected, bool bFirstPrint, bool sendToDepot, PrintDialog pdPrintDetails)
		{
			using (PsqlConnection oPastelConn = new PsqlConnection(Connect.sPastelConnStr))
			{
				using (PsqlConnection oLiquidConn = new PsqlConnection(Connect.sConnStr))
				{
					ReportClass reportDelivery = null;
					
					oPastelConn.Open();
					string sSql = "";
					if (Global.sDeliveryNoteTemplate == "Talisman - Thubatse")
					{

						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_Thubatse();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage, UserDefined05 ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "' and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								drRow["DiscountCode"] = rdReader["UserDefined05"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions.Trim();


								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;

								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
								}
								dtDelivery.Rows.Add(drRow);

							}
							rdReader.Close();
						}

						//extObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02)reportDelivery).Section5.ReportObjects["txtConditions"];
						//if (txtDeliveryMessage != null)
						//{
						//    txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						//}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}
					else if (Global.sDeliveryNoteTemplate == "Talisman - Lydenburg; Phalaborwa; Thubatse; Wonderboom")
					{
						
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage, UserDefined05 ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "' and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";				
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();						
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];					
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								drRow["DiscountCode"] = rdReader["UserDefined05"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions.Trim();
								
															
								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;

								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
										
									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}

									}
								}
								dtDelivery.Rows.Add(drRow);

							}
							rdReader.Close();
						}

						//extObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Del_02)reportDelivery).Section5.ReportObjects["txtConditions"];
						//if (txtDeliveryMessage != null)
						//{
						//    txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						//}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}
					else if (Global.sDeliveryNoteTemplate == "Kings Hire")
					{
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Site();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "'  and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";
						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								//get salesman name from solus 06/13/2011
								string sSqlUs = "Select UserName from SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
								string sUserName = Connect.getDataCommand(sSqlUs, oLiquidConn).ExecuteScalar().ToString();
								drRow["SalesmanCode"] = sUserName;
								
								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 TelephoneNumber From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["TelephoneNumber"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["TelephoneNumber"] = "";
									}

									oConn.Dispose();
								}

								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 Shortname From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["ShortName"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["ShortName"] = "";
									}

									oConn.Dispose();
								}

								using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
								{
									oConn.Open();
									if (rdReader["SalesmanCode"].ToString().Trim() != "")
									{
										sSql = "Select top 1 Description From SOLUS where Code = '" + rdReader["SalesmanCode"].ToString() + "'";
										drRow["SalesmanName"] = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteScalar().ToString();
									}
									else
									{
										drRow["SalesmanName"] = "";
									}

									oConn.Dispose();
								}
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["LineDiscount"] = rdReader["DiscountPercentage"];
								if (rdReader["ItemCode"].ToString().Trim() != "'" && !rdReader["ItemCode"].ToString().Trim().StartsWith("*D"))
								{
									if (rdReader["UserDefNum01"].ToString() == "1")
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aMultiplierRet[0];
										if (aMultiplierRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
									else
									{
										sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
								}
								dtDelivery.Rows.Add(drRow);
							}
							rdReader.Close();
						}

						TextObject txtDeliveryMessage = (TextObject)((Solsage_Process_Management_System.Documents.Templates.Delivery.Site)reportDelivery).Section5.ReportObjects["txtConditions"];
						if (txtDeliveryMessage != null)
						{
							txtDeliveryMessage.Text = txtDeliveryMessage.Text.Replace("<Company>", Global.sDeliveryNoteCompany);
						}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							}
						}
					}

					else if (Global.sDeliveryNoteTemplate == "Talisman - Faerie Glenn")
					{
						reportDelivery = new Solsage_Process_Management_System.Documents.Templates.Delivery.Del_01();
						sSql = "Select HistoryHeader.DocumentNumber, HistoryHeader.CustomerCode, HistoryHeader.DocumentDate, HistoryHeader.SalesmanCode, DelAddress01, DelAddress02, DelAddress03, DelAddress04, DelAddress05, HistoryLines.ItemCode, UnitUsed, HistoryLines.Description, Qty, UnitPrice ";
						sSql += ",LinkNum, CustomerDesc, PostAddress01,PostAddress02,PostAddress03,PostAddress04,PostAddress05, OrderNumber,UserDefNum01, UserDefNum02, DiscountPercentage ";
						sSql += " From HistoryHeader Left Join HistoryLines on HistoryHeader.DocumentNumber = HistoryLines.DocumentNumber ";
						sSql += " Left Join CustomerMaster on HistoryHeader.CustomerCode = CustomerMaster.CustomerCode";
						sSql += " Left Join Inventory on HistoryLines.ItemCode = Inventory.ItemCode";
						sSql += " Where HistoryHeader.DocumentNumber = '" + sDocumentNumber + "'  and HistoryHeader.DocumentType in (102,2) and HistoryLines.DocumentType in (102,2) order by LinkNum";

						Datasets.dsDeliveryNote.delivery_01DataTable dtDelivery = new Solsage_Process_Management_System.Datasets.dsDeliveryNote.delivery_01DataTable();
						using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, oPastelConn).ExecuteReader())
						{
							while (rdReader.Read())
							{
								DataRow drRow = dtDelivery.NewRow();
								drRow["DocumentNumber"] = rdReader["DocumentNumber"];
								drRow["CustomerCode"] = rdReader["CustomerCode"];
								drRow["DocumentDate"] = rdReader["DocumentDate"];
								drRow["SalesmanCode"] = rdReader["SalesmanCode"];
								drRow["DelAddress01"] = rdReader["DelAddress01"];
								drRow["DelAddress02"] = rdReader["DelAddress02"];
								drRow["DelAddress03"] = rdReader["DelAddress03"];
								drRow["DelAddress04"] = rdReader["DelAddress04"];
								drRow["DelAddress05"] = rdReader["DelAddress05"];
								drRow["ItemCode"] = rdReader["ItemCode"];
								drRow["UnitUsed"] = rdReader["UnitUsed"];
								drRow["Description"] = rdReader["Description"];
								drRow["Qty"] = rdReader["Qty"];
								drRow["UnitPrice"] = rdReader["UnitPrice"];
								drRow["LinkNum"] = rdReader["LinkNum"];
								drRow["CustomerDesc"] = rdReader["CustomerDesc"];
								drRow["PostAddress01"] = rdReader["PostAddress01"];
								drRow["PostAddress02"] = rdReader["PostAddress02"];
								drRow["PostAddress03"] = rdReader["PostAddress03"];
								drRow["PostAddress04"] = rdReader["PostAddress04"];
								drRow["PostAddress05"] = rdReader["PostAddress05"];
								drRow["OrderNumber"] = rdReader["OrderNumber"];
								drRow["sTermsAndConditions"] = Global.sTermsAndConditions;
								if (rdReader["UserDefNum01"].ToString() == "1")
								{
									sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR)  from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
									string[] aMultiplierRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
									drRow["Multiplier"] = aMultiplierRet[0];
									if (aMultiplierRet[1] == "1")
									{
										drRow["Returned"] = "*Ret";
									}
									else
									{
										drRow["Returned"] = "";
									}
								}
								else
								{
									sSql = "select Convert(Multiplier,SQL_VARCHAR) + '|' + Convert(Status,SQL_VARCHAR) from SOLHL where Header = '" + rdReader["DocumentNumber"].ToString().Trim() + "' and LinkNum =" + rdReader["LinkNum"];
									try
									{
										string[] aQtyRet = Connect.getDataCommand(sSql, oLiquidConn).ExecuteScalar().ToString().Split("|".ToCharArray()[0]);
										drRow["Multiplier"] = aQtyRet[0];
										if (aQtyRet[1] == "1")
										{
											drRow["Returned"] = "*Ret";
										}
										else
										{
											drRow["Returned"] = "";
										}
									}
									catch
									{
										drRow["Returned"] = "";
									}
								}
								dtDelivery.Rows.Add(drRow);
							}
							rdReader.Close();
						}
						reportDelivery.SetDataSource((DataTable)dtDelivery);
						foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportDelivery.DataDefinition.FormulaFields)
						{

							switch (forReport.FormulaName)
							{
								case "{@sGlobCompanyName}":
									forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
									break;
								case "{@sGlobCompanyRegName}":
									forReport.Text = "'" + Global.sRegName.Trim() + "'";
									break;
								case "{@sGlobVat}":
									forReport.Text = "'" + Global.sVAT.Trim() + "'";
									break;
								case "{@sGlobReg}":
									forReport.Text = "'" + Global.sReg.Trim() + "'";
									break;
								case "{@sGlobTel}":
									forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
									break;
								case "{@sGlobFax}":
									forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
									break;
								case "{@sGlobPost1}":
									forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
									break;
								case "{@sGlobPost2}":
									forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
									break;
								case "{@sGlobPost3}":
									forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
									break;
								case "{@sGlobAdd1}":
									forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
									break;
								case "{@sGlobAdd2}":
									forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
									break;
								case "{@sGlobAdd3}":
									forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
									break;
								case "{@sInvoiceMessage01}":
									forReport.Text = sMessage01;
									break;
								case "{@sInvoiceMessage02}":
									forReport.Text = sMessage02;
									break;
								case "{@sCoordinates}":
									forReport.Text = "'" + sCoordinates + "'";
									break;
								case "{@Collected}":
									if (sCollected == "COLLECTED")
										sCollected = sCollected + " BY:";
									else
										sCollected = sCollected + " TO:";
									forReport.Text = "'" + sCollected + "'";
									break;
								case "{@CompanyCell}":
									forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
									break;
							
							}
						}
					}

					decimal iFPQuantity = Convert.ToDecimal(ConfigurationSettings.AppSettings.Get("DeliveryNoteFirstPrintCopies"));
					decimal iDPQuantity = Convert.ToDecimal(ConfigurationSettings.AppSettings.Get("DeliveryNoteDuplicatePrintCopies"));
					string filename = "";

					//Printing of delivery note
					try
					{
						//convert to pdf for terms attachment
						if (Global.sDeliveryNoteTemplate == "Kings Hire")
						{
							// clear temp directory                       
							if (Directory.Exists(Application.StartupPath + "\\Temp"))
							{
								Directory.Delete(Application.StartupPath + "\\Temp", true);
							}
								
							Directory.CreateDirectory(Application.StartupPath + "\\Temp");							
							reportDelivery.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + "\\Temp\\DeliveryNote.pdf");
							//merge terms and conditions with report
							try
							{
								// Open the output document
								PdfSharp.Pdf.PdfDocument outputDocument = new PdfSharp.Pdf.PdfDocument();
								PdfSharp.Pdf.PdfDocument inputDocument = new PdfSharp.Pdf.PdfDocument();
								int i = 0;
								int n = 1;
								try
								{
									while (i < n + 1)
									{
										if (i == 0) //1st page
										{
											inputDocument = PdfReader.Open(Application.StartupPath + "\\Temp\\DeliveryNote.pdf", PdfDocumentOpenMode.Import);
										}
										else
										{
											//add terms file
											if (File.Exists(Application.StartupPath + "\\Attachments\\Kings Hire terms and conditions.pdf"))
											{
												inputDocument = PdfReader.Open(Application.StartupPath + "\\Attachments\\Kings Hire terms and conditions.pdf", PdfDocumentOpenMode.Import);
												//PdfSharp.Pdf.PdfPage pagelast = inputDocument.Pages[0];
												// ...and add it to the output document.
												//outputDocument.AddPage(pagelast);                               
											}
											else
											{
												MessageBox.Show("Please confirm that Terms and condition file exists");
											}
										}
										  // Get the page from the external document...
											PdfSharp.Pdf.PdfPage page = inputDocument.Pages[0];
											// ...and add it to the output document.
											outputDocument.AddPage(page);									  								  
										i++;
									}
								}
								catch
								{

								}
								// Save the document...
								try
								{
									filename = Application.StartupPath + "\\Temp\\TempDeliveryNote.pdf"; //Application.StartupPath + "\\Qoutes\\" + sDocumentNumber +".pdf";
									outputDocument.Save(filename);
									Process.Start(filename);                                                                     
									//MessageBox.Show("Files are merged successfully");
									// ...and start a viewer.                                
								}
								catch
								{
									MessageBox.Show("Error saving file to directory, please verify path in Company Setup");
								}
							}
							catch (Exception Ex)
							{
								MessageBox.Show("Error Merging PDF Files, Please verify path of attached pictures.");

							}
							
													
						}


						if (sendToDepot)
						{
							//Send file to workstation
							if (!Directory.Exists(Application.StartupPath + "\\Temp"))
							{
								Directory.CreateDirectory(Application.StartupPath + "\\Temp");
							}
							string sFilename = sDocumentNumber + ".rpt";
							if (File.Exists(Application.StartupPath + "\\Temp\\" + sFilename))
							{
								File.Delete(Application.StartupPath + "\\Temp\\" + sFilename);
							}
//                            reportDelivery.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + "\\Temp\\" + sFilename);
							reportDelivery.SaveAs(Application.StartupPath + "\\Temp\\" + sFilename, true);

							sDepotFilename = Application.StartupPath + "\\Temp\\" + sFilename;                            
							oPastelConn.Dispose();
							return;
						}

						if (Global.sDeliveryNoteTemplate == "Kings Hire")
						{
							if (bFirstPrint)
							{
								//reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;																
								//reportDelivery.PrintToPrinter(Convert.ToInt16(iFPQuantity), false, 0, 0);		
						
								//ddk 09/06/2011
								//reportDelivery.PrintOptions.PrinterName = pdPrintDetails.PrinterSettings.PrinterName;
								//reportDelivery.PrintToPrinter(pdPrintDetails.PrinterSettings.Copies, false, 0, 0);						
								
							}
							if (!bFirstPrint)
							{																								
								//reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;
								//reportDelivery.PrintToPrinter(Convert.ToInt16(iDPQuantity), false, 0, 0);

								//ddk 09/06/2011
								//reportDelivery.PrintOptions.PrinterName = pdPrintDetails.PrinterSettings.PrinterName;
								//reportDelivery.PrintToPrinter(Convert.ToInt16(pdPrintDetails.PrinterSettings.Copies), false, 0, 0);	
							}
						}
						else if (Global.sDeliveryNoteTemplate == "Talisman - Faerie Glenn")
						{
							reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;
							reportDelivery.PrintToPrinter(2, false, 0, 0);
						}
						else
						{                            
						   reportDelivery.PrintOptions.PrinterName = Global.sDefaultDocPrinter;                                                    
						   reportDelivery.PrintToPrinter(1, false, 0, 0);                                                    
						}
					}
					catch (Exception Ex)
					{
						using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
						{
							frmPrint.crystalReportViewer1.ReportSource = reportDelivery;
							frmPrint.printThisDocument();
						}
					}
					
					oPastelConn.Dispose();
				}
			}
		}
Example #7
0
		public static void printInvoice_Old(Main frmMain, string sDocumentNumber)
		{
			using (Solsage_Process_Management_System.Documents.InvoicePrint reportInvoice = new Solsage_Process_Management_System.Documents.InvoicePrint())
			{
				using (Solsage_Process_Management_System.Documents.PrintInvoice frmPrint = new Solsage_Process_Management_System.Documents.PrintInvoice())
				{
					frmPrint.crystalReportViewer1.SelectionFormula = "{HistoryHeader.DocumentNumber} = \"" + sDocumentNumber + "\"";
					TextObject txtInvoiceMessage = (TextObject)reportInvoice.Section5.ReportObjects["txtInvoiceMessage"];
					txtInvoiceMessage.Text = txtInvoiceMessage.Text.Replace("<I_NAME>", Global.sInvoiceContactName).Replace("<I_NUMBER123456>", Global.sInvoiceContactNumber).Replace("<ENTER>", "\r\n");

					foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportInvoice.DataDefinition.FormulaFields)
					{
						switch (forReport.FormulaName)
						{
							case "{@sGlobCompanyName}":
								forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
								break;
							case "{@sGlobCompanyRegName}":
								forReport.Text = "'" + Global.sRegName.Trim() + "'";
								break;
							case "{@sGlobVat}":
								forReport.Text = "'" + Global.sVAT.Trim() + "'";
								break;
							case "{@sGlobReg}":
								forReport.Text = "'" + Global.sReg.Trim() + "'";
								break;
							case "{@sGlobTel}":
								forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
								break;
							case "{@sGlobFax}":
								forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
								break;
							case "{@sGlobPost1}":
								forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
								break;
							case "{@sGlobPost2}":
								forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
								break;
							case "{@sGlobPost3}":
								forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
								break;
							case "{@sGlobAdd1}":
								forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
								break;
							case "{@sGlobAdd2}":
								forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
								break;
							case "{@sGlobAdd3}":
								forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
								break;
							case "{@CompanyCell}":
								forReport.Text = "'" + Global.sInvoiceContactNumber + "'";
								break;
						}
					}
					frmPrint.crystalReportViewer1.ReportSource = reportInvoice;
					frmPrint.printThisDocument();
				}
			}
		}
        private void dgCreditNotes_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Solsage_Process_Management_System.Documents.CreditNote reportCredit = new CreditNote())
            {
                using (PrintInvoice frmPrint = new PrintInvoice())
                {
                    frmPrint.crystalReportViewer1.SelectionFormula = "{HistoryHeader.DocumentNumber} = \"" + dgCreditNotes.Rows[e.RowIndex].Cells[1].Value.ToString() + "\"";

                    foreach (CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition forReport in reportCredit.DataDefinition.FormulaFields)
                    {
                        switch (forReport.FormulaName)
                        {
                            case "{@sGlobCompanyName}":
                                forReport.Text = "'" + Global.sCompanyName.Trim() + "'";
                                break;
                            case "{@sGlobCompanyRegName}":
                                forReport.Text = "'" + Global.sRegName.Trim() + "'";
                                break;
                            case "{@sGlobVat}":
                                forReport.Text = "'" + Global.sVAT.Trim() + "'";
                                break;
                            case "{@sGlobReg}":
                                forReport.Text = "'" + Global.sReg.Trim() + "'";
                                break;
                            case "{@sGlobTel}":
                                forReport.Text = "'" + Global.sCompanyTel.Trim() + "'";
                                break;
                            case "{@sGlobFax}":
                                forReport.Text = "'" + Global.sCompanyFax.Trim() + "'";
                                break;
                            case "{@sGlobPost1}":
                                forReport.Text = "'" + Global.sCompanyPostAd1.Trim() + "'";
                                break;
                            case "{@sGlobPost2}":
                                forReport.Text = "'" + Global.sCompanyPostAd2.Trim() + "'";
                                break;
                            case "{@sGlobPost3}":
                                forReport.Text = "'" + Global.sCompanyPostAd3.Trim() + "'";
                                break;
                            case "{@sGlobAdd1}":
                                forReport.Text = "'" + Global.sCompanyAd1.Trim() + "'";
                                break;
                            case "{@sGlobAdd2}":
                                forReport.Text = "'" + Global.sCompanyAd2.Trim() + "'";
                                break;
                            case "{@sGlobAdd3}":
                                forReport.Text = "'" + Global.sCompanyAd3.Trim() + "'";
                                break;
                            case "{@sInvoiceMessage01}":
                                forReport.Text = "";
                                break;
                            case "{@sInvoiceMessage02}":
                                forReport.Text = "'CREDIT NOTE AUTHORITY:__________________________'";
                                break;
                        }
                    }
                    frmPrint.crystalReportViewer1.ReportSource = reportCredit;
                    frmPrint.ShowDialog();
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }