private void btnCetak_Click(object sender, EventArgs e) { if (dgv.Rows.Count == 0) { H.msgError("Data tidak ada!"); return; } string sql = ""; try { string header1 = H.getOption("header1"); string header2 = H.getOption("header2"); string header3 = H.getOption("header3"); string periode = "Periode: " + txtAwal.Value.ToString("dd-MMM-yyyy") + " s/d " + txtAkhir.Value.ToString("dd-MMM-yyyy"); string stroperator = "Operator: " + txtOperator.Text; string cetak = "Cetak: " + DateTime.Now.ToShortDateString() + " Oleh: " + H.strOperator; H.CloseDr(); DataSet ds = new DataSet(); sql = "SELECT '" + header1 + "' AS header1, '" + header2 + "' AS header2, '" + header3 + "' AS header3, '" + stroperator + "' AS foperator, '" + periode + "' AS periode, faktur, tanggal, grandtotal, laba, operator, '" + cetak + "' AS cetak " + "FROM tb_jual WHERE tanggal>='" + txtAwal.Value.ToString("yyyy-MM-dd") + "' AND tanggal<='" + txtAkhir.Value.ToString("yyyy-MM-dd") + "'"; MySqlDataAdapter adapter = new MySqlDataAdapter(sql, H.getConnection()); adapter.Fill(ds); ReportDocument rd = new ReportDocument(); rd.Load("../../rptJual.rpt"); rd.Database.Tables[0].SetDataSource(ds.Tables[0]); //pakai perintah ini untuk langsung print dan hapus 5 baris perintah di bawahnya //rd.PrintToPrinter; FrmCetak l = new FrmCetak(); l.MdiParent = this.MdiParent; l.WindowState = FormWindowState.Maximized; l.crystalReportViewer1.ReportSource = rd; l.Show(); } catch (Exception ex) { H.msgError(ex.Message + sql); } }
void simpanData() { MySqlCommand cmd; string faktur = fakturBaru(); cmd = new MySqlCommand("INSERT INTO tb_jual (faktur, tanggal, jam, grandtotal, tunai, kembali, operator, laba) VALUES (@faktur, @tanggal, @jam, @grandtotal, @tunai, @kembali, @operator, @laba)", H.getConnection()); cmd.Parameters.AddWithValue("faktur", faktur); cmd.Parameters.AddWithValue("tanggal", DateTime.Now); cmd.Parameters.AddWithValue("jam", DateTime.Now); cmd.Parameters.AddWithValue("grandtotal", hitungTotal()); cmd.Parameters.AddWithValue("tunai", txtTunai.Text); cmd.Parameters.AddWithValue("kembali", txtKembali.Text); cmd.Parameters.AddWithValue("laba", hitungLaba()); cmd.Parameters.AddWithValue("operator", H.strOperator); H.executeCMD(cmd); for (int a = 0; a < dgv.Rows.Count; a++) { cmd = new MySqlCommand("INSERT INTO tb_detailjual (faktur, tanggal, kode, nama, jumlah, satuan, hargajual, total, laba, operator) " + "VALUES (@faktur, @tanggal, @kode, @nama, @jumlah, @satuan, @hargajual, @total, @laba, @operator)", H.getConnection()); DataGridViewRow r = dgv.Rows[a]; cmd.Parameters.AddWithValue("faktur", faktur); cmd.Parameters.AddWithValue("tanggal", DateTime.Now); cmd.Parameters.AddWithValue("kode", r.Cells[0].Value); cmd.Parameters.AddWithValue("nama", r.Cells[1].Value); cmd.Parameters.AddWithValue("jumlah", r.Cells[2].Value); cmd.Parameters.AddWithValue("satuan", r.Cells[3].Value); cmd.Parameters.AddWithValue("hargajual", r.Cells[4].Value); cmd.Parameters.AddWithValue("total", r.Cells[5].Value); cmd.Parameters.AddWithValue("laba", r.Cells[6].Value); cmd.Parameters.AddWithValue("operator", H.strOperator); H.executeCMD(cmd); H.execute("UPDATE tb_barang SET jumlah=jumlah-" + H.toD(r.Cells[2].Value) + " WHERE kode='" + r.Cells[0].Value + "'"); } cmd = new MySqlCommand("INSERT INTO tb_kas (faktur, tanggal, jenis, kategori, pemasukan, pengeluaran, keterangan, operator) VALUES (@faktur, @tanggal, @jenis, @kategori, @pemasukan, @pengeluaran, @keterangan, @operator)", H.getConnection()); cmd.Parameters.AddWithValue("faktur", faktur); cmd.Parameters.AddWithValue("tanggal", DateTime.Now); cmd.Parameters.AddWithValue("jenis", "Pemasukan"); cmd.Parameters.AddWithValue("kategori", "Penjualan"); cmd.Parameters.AddWithValue("pemasukan", hitungTotal()); cmd.Parameters.AddWithValue("pengeluaran", 0); cmd.Parameters.AddWithValue("keterangan", "Penjualan: " + faktur); cmd.Parameters.AddWithValue("operator", H.strOperator); H.executeCMD(cmd); if (H.msgAsk("Transaksi tersimpan! \nCetak Nota?") == DialogResult.Yes) { string sql = ""; try { string header = H.getOption("header1") + "\n" + H.getOption("header2") + "\n" + H.getOption("header3"); string footer = H.getOption("footer1") + "\n" + H.getOption("footer2") + "\n" + H.getOption("footer3"); H.CloseDr(); DataSet ds = new DataSet(); sql = "select '" + header + "' as header, '" + footer + "' as footer, a.faktur, a.*, b.* from tb_jual a INNER JOIN tb_detailjual b on a.faktur = b.faktur WHERE a.faktur='" + faktur + "'"; MySqlDataAdapter adapter = new MySqlDataAdapter(sql, H.getConnection()); adapter.Fill(ds); ReportDocument rd = new ReportDocument(); rd.Load("../../rptNota.rpt"); rd.Database.Tables[0].SetDataSource(ds.Tables[0]); //pakai perintah ini untuk langsung print dan hapus 5 baris perintah di bawahnya //rd.PrintToPrinter; FrmCetak l = new FrmCetak(); l.MdiParent = this.MdiParent; l.WindowState = FormWindowState.Maximized; l.crystalReportViewer1.ReportSource = rd; l.Show(); } catch (Exception ex) { H.msgError(ex.Message + sql); } } newTrans(); }