예제 #1
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            //KillExcel();
            HandmadeReport rep = new HandmadeReport();

            rep.AddSingleValue("Чек №" + doc_id.ToString(), 1, 1);
            rep.AddSingleValue("Отчет выгрузил: " + UserSettings.User.FullUsername, 2, 1);
            rep.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToShortDateString(), 3, 1);
            rep.SetFontBold(1, 1, 3, 1);
            #region Columns
            rep.SetColumnWidth(1, 1, 1, 1, 14);
            rep.SetColumnWidth(2, 2, 2, 2, 45);
            rep.SetColumnWidth(3, 3, 3, 3, 7);
            rep.SetColumnWidth(4, 4, 4, 4, 7);
            rep.SetColumnWidth(5, 5, 5, 5, 7);
            #endregion Columns
            int crow     = 5;
            int startrow = crow;
            #region Шапка
            rep.AddSingleValue("EAN", crow, 1);
            rep.AddSingleValue("Наименование", crow, 2);
            rep.AddSingleValue("Кол-во", crow, 3);
            rep.AddSingleValue("Цена", crow, 4);
            rep.AddSingleValue("Сумма", crow, 5);
            rep.SetFontBold(crow, 1, crow, 5);
            rep.SetCellAlignmentToCenter(crow, 1, crow, 5);
            rep.SetCellAlignmentToJustify(crow, 1, crow, 5);
            #endregion Шапка
            crow++;
            #region Тело
            foreach (DataRow dr in dtCheckInfo.Rows)
            {
                rep.AddSingleValue(dr["ean"].ToString(), crow, 1);
                rep.AddSingleValue(dr["nametovar"].ToString(), crow, 2);
                rep.AddSingleValue(dr["count"].ToString().Replace(',', '.'), crow, 3);
                rep.AddSingleValue(dr["price"].ToString().Replace(',', '.'), crow, 4);
                rep.AddSingleValue(dr["sumtovar"].ToString().Replace(',', '.'), crow, 5);
                if (dr["count"].ToString()[0] == '-')
                {
                    rep.SetCellColor(crow, 1, crow, 5, 54);
                }
                crow++;
            }
            #endregion Тело
            crow--;
            #region хрень всякая
            rep.SetWrapText(startrow, 1, crow, 5);
            rep.SetBorders(startrow, 1, crow, 5);
            rep.SetFormat(startrow + 1, 1, crow, 1, "0");
            rep.SetFormat(startrow + 1, 3, crow, 3, "0.000");
            rep.SetFormat(startrow + 1, 4, crow, 5, "0.00");
            rep.SetCellAlignmentToLeft(startrow + 1, 2, crow, 2);
            rep.SetCellAlignmentToRight(startrow + 1, 1, crow, 1);
            rep.SetCellAlignmentToRight(startrow + 1, 3, crow, 5);


            rep.SetCellColor(crow + 2, 1, crow + 2, 1, 54);
            rep.AddSingleValue("=\"-Возврат товара\"", crow + 2, 2);
            rep.Show();
            #endregion


            #region LOG


            DataTable dtInfo = Config.connect.getOrderInfo(id_tOrder);
            if (dtInfo == null || dtInfo.Rows.Count == 0)
            {
                return;
            }
            Logging.StartFirstLevel(834);
            string status = "";

            string oldStatus = "";
            Logging.StopFirstLevel();
            Logging.StartFirstLevel(79);
            Logging.Comment("Начало выгрузки чека");
            Logging.Comment($"id заказа: {id_tOrder}");
            Logging.Comment($"Номер заказа: {dtInfo.Rows[0]["OrderNumber"].ToString()}");
            Logging.Comment($"Дата и время заказа: {dtInfo.Rows[0]["DateOrder"].ToString()}");
            Logging.Comment($"ФИО покупателя: {dtInfo.Rows[0]["FIO"].ToString()}");
            Logging.Comment($"Сумма заказа: {dtInfo.Rows[0]["sumOrder"].ToString()}");
            Logging.Comment($"Сумма доставки: {dtInfo.Rows[0]["SummaDelivery"].ToString()}");
            Logging.Comment($"Тип оплаты: {dtInfo.Rows[0]["namePayment"].ToString()}");
            Logging.Comment("Параметры просматриваемого чека");
            Logging.Comment("Чек номер " + doc_id.ToString() + " от " + date.ToShortDateString() + " касса " + terminal.ToString());
            Logging.Comment("Окончание выгрузки отчета");
            Logging.StopFirstLevel();

            #endregion LOG
        }