2017-06-22 69 views
-1

我试图打印出的收据拿给这样enter image description here有高利润的顶部由它没有显示的方式这样在其他打印机也显示了在某些打印机正常的形状就这样表示的PIC我发布,这是在水晶报表enter image description here设计,这是这部分收据具有高利润率最高在某些打印机

DataTable Receipt_Invoice = new DataTable("Receipt_Invoice"); 
       string SQL_Str = " SELECT INVC.INVC_ID, INVC.INVC_No, INVC.INVC_TYPE, INVC.INVC_Date, INVC.Status, INVC.Reverse, INVC.Comment, INVC.Hold, INVC.CreateDate, " + 
           " INVC.Post, INVC.PostedDate, INVC.Cust_ID, C.Code AS Cust_Code, C.First_Name, C.Phone, INVC.Cashier_ID, UC.Name AS Cashier_Name, INVC.SCom_ID, INVC.Store_ID, INVC.WS, INVC.Seller_ID, " + 
           " II.Serial, II.Seller_ID AS ItemSeller, U.Name AS Seller_Name, II.Item_ID, dbo.Items.Name AS Item_Name, dbo.Items.UPC, dbo.Items.ALU, II.Item_Serial, II.Qty, II.Cost, " + 
           " II.PriceLvl_ID, II.Orig_Price, II.Tax_ID, II.Tax_Perc, II.Tax_Amt, II.Price, II.Price_WOT, II.Taxable, II.Non_Invn, II.Sale_ID, { fn IFNULL ((SELECT Name FROM dbo.Sale WHERE (SCom_ID = " + Function.SCom_Active_ID.ToString() + ") AND (Sale_ID = II.Sale_ID)), 0) } AS Sale_Name, INVC.Num_Print, INVCT.Tax_Amt AS Tax_Amt_INVC, " + 
           " INVCT.SubTotal, INVCT.Disc_Amt, INVCT.Disc_Perc, INVCT.NetTotal, INVCT.Fee_Amt, INVCT.Amt, INVCT.Taken, INVCT.Given, INVCT.Paid_Total, INVCT.Rimining_Total, " + 
           " dbo.Items.Name2 AS Items_Name2, dbo.Items.Description AS Item_Desc, dbo.Items.Grid1, dbo.Items.Grid2, dbo.Items.Grid3, INVC.Source_Type, INVC.SO_ID, { fn IFNULL ((SELECT SO_No FROM dbo.Sales_Order WHERE (SO_ID = INVC.SO_ID)), 0) } AS SO_No, II.Item_Disc_Amt, II.Item_Disc_Perc, Itu.UDF1, Itu.UDF2, Itu.UDF3, Itu.UDF4, Itu.UDF5, Itu.UDF6, Itu.UDF7, Itu.UDF8, Itu.UDF9, Itu.UDF10, C.Last_Name, C.Full_Name, C.Address, C.Address2, C.Email " + 
           " FROM dbo.UserDefnation AS U RIGHT OUTER JOIN dbo.Invoice_Item AS II ON U.ID = II.Seller_ID LEFT OUTER JOIN dbo.Items ON II.Item_ID = dbo.Items.Item_ID RIGHT OUTER JOIN " + 
           " dbo.Invoice AS INVC ON II.INVC_ID = INVC.INVC_ID LEFT OUTER JOIN dbo.Invoice_Tender AS INVCT ON INVC.INVC_ID = INVCT.INVC_ID LEFT OUTER JOIN dbo.UserDefnation AS UC ON INVC.Cashier_ID = UC.ID LEFT OUTER JOIN " + 
           " dbo.Customers AS C ON INVC.Cust_ID = C.Cust_ID RIGHT OUTER JOIN dbo.Item_UDF Itu ON Itu.Item_ID = dbo.Items.Item_ID WHERE (INVC.INVC_ID = " + INVC_ID + ") ORDER BY II.Serial"; 
       SqlDataAdapter myAd = new SqlDataAdapter(SQL_Str, mycn); 
       myAd.Fill(Receipt_Invoice); 

       DataTable Receipt_Details = new DataTable("Receipt_Details"); 
       SQL_Str = "SELECT dbo.Stores.Store_ID, dbo.Stores.Code, dbo.Stores.Name, dbo.Stores.Name2, dbo.Stores.Address, dbo.Stores.Phone, dbo.Stores.Mobile, dbo.Stores.Fax, " + 
          " dbo.Stores.Email, dbo.Stores.Logo AS LogoPhoto, dbo.Setup_Store.Header1, dbo.Setup_Store.Header2, dbo.Setup_Store.Header3, dbo.Setup_Store.Header4, " + 
          " dbo.Setup_Store.Header5, dbo.Setup_Store.Footer1, dbo.Setup_Store.Footer2, dbo.Setup_Store.Footer3, dbo.Setup_Store.Footer4, dbo.Setup_Store.Footer5 " + 
          " FROM dbo.Setup_Store INNER JOIN dbo.Stores ON dbo.Setup_Store.Store_ID = dbo.Stores.Store_ID Where dbo.Stores.Store_ID = " + Receipt_Invoice.Rows[0]["Store_ID"].ToString(); 
       myAd = new SqlDataAdapter(SQL_Str, mycn); 
       myAd.Fill(Receipt_Details); 

       DataTable Receipt_Invoice_Settles = new DataTable("Receipt_Invoice_Settles"); 
       SQL_Str = " SELECT IMOP.MOP_ID, dbo.PaymentMethodes.Code, dbo.PaymentMethodes.Name, dbo.PaymentMethodes.Name2, IMOP.MOP_Serial, IMOP.MOP_Date, " + 
         " IMOP.MOP_Value, IMOP.INVC_ID, IMOP.Serial FROM dbo.Invoice_MOP AS IMOP INNER JOIN dbo.PaymentMethodes ON IMOP.MOP_ID = dbo.PaymentMethodes.ID " + 
         " WHERE (IMOP.Voided = 0) AND (IMOP.INVC_ID = " + INVC_ID + ") ORDER BY IMOP.Serial "; 
       myAd = new SqlDataAdapter(SQL_Str, mycn); 
       myAd.Fill(Receipt_Invoice_Settles); 
       CrystalDecisions.CrystalReports.Engine.ReportDocument Rcp = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); 
       if (System.IO.File.Exists(Application.StartupPath + @"\Reports\CR_Receipt_Invoice.rpt")) 
        Rcp.Load(Application.StartupPath + @"\Reports\CR_Receipt_Invoice.rpt"); 
       else 
       { 
         Rcp = new Reports.CR_Receipt_Invoice(); 
       } 

      Rcp.Database.Tables["Receipt_Invoice"].SetDataSource(Receipt_Invoice); 
       Rcp.Database.Tables["Receipt_Details"].SetDataSource(Receipt_Details); 
       Rcp.Subreports["Settles"].SetDataSource(Receipt_Invoice_Settles); 
       Rcp.PrintOptions.PrinterName = drs[0]["Printer_IP"].ToString().Trim(); 
       Rcp.PrintToPrinter(1, true, 1, 1); 

希望这是很清楚

回答

0

你检查,您的任何部分有我的C#代码在节专家激活的选项Print at Bottom of Page