private void ListaFakture() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string top = ""; for (int i = 0; i < tabl.Rows.Count; i++) { string sifra = tabl.Rows[i]["šifra"].ToString(); string naziv = tabl.Rows[i]["naziv"].ToString(); string kol = tabl.Rows[i]["Kolicina skladište"].ToString(); string sklad = tabl.Rows[i]["skladište"].ToString(); string cijena = tabl.Rows[i]["MPC"].ToString(); DataRow DTrow = dSRliste.Tables[0].NewRow(); DTrow["sifra"] = sifra.ToString(); DTrow["naziv"] = naziv.ToString(); DTrow["cijena1"] = kol.ToString(); DTrow["jmj"] = sklad.ToString(); DTrow["cijena3"] = cijena.ToString(); dSRliste.Tables[0].Rows.Add(DTrow); } }
private void frmListe_Load(object sender, EventArgs e) { this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout); string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = ""; this.reportViewer1.RefreshReport(); }
private void frmListe_Load(object sender, EventArgs e) { tdOdDatuma.Value = new DateTime(DateTime.Now.Year, 01, 01, 00, 00, 00); string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = ""; this.reportViewer1.RefreshReport(); }
private void frmListe_Load(object sender, EventArgs e) { int heigt = SystemInformation.VirtualScreen.Height; this.Height = heigt - 60; this.Location = new Point((SystemInformation.VirtualScreen.Width / 2) - 411, 5); //Popunjava tablicu na reportu string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); }
private void PodaciTvrtke() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); ReportParameter rds = artikl != null ? new ReportParameter("artikl", artikl) : new ReportParameter("artikl", ""); this.reportViewer1.LocalReport.SetParameters(rds); this.reportViewer1.LocalReport.Refresh(); }
private void frmRekapitulacijaRadnihNaloga_Load(object sender, EventArgs e) { dtpDatumOd.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 1, 1, 0, 0, 0); dtpDatumDo.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month, DateTime.DaysInMonth(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month), 23, 59, 59); if (Util.Korisno.GodinaKojaSeKoristiUbazi != DateTime.Now.Year) { dtpDatumDo.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 12, 31, 23, 59, 59); } string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); }
private void frmListe_Load(object sender, EventArgs e) { if (samo_robno) { query_samo_robno = " roba.oduzmi='DA' AND "; } else { query_samo_robno = ""; } DatumOD = new DateTime(DatumOD.Year, DatumOD.Month, DatumOD.Day, 0, 0, 0); DatumDO = new DateTime(DatumDO.Year, DatumDO.Month, DatumDO.Day, 23, 59, 59); string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_skl = "SELECT * FROM skladiste"; if (skladiste != null) { sql_skl += " WHERE id_skladiste=" + skladiste; } DataTable skladista = classSQL.select(sql_skl, "skladista").Tables[0]; foreach (DataRow r in skladista.Rows) { fillDataset(r["id_skladiste"].ToString(), r["skladiste"].ToString()); } switch (cijena) { case "vpc": cijena = "po skladišnim cijenama"; break; case "mpc": cijena = "po prodajnim cijenama"; break; case "nbc": cijena = "po nabavnim cijenama"; break; } ReportParameter p1 = new ReportParameter("Dokument", cijena); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1 }); this.reportViewer1.RefreshReport(); }
private void ListaFakture() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); for (int i = 0; i < tabl.Rows.Count; i++) { string naziv = tabl.Rows[i]["Dokument"].ToString(); string s = ""; if (naziv.Length > 9) { s = naziv.Remove(9); } else { s = naziv; } if (s != "INVENTURA") { DateTime datum = Convert.ToDateTime(tabl.Rows[i]["Datum"].ToString()); decimal kol = Convert.ToDecimal(tabl.Rows[i]["Količina"].ToString()); decimal cijena = Convert.ToDecimal(tabl.Rows[i]["NBC"].ToString()); DataRow DTrow = dSRliste.Tables[0].NewRow(); DTrow["datum1"] = datum; DTrow["naziv"] = naziv; if (tabl.Rows[i]["Ulaz"].ToString() == "1") { DTrow["cijena1"] = kol; DTrow["cijena2"] = new decimal(0); } else { DTrow["cijena2"] = kol; DTrow["cijena1"] = new decimal(0); } DTrow["cijena3"] = cijena; DTrow["cijena5"] = frmPocetnoStanje(DTrow); dSRliste.Tables[0].Rows.Add(DTrow); } } }
private void ListaFakture() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); for (int i = 0; i < tabl.Rows.Count; i++) { //ulaz string lblKalk = tabl.Rows[i]["Kalkulacija"].ToString() == "" ? "0" : tabl.Rows[i]["Kalkulacija"].ToString(); string lblPrimka = tabl.Rows[i]["Primka"].ToString() == "" ? "0" : tabl.Rows[i]["Primka"].ToString(); string lblUlazMS = tabl.Rows[i]["Meduskladisnica na skladista"].ToString() == "" ? "0" : tabl.Rows[i]["Meduskladisnica na skladista"].ToString(); string lblPS = tabl.Rows[i]["Pocetno stanje"].ToString() == "" ? "0" : tabl.Rows[i]["Pocetno stanje"].ToString(); string lblRadniD = tabl.Rows[i]["Radni nalog dodaj"].ToString() == "" ? "0" : tabl.Rows[i]["Radni nalog dodaj"].ToString(); //izlaz string lblKasa = tabl.Rows[i]["Maloprodaja"].ToString() == "" ? "0" : tabl.Rows[i]["Maloprodaja"].ToString(); string lblFaktura = tabl.Rows[i]["Fakture"].ToString() == "" ? "0" : tabl.Rows[i]["Fakture"].ToString(); string lblIzdatnica = tabl.Rows[i]["Izdatnica"].ToString() == "" ? "0" : tabl.Rows[i]["Izdatnica"].ToString(); string lblPovratnica = tabl.Rows[i]["Povratnica"].ToString() == "" ? "0" : tabl.Rows[i]["Povratnica"].ToString(); string lblMeduskladisteIzlaz = tabl.Rows[i]["Meduskladisnica sa skladista"].ToString() == "" ? "0" : tabl.Rows[i]["Meduskladisnica sa skladista"].ToString(); string lblRadniN = tabl.Rows[i]["Radni nalog oduzmi"].ToString() == "" ? "0" : tabl.Rows[i]["Radni nalog oduzmi"].ToString(); string lblOtpremnica = tabl.Rows[i]["Otpremnice"].ToString() == "" ? "0" : tabl.Rows[i]["Otpremnice"].ToString(); string lblOtpis = tabl.Rows[i]["Otpis Robe"].ToString() == "" ? "0" : tabl.Rows[i]["Otpis Robe"].ToString(); string sifra = tabl.Rows[i]["šifra"].ToString(); string naziv = tabl.Rows[i]["naziv"].ToString(); decimal ulaz = Convert.ToDecimal(lblKalk) + Convert.ToDecimal(lblPrimka) + Convert.ToDecimal(lblUlazMS) + Convert.ToDecimal(lblPS) + Convert.ToDecimal(lblRadniD); decimal izlaz = Convert.ToDecimal(lblOtpis) + Convert.ToDecimal(lblKasa) + Convert.ToDecimal(lblFaktura) + Convert.ToDecimal(lblIzdatnica) + Convert.ToDecimal(lblPovratnica) + Convert.ToDecimal(lblMeduskladisteIzlaz) + Convert.ToDecimal(lblRadniN) + Convert.ToDecimal(lblOtpremnica); decimal mpc = Convert.ToDecimal(tabl.Rows[i]["MPC"].ToString()); decimal nbc = Convert.ToDecimal(tabl.Rows[i]["NBC"].ToString()); if (fakturna_cijena) { nbc = Convert.ToDecimal(tabl.Rows[i]["fak_cijena"].ToString()); } DataRow DTrow = dSRliste.Tables[0].NewRow(); DTrow["sifra"] = sifra; DTrow["naziv"] = naziv; DTrow["cijena1"] = ulaz; DTrow["cijena2"] = izlaz; DTrow["cijena3"] = mpc; DTrow["cijena4"] = nbc; dSRliste.Tables[0].Rows.Add(DTrow); } }
private void frmListe_Load(object sender, EventArgs e) { tdOdDatuma.Value = new DateTime(DateTime.Now.Year, 01, 01, 00, 00, 01); DataTable DTskl = classSQL.select("SELECT id_ducan,ime_ducana FROM ducan ORDER BY ime_ducana ASC", "skladiste").Tables[0]; DataRow r = DTskl.NewRow(); r[0] = "0"; r[1] = "Svi poslovni prostori"; DTskl.Rows.Add(r); cbDucan.DataSource = DTskl; cbDucan.DisplayMember = "ime_ducana"; cbDucan.ValueMember = "id_ducan"; cbDucan.SelectedValue = "0"; string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = ""; this.reportViewer1.RefreshReport(); }
private void frmKnjigaPopisa_Load(object sender, EventArgs e) { try { DateTime dtNow = DateTime.Now; dtpDatumDo.Value = new DateTime(dtNow.Year, dtNow.Month, DateTime.DaysInMonth(dtNow.Year, dtNow.Month), 23, 59, 59); dtpDatumOd.Value = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day, 0, 0, 0); if (Util.Korisno.GodinaKojaSeKoristiUbazi == 2017 && Class.PodaciTvrtka.oibTvrtke == "52598763302") { dtpDatumOd.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 1, 1, 0, 0, 0); dtpDatumOd.Enabled = false; } DataSet dsSkladista = classSQL.select("select id_skladiste, skladiste from skladiste where aktivnost = 'DA';", "skladiste"); if (dsSkladista != null && dsSkladista.Tables.Count > 0 && dsSkladista.Tables[0] != null && dsSkladista.Tables[0].Rows.Count > 0) { cmbSkladiste.DisplayMember = "skladiste"; cmbSkladiste.ValueMember = "id_skladiste"; cmbSkladiste.DataSource = dsSkladista.Tables[0]; string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { pnlTop.Enabled = false; pnlFill.Enabled = false; MessageBox.Show("Za izvještaj su potrebna skladišta, kreirajte skladište!"); } } catch (Exception) { throw; } this.reportViewer1.RefreshReport(); }
private void LoadDocument() { string grad_string = ""; DataTable grad = classSQL.select("SELECT grad,posta FROM grad, primka" + " LEFT JOIN partners ON partners.id_partner=primka.id_partner" + " WHERE primka.broj='" + broj_dokumenta + "' AND primka.id_skladiste = '" + broj_skladista + "'" + " And partners.id_grad=grad.id_grad", "grad").Tables[0]; if (grad.Rows.Count != 0) { grad_string = grad.Rows[0]["posta"].ToString().Trim() + " " + grad.Rows[0]["grad"].ToString(); } string sql1 = "SELECT " + " p.broj AS broj," + " p.originalni_dokument," + " p.datum," + " p.napomena AS napomena," + " p.godina," + " partners.ime_tvrtke AS kupac_tvrtka," + " partners.adresa AS kupac_adresa," + " '" + grad_string + "' AS kupac_grad," + " partners.id_grad AS kupac_grad_id," + " partners.id_partner AS sifra_kupac," + " partners.oib AS kupac_oib," + " '' AS Naslov," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " grad.grad AS mjesto," + " skladiste.id_skladiste," + " skladiste.skladiste" + " FROM primka p" + " LEFT JOIN partners ON partners.id_partner=p.id_partner" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=p.id_izradio" + " LEFT JOIN skladiste ON skladiste.id_skladiste=p.id_skladiste" + " LEFT JOIN grad ON grad.id_grad=p.id_mjesto" + " WHERE p.broj='" + broj_dokumenta + "' AND p.id_skladiste = '" + broj_skladista + "'"; //primka broj + skladište ili id_primka??? if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSPrimka, "DTRPrimka"); } else { classSQL.NpgAdatpter(sql1.Replace("nvarchar", "varchar")).Fill(dSPrimka, "DTRPrimka"); } string sql_liste = "SELECT " + " p.sifra," + " p.vpc," + " p.mpc," + " p.rabat," + " p.broj," + " p.kolicina," + " p.nbc," + " p.pdv," + " p.ukupno," + " r.naziv AS naziv_robe," + " p.proizvodacka_cijena," + " r.jm" + " FROM roba r, primka_stavke p" + " LEFT JOIN primka ON primka.id_primka=p.id_primka" + " WHERE primka.broj='" + broj_dokumenta + "' AND primka.id_skladiste = '" + broj_skladista + "'" + " AND p.sifra=r.sifra"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSPrimkaStavke, "DTPrimkaStavke"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSPrimkaStavke, "DTPrimkaStavke"); } DataTable dt = dSPrimkaStavke.Tables[0]; decimal iznosBezPoreza, sumIznosBezPoreza, uk, sumUk, pdv, kol = 0; string rabat; sumIznosBezPoreza = 0; sumUk = 0; double proizvocaka_cijena_ukupno = 0, kolicina_ukupno = 0; for (int i = 0; i < dt.Rows.Count; i++) { uk = Math.Round(Convert.ToDecimal(dt.Rows[i]["ukupno"].ToString()), 2); pdv = Math.Round(Convert.ToDecimal(dt.Rows[i]["pdv"].ToString().Replace(".", ",")), 2); iznosBezPoreza = uk / (1 + pdv / 100); rabat = Convert.ToDouble(dt.Rows[i]["rabat"].ToString()) == 0 ? "0" : dt.Rows[i]["rabat"].ToString(); dt.Rows[i].SetField("iznosBezPoreza", Math.Round(iznosBezPoreza, 2)); dt.Rows[i].SetField("rabat", rabat); sumIznosBezPoreza += iznosBezPoreza; sumUk += uk; } for (int i = 0; i < dSPrimkaStavke.Tables[0].Rows.Count; i++) { double proizvodacka_cijena = 0, kolicina = 0, nbc = 0; double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["proizvodacka_cijena"].ToString(), out proizvodacka_cijena); double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["nbc"].ToString(), out nbc); double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["kolicina"].ToString(), out kolicina); double iznos_proizvodacke_cijene = Math.Round((proizvodacka_cijena * kolicina), 2); if (this.proizvodacka_cijena) { dt.Rows[i].SetField("iznosBezPoreza", iznos_proizvodacke_cijene); dt.Rows[i].SetField("ukupno", Math.Round((nbc * kolicina), 2)); } kolicina_ukupno += kolicina; proizvocaka_cijena_ukupno += iznos_proizvodacke_cijene; } ReportParameter p1 = new ReportParameter("proizvodacka_cijena", proizvocaka_cijena_ukupno.ToString("#,##0.00")); ReportParameter p2 = new ReportParameter("kolicina_ukupno", kolicina_ukupno.ToString("#,##0.00")); ReportParameter p3 = new ReportParameter("ispis_proizvodnja", proizvodacka_cijena.ToString()); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1, p2, p3 }); string id_kupac_grad = ""; string id_kupac = ""; if (dSPrimka.Tables[0].Rows.Count > 0) { id_kupac_grad = dSPrimka.Tables[0].Rows[0]["kupac_grad_id"].ToString(); id_kupac = dSPrimka.Tables[0].Rows[0]["sifra_kupac"].ToString(); } else { MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning); } sql1 = SqlPodaciTvrtke.VratiSql(id_kupac_grad, "", id_kupac); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } }
/// <summary> /// Fills report with "Kalkulacije" data /// </summary> private void SetKalkulacija() { string filter = "", sql = ""; if (pregled == true) { filter = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "'"; sql = @"select coalesce(sum(pn.iznos * replace(ks.kolicina, ',','.')::numeric), 0) as povratna_naknada from povratna_naknada pn left join kalkulacija_stavke ks on pn.sifra = ks.sifra left join kalkulacija k on ks.broj = k.broj and ks.id_skladiste = k.id_skladiste where k.broj = '" + broj_kalkulacije + "' and pn.iznos <> 0;"; } else { filter = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "'"; sql = @"select coalesce(sum(pn.iznos * replace(ks.kolicina, ',','.')::numeric), 0) as povratna_naknada from povratna_naknada pn left join kalkulacija_stavke ks on pn.sifra = ks.sifra left join kalkulacija k on ks.broj = k.broj and ks.id_skladiste = k.id_skladiste where k.broj = '" + broj_kalkulacije + "' and k.id_skladiste = '" + skladiste + "' and pn.iznos <> 0;"; } DataSet dsPovratnaNaknada = classSQL.select(sql, "povratna_naknada"); decimal povratna_naknada = 0; if (dsPovratnaNaknada != null && dsPovratnaNaknada.Tables.Count > 0 && dsPovratnaNaknada.Tables[0] != null && dsPovratnaNaknada.Tables[0].Rows.Count > 0) { povratna_naknada = Convert.ToDecimal(dsPovratnaNaknada.Tables[0].Rows[0][0]); } ReportParameter p2 = new ReportParameter("povratna_naknada", povratna_naknada.ToString()); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p2 }); string SustavPdv = @"select * from partners where id_partner = (select id_partner from kalkulacija where broj = '" + broj_kalkulacije + @"' and id_skladiste = '" + skladiste + "')"; DataSet dsPartner = classSQL.select(SustavPdv, "partners"); bool partnerExist = false, uSustavuPdv = false; if (dsPartner != null && dsPartner.Tables.Count > 0 && dsPartner.Tables[0] != null && dsPartner.Tables[0].Rows.Count > 0) { partnerExist = true; uSustavuPdv = Convert.ToBoolean(dsPartner.Tables[0].Rows[0]["uSustavPdv"].ToString()); } string sqlTecaj = @"SELECT kalkulacija.broj, kalkulacija.godina, skladiste.skladiste, kalkulacija.tecaj, kalkulacija.trosak, valute.ime_valute AS valuta FROM kalkulacija LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner WHERE " + filter + " "; DataTable dtTecaj = classSQL.select(sqlTecaj, "kalkulacija").Tables[0]; double tecaj = 1; decimal trosak = Convert.ToDecimal(dtTecaj.Rows[0]["trosak"].ToString()); if (dtTecaj.Rows.Count > 0) { tecaj = Convert.ToDouble(dtTecaj.Rows[0]["tecaj"].ToString()); } string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } DataTable dtPdvNbc = new DataTable(); dtPdvNbc.Columns.Add("stopa"); dtPdvNbc.Columns.Add("iznos"); dtPdvNbc.Columns.Add("osnovica"); string filter1 = ""; if (pregled == true) { filter1 = string.Format("ks.id_kalkulacija = '{0}'", broj_kalkulacije); } else { filter1 = string.Format("ks.broj = '{0}' AND ks.id_skladiste = '{1}'", broj_kalkulacije, skladiste); } string sql_stavke = string.Format(@"SELECT ks.sifra, ks.id_stavka AS id, r.naziv, r.jm AS jmj, ks.kolicina, ks.rabat, ks.fak_cijena, ks.prijevoz, ks.carina, ks.posebni_porez, ks.marza_postotak as marza, ks.vpc, ks.porez AS pdv, pn.iznos as povratna_naknada FROM kalkulacija_stavke ks LEFT JOIN roba r ON ks.sifra = r.sifra LEFT JOIN povratna_naknada pn on ks.sifra = pn.sifra WHERE {0} ORDER BY CAST(id_stavka AS INT) ASC;", filter1); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke"); } else { classSQL.NpgAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke"); } DataTable DT = dSkalkulacija_stavke.Tables[0]; double fakIznos = 0; double fak_iznos_stavka = 0; double fakNetto = 0; double osnovica = 0; double fakPdv = 0; double fak_ukupno_stavka = 0; double fakUk = 0; double fak_cijena = 0; double kolicina = 0; double rabat = 0; double rabatStavka = 0; double rabatUk = 0; double mpc = 0; double mpc_uk = 0; double porez = 0; double vpc = 0; double nab_cijena = 0; double posebni_porez = 0; double prijevoz = 0; double carina = 0; double net_cijena = 0; double marza = 0; double marzaIznos = 0; double marzaUk = 0; double nabavna_zadnja = 0; double marza_uk_ = 0; double fak_cijena_S_pdv = 0; double fak_cijena_S_pdv_ukp = 0; double pov_nak = 0; double prijevozSaPdv = 0; decimal trosakBezPdv = 0; decimal trosakPdv = 0; decimal trosakUkupno = 0; // Dohvača podatke ako je firma u sustavu PDV-a DataTable DTpostavke = classSQL.select_settings("SELECT sustav_pdv FROM postavke", "postavke").Tables[0]; int prikaziPdv = 0; for (int i = 0; i < DT.Rows.Count; i++) { kolicina = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3); fak_cijena = Math.Round(Convert.ToDouble(DT.Rows[i]["fak_cijena"].ToString()), 3); rabat = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 2); porez = Math.Round(Convert.ToDouble(DT.Rows[i]["pdv"].ToString()), 3); vpc = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3); posebni_porez = Math.Round(Convert.ToDouble(DT.Rows[i]["posebni_porez"].ToString()), 3); prijevoz = Math.Round(Convert.ToDouble(DT.Rows[i]["prijevoz"].ToString()), 4); carina = Math.Round(Convert.ToDouble(DT.Rows[i]["carina"].ToString()), 3); marza = Math.Round(Convert.ToDouble(DT.Rows[i]["marza"].ToString()), 2); pov_nak = Math.Round(Convert.ToDouble(DT.Rows[i]["povratna_naknada"].ToString()), 3); if (!Class.Postavke.koristi_povratnu_naknadu) { pov_nak = 0; } if (marza.ToString() == "NaN" || marza.ToString() == "Infinity") { marza = 0; } double vpc_s_kol = vpc * kolicina; double fak_s_kol = fak_cijena * kolicina; nabavna_zadnja = Math.Round((fak_s_kol - (fak_s_kol * (rabat / 100)) + ((prijevoz + carina) * kolicina)), 3); marza_uk_ = Math.Round(nabavna_zadnja * (marza / 100), 3); marzaIznos = Math.Round(marza / 100 * nabavna_zadnja, 3); marzaUk += marzaIznos; rabatStavka = Math.Round((fak_cijena * (rabat / 100)), 2) * kolicina; rabatUk += rabatStavka; mpc = vpc * (1 + porez / 100.0) + pov_nak; mpc_uk = Math.Round(mpc, 2) * kolicina; prijevozSaPdv = ((prijevoz + carina) * kolicina) * 1.25; nab_cijena = Math.Round(fak_cijena * (1 - rabat / 100), 2, MidpointRounding.AwayFromZero) * kolicina; fak_cijena_S_pdv = nab_cijena * (1 + (porez / 100)); if ((partnerExist && !uSustavuPdv) || DTpostavke.Rows[0]["sustav_pdv"].ToString() == "0") { fak_cijena_S_pdv = nab_cijena; } fak_cijena_S_pdv_ukp += fak_cijena_S_pdv; net_cijena = kolicina * fak_cijena * (1 - rabat / 100); fak_iznos_stavka = kolicina * fak_cijena; fakIznos += fak_iznos_stavka; fakNetto += Math.Round((fak_cijena * (1 - rabat / 100)), 2, MidpointRounding.AwayFromZero) * kolicina; fak_ukupno_stavka = Math.Round(vpc * (1 + porez / 100), 2) * kolicina; fakUk += fak_ukupno_stavka; osnovica += fak_ukupno_stavka * 100 / (100 + porez); fakPdv += fak_ukupno_stavka * (1 - 100 / (100 + porez)); // Stope double pdvStavka_cisto = nab_cijena * (porez / 100); int firmaSustavPdv = Convert.ToInt32(DTpostavke.Rows[0]["sustav_pdv"].ToString()); if (firmaSustavPdv == 0) { StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)nab_cijena), 4), true, false); StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)(vpc * kolicina)), 4), false, false); } else { if (partnerExist && !uSustavuPdv) { StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)nab_cijena), 4), true, false); StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)(vpc * (porez / 100) * kolicina), 4), Math.Round(((decimal)(vpc * kolicina)), 4), false); } else if (partnerExist && uSustavuPdv) { StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)pdvStavka_cisto, 4), Math.Round(((decimal)nab_cijena), 4), true); StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)(vpc * (porez / 100) * kolicina), 4), Math.Round(((decimal)(vpc * kolicina)), 4), false); prikaziPdv = 1; } } DT.Rows[i].SetField("mpc_uk", Math.Round(mpc_uk, 2, MidpointRounding.ToEven)); DT.Rows[i].SetField("mpc", Math.Round(mpc, 3)); DT.Rows[i].SetField("rabat", Math.Round(rabat, 2)); DT.Rows[i].SetField("rabat_uk", Math.Round(rabatStavka, 2)); DT.Rows[i].SetField("marza", Math.Round(marza, 3)); DT.Rows[i].SetField("marzaIznos", Math.Round(marza_uk_, 3)); DT.Rows[i].SetField("posebni_porez", posebni_porez); DT.Rows[i].SetField("prijevoz", Math.Round(prijevoz, 4)); DT.Rows[i].SetField("carina", Math.Round(carina, 3)); DT.Rows[i].SetField("kolicina", Math.Round(kolicina, 3)); DT.Rows[i].SetField("fak_cijena", Math.Round(fak_cijena, 2)); DT.Rows[i].SetField("fak_cijena_val", Math.Round(fak_cijena / tecaj, 3)); DT.Rows[i].SetField("net_cijena", Math.Round(net_cijena, 3)); DT.Rows[i].SetField("nab_cijena", Math.Round(nab_cijena, 3)); DT.Rows[i].SetField("fak_cijena_S_pdv", Math.Round(fak_cijena_S_pdv, 2)); DT.Rows[i].SetField("trosakBezPdv", Math.Round(trosakBezPdv, 3)); DT.Rows[i].SetField("trosakPdv", Math.Round(trosakPdv, 3)); DT.Rows[i].SetField("trosakUkupno", Math.Round(trosakUkupno, 3)); } fakIznos = Math.Round(fakIznos, 2, MidpointRounding.AwayFromZero); fakNetto = Math.Round(fakNetto, 2, MidpointRounding.AwayFromZero); fakPdv = Math.Round(fakPdv, 3); osnovica = Math.Round(osnovica, 3); fakUk = Math.Round(fakUk, 2); rabatUk = Math.Round(rabatUk, 2); marzaUk = Math.Round(marzaUk, 3); string filter2 = ""; if (pregled == true) { filter2 = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';"; } else { filter2 = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "';"; } // Trošak kalkulacija if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "1") { if (uSustavuPdv) { TrosakSaPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno); } else { TrosakBezPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno); } } else { TrosakBezPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno); } if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "0" || !uSustavuPdv) { fak_cijena_S_pdv_ukp = fakNetto + (double)trosakUkupno; } CheckStope((decimal)fakNetto, trosakBezPdv, trosakPdv); string sql_kalk = $@"SELECT kalkulacija.broj, kalkulacija.id_partner, kalkulacija.godina, 'Kalkulacija' AS naslov, skladiste.skladiste, kalkulacija.datum, partners.ime_tvrtke + ' ' + partners.id_partner AS dobavljac, kalkulacija.tecaj AS tecaj, kalkulacija.racun, kalkulacija.otpremnica, CAST(kalkulacija.otpremnica_datum AS date) AS otpremnica_datum, kalkulacija.tecaj, zaposlenici.ime + ' ' + zaposlenici.prezime AS kalkulirao, {trosakBezPdv.ToString().Replace(',', '.')} AS trosakBezPdv, {trosakPdv.ToString().Replace(',', '.')} AS trosakPdv, {trosakUkupno.ToString().Replace(',', '.')} AS trosakUkupno, {prikaziPdv} AS prikaziPdv, {nbcPdvUkupno.ToString().Replace(',', '.')} AS nbcPdvUkupno, CAST(kalkulacija.racun_datum AS date) AS racun_datum, valute.ime_valute AS valuta, '" + fakIznos + @"' AS fak_iznos, '" + fakNetto + @"' AS netto_fak_iznos, '" + fakPdv + @"' AS pdv, '" + rabatUk + @"' AS rabatUk, '" + marzaUk + @"' AS marzaUk, '" + osnovica + @"' AS osnovica, '" + fakUk + @"' AS ukupno, '" + Math.Round(fak_cijena_S_pdv_ukp, 2) + @"' as fak_cijena_S_pdv, case when partners.uSustavPdv = true then 'Dobavljač u sustavu PDV-a: DA' else 'Dobavljač u sustavu PDV-a: NE' end as sustavPdv FROM kalkulacija LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste LEFT JOIN zaposlenici ON kalkulacija.id_zaposlenik=zaposlenici.id_zaposlenik LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner WHERE " + filter2; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA"); } else { classSQL.NpgAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA"); } }
private void FillRacun(string broj, string[] imeTablice) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); //MessageBox.Show(broj_slovima.ToLower()); string sql2 = "SELECT " + " " + imeTablice[1] + ".kolicina," + " " + imeTablice[1] + ".vpc," + " " + imeTablice[1] + ".porez," + " " + imeTablice[1] + ".broj_racuna," + " " + imeTablice[1] + ".rabat," + " " + imeTablice[1] + ".sifra_robe AS sifra," + " roba.naziv as naziv," + " roba.jm as jm," + " " + imeTablice[1] + ".id_skladiste AS skladiste" + " FROM " + imeTablice[1] + "" + " LEFT JOIN roba ON roba.sifra=" + imeTablice[1] + ".sifra_robe " + " WHERE " + imeTablice[1] + ".broj_racuna='" + broj + "'"; if (imeTablice[1] == "racun_stavke") { sql2 += " AND racun_stavke.id_ducan=" + poslovnica + " AND racun_stavke.id_kasa=" + naplatni; } //DSRfakturaStavke DSfs = new DSRfakturaStavke(); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } double vpc = 0; double kol = 0; double porez; double rabat; double mpc; double mpcStavka; double rabatStavka = 0; double pdvStavka = 0; double osnovicaStavka = 0; double osnovicaUkupno = 0; double sveUkupno = 0; double pdvUkupno = 0; double rabatSve = 0; DataTable DT = dSRfakturaStavke.Tables[0]; for (int i = 0; i < DT.Rows.Count; i++) { vpc = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3); kol = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3); porez = Math.Round(Convert.ToDouble(DT.Rows[i]["porez"].ToString()), 2); rabat = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 2); mpc = Math.Round(vpc * (1 + porez / 100.0), 2); rabatStavka = Math.Round(mpc * kol * rabat / 100, 2); mpcStavka = Math.Round(mpc * kol - rabatStavka, 2); pdvStavka = Math.Round(mpcStavka * (1 - 100 / (100 + porez)), 2); osnovicaStavka = Math.Round(mpcStavka - pdvStavka, 2); DT.Rows[i].SetField("mpc", Math.Round(mpc, 2)); DT.Rows[i].SetField("vpc", Math.Round(vpc, 3)); DT.Rows[i].SetField("porez", Math.Round(porez, 2)); DT.Rows[i].SetField("rabat", Math.Round(rabat, 2)); DT.Rows[i].SetField("kolicina", Math.Round(kol, 3)); DT.Rows[i].SetField("mpcStavka", Math.Round(mpcStavka, 2)); DT.Rows[i].SetField("rabatStavka", Math.Round(rabatStavka, 2)); rabatSve += rabatStavka; osnovicaUkupno += osnovicaStavka; pdvUkupno += pdvStavka; sveUkupno += mpcStavka; } string broj_slovima = broj_u_text.PretvoriBrojUTekst(sveUkupno.ToString(), ',', "kn", "lp").ToString(); string year; if (imeTablice[0] == "ispis_racuni") { year = DateTime.Now.Year.ToString(); } else { year = classSQL.select("SELECT datum_racuna FROM racuni WHERE broj_racuna='" + broj_dokumenta + "'", "racuni").Tables[0].Rows[0][0].ToString(); DateTime date = Convert.ToDateTime(year); year = date.Year.ToString(); } string sql = "SELECT " + " " + imeTablice[0] + ".broj_racuna," + " " + imeTablice[0] + ".datum_racuna AS datum," + " " + imeTablice[0] + ".jir," + " " + imeTablice[0] + ".zki," + " " + imeTablice[0] + ".napomena," + " '" + sveUkupno + "' AS ukupno," + " '" + pdvUkupno + "' AS iznos_pdv," + " '" + osnovicaUkupno + "' AS osnovica," + " '" + rabatSve + "' AS rabat,"; if (imeTablice[0] == "racuni") { sql += "CAST (racuni.broj_racuna AS varchar) + '/' + ime_ducana + '/' + ime_blagajne AS Naslov,"; } else { sql += " CAST (" + imeTablice[0] + ".broj_racuna AS nvarchar) + CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(1) + "' AS nvarchar) AS Naslov,"; } sql += " partners.ime_tvrtke AS kupac_tvrtka," + " partners.adresa AS kupac_adresa," + " ' Novčanice: ' + CAST(" + imeTablice[0] + ".ukupno_gotovina AS money) + ' Kartice: ' + CAST(" + imeTablice[0] + ".ukupno_kartice AS money) AS placanje," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " partners.napomena AS napomena_tvrtka," + " ziro_racun.ziroracun AS zr," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " ziro_racun.banka AS banka," + " '" + broj_slovima.ToLower() + "' AS broj_slovima," + " partners.oib AS kupac_oib" + " FROM " + imeTablice[0] + "" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun='1'" + " LEFT JOIN zacrnjeni_partner as partners ON partners.id_partner=" + imeTablice[0] + ".id_kupac"; if (imeTablice[0] == "racuni") { sql += " LEFT JOIN ducan ON racuni.id_ducan = ducan.id_ducan " + " LEFT JOIN blagajna ON racuni.id_kasa = blagajna.id_blagajna "; } sql += " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=" + imeTablice[0] + ".id_blagajnik WHERE " + imeTablice[0] + ".broj_racuna='" + broj_dokumenta + "'"; if (imeTablice[0] == "racuni") { sql += " AND racuni.id_ducan=" + poslovnica + " AND racuni.id_kasa=" + naplatni; } if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string id_kupac_grad = ""; string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac_grad = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); id_kupac = dSFaktura.Tables[0].Rows[0]["sifra_kupac"].ToString(); } else { MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql(id_kupac_grad, naziv_fakture, id_kupac); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } string ziro = dSRpodaciTvrtke.Tables[0].Rows[0]["zr"].ToString(); dSFaktura.Tables[0].Rows[0].SetField("zr", ziro); string iban = dSRpodaciTvrtke.Tables[0].Rows[0]["iban"].ToString(); dSFaktura.Tables[0].Rows[0].SetField("iban", iban); string banka = ""; DataTable dt = classSQL.select("SELECT banka FROM ziro_racun WHERE ziroracun = '" + ziro + "'", "ziro_racun").Tables[0]; if (dt.Rows.Count > 0) { banka = dt.Rows[0]["banka"].ToString(); dSFaktura.Tables[0].Rows[0].SetField("banka", banka); } else { } }
private void PrometKase() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string WHERE = "WHERE ", whereAvans = "WHERE "; string _ducan = "SVI"; string _zaposlenik = "SVI"; string _skladiste = "SVE"; string _kasa = "SVE"; if (blagajnik != null) { WHERE += "racuni.id_blagajnik='" + blagajnik + "' AND "; whereAvans += "a.id_zaposlenik_izradio = '" + blagajnik + "' AND "; try { _zaposlenik = classSQL.select("SELECT ime + ' ' + prezime FROM zaposlenici WHERE id_zaposlenik='" + blagajnik + "'", "zaposlenici").Tables[0].Rows[0][0].ToString(); } catch (Exception) { } } if (ducan != null) { WHERE += "racuni.id_ducan='" + ducan + "' AND "; try { _ducan = classSQL.select("SELECT ime_ducana FROM ducan WHERE id_ducan='" + ducan + "'", "ducan").Tables[0].Rows[0][0].ToString(); } catch (Exception) { } } if (kasa != null) { WHERE += "racuni.id_kasa='" + kasa + "' AND "; try { _kasa = classSQL.select("SELECT ime_blagajne FROM blagajna WHERE id_blagajna='" + kasa + "'", "kasa").Tables[0].Rows[0][0].ToString(); } catch (Exception) { } } WHERE += "racuni.datum_racuna >='" + datumOD.ToString("yyyy-MM-dd HH:mm:ss") + "' AND racuni.datum_racuna <= '" + datumDO.ToString("yyyy-MM-dd HH:mm:ss") + "' "; whereAvans += "a.id_nacin_placanja in (1,2) and a.dat_knj >= '" + datumOD.ToString("yyyy-MM-dd HH:mm:ss") + "' AND a.dat_knj <= '" + datumDO.ToString("yyyy-MM-dd HH:mm:ss") + "' "; // string avansi = ""; // if (Class.Postavke.uzmi_avanse_u_promet_kase_POS) // { // avansi = string.Format(@"union all //select '-1' as sifra_robe, a.ukupno, case when length(a.artikl) > 0 then a.artikl else a.opis end as naziv, //a.osnovica_var as vpc, a.ukupno::money as mpc, replace(p.iznos::character varying(5), '.',',') as porez, //1 as kolicna, '0' as rabat, case when a.id_nacin_placanja = 1 then 'G' else case when a.id_nacin_placanja = 2 then 'K' else case when a.id_nacin_placanja = 3 then 'T' else 'O' end end end as nacin_placanja, //0 as povratna_naknada, ukupno::money as cijena //from avansi as a //left join porezi as p on a.id_pdv = p.id_porez //where a.id_nacin_placanja in (1,2) and a.dat_knj >= '{0}' AND a.dat_knj <= '{1}' //{2}{3}", // datumOD.ToString("yyyy-MM-dd HH:mm:ss"), // datumDO.ToString("yyyy-MM-dd HH:mm:ss"), // blagA, // dobA); // } string sql_liste = @"SELECT SUM(ukupno) AS [cijena1], SUM(ukupno_gotovina-(ukupno_karticezbrojukupno_gotovinazbrojukupno_bon-ukupno)) AS [cijena2], SUM(ukupno_kartice) AS [cijena3], sum(ukupno_bon) as [cijena4] FROM racuni " + WHERE; if (Class.Postavke.uzmi_avanse_u_promet_kase_POS) { sql_liste = string.Format(@"select sum(x.cijena1) as cijena1, sum(x.cijena2) as cijena2, sum(x.cijena3) as cijena3, sum(x.cijena4) as cijena4 from ( SELECT SUM(ukupno)::numeric AS [cijena1], SUM(ukupno_gotovina-(ukupno_karticezbrojukupno_gotovinazbrojukupno_bon-ukupno))::numeric AS [cijena2], SUM(ukupno_kartice)::numeric AS [cijena3], sum(ukupno_bon)::numeric as [cijena4] FROM racuni {0} union all select sum(a.ukupno) as [cijena1], case when a.id_nacin_placanja = 1 then sum(a.ukupno) else 0 end as [cijena2], case when a.id_nacin_placanja = 2 then sum(a.ukupno) else 0 end as [cijena3], case when a.id_nacin_placanja = 3 then 0 else 0 end as [cijena4] from avansi as a {1} group by a.id_nacin_placanja ) x" , WHERE, whereAvans); } if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } //------------------------------------OVAJ DIO RACUNA RABAT------------------------------------------------------------------- DataSet DS = new DataSet(); string sql_liste1 = "SELECT " + "racun_stavke.sifra_robe," + "racun_stavke.mpc," + "racun_stavke.rabat," + "racun_stavke.kolicina" + " FROM racun_stavke " + " LEFT JOIN racuni ON racun_stavke.broj_racuna=racuni.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa " + WHERE + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste1).Fill(DS, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste1).Fill(DS, "DTliste"); } decimal mpc = 0; decimal rabat = 0; decimal kolicina = 0; decimal rabat_iznos = 0; for (int i = 0; i < DS.Tables[0].Rows.Count; i++) { mpc = Convert.ToDecimal(DS.Tables[0].Rows[i]["mpc"].ToString()); rabat = Convert.ToDecimal(DS.Tables[0].Rows[i]["rabat"].ToString()); kolicina = Convert.ToDecimal(DS.Tables[0].Rows[i]["kolicina"].ToString()); rabat_iznos += (mpc * rabat / 100) * kolicina; if (DS.Tables[0].Rows[i]["sifra_robe"].ToString() == "!popustABS") { rabat_iznos -= Convert.ToDecimal(DS.Tables[0].Rows[i]["mpc"].ToString()) * kolicina; } } //------------------------------------OVAJ DIO RACUNA RABAT----------------kraj-------------------------------------- string sql_liste_string = "SELECT " + " 'Način plaćanja ' AS tbl1," + " 'Popust ' AS tbl2," + " 'Iznos ' AS tbl3," + " 'NOVČANICE ' AS string1," + " 'KARTICE ' AS string2," + " 'BONOVI ' AS string9," + " 'Dućan: " + _ducan + "' AS string3," + " 'Kasa: " + _kasa + "' AS string4," + " 'Skladište: " + _skladiste + "' AS string5," + " 'Blagajnik: " + _zaposlenik + "' AS string6," + " 'PROMET KASE PO NAČINIMA PLAĆANJA ' AS naslov," + " 'Rabat ukupno: " + Math.Round(rabat_iznos, 2).ToString("#0.00") + "' AS string3," + " 'Za razdoblje: " + datumOD + " - " + datumDO + "' AS godina" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void frmListe_Load(object sender, EventArgs e) { var dokumenti = new Dictionary <string, string> { { "Računi", "maloprodaja" }, { "Kalkulacija", "kalkulacija" }, { "Izdatnica", "izdatnica" }, { "Primka", "primka" }, { "Fakture", "fakture" }, { "Međuskladišnica iz skl", "iz_skl" }, { "Međuskladišnica u skl", "u_skl" }, { "Otpremnica", "otpremnica" }, { "Otpis robe", "otpis_robe" }, { "Povrat robe", "povrat_robe" }, { "Promjena cijene", "promjena_cijene" }, { "Inventura", "inventura" }, { "Pocetno", "pocetno" }, { "Radni nalog", "radni_nalog_stavke" }, { "Normativi RN", "radni_nalog_stavke_normativi" }, { "Radni nalog kroz uslugu", "radni_nalog_skida_normative_prema_uslugi" } }.OrderBy(x => x.Key).ToList(); dokumenti.Insert(0, new KeyValuePair <string, string>("Svi dokumenti", "svi")); cmbDokumenti.DisplayMember = "Key"; cmbDokumenti.ValueMember = "Value"; cmbDokumenti.DataSource = dokumenti; tdOdDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 01, 01, 00, 00, 00); if (Util.Korisno.GodinaKojaSeKoristiUbazi < DateTime.Now.Year) { tdDoDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 12, 31, 23, 59, 59); } else if (Util.Korisno.GodinaKojaSeKoristiUbazi == DateTime.Now.Year) { tdDoDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); } DataTable DTskl = classSQL.select("SELECT id_skladiste,skladiste FROM skladiste ORDER BY skladiste ASC", "skladiste").Tables[0]; DataRow r = DTskl.NewRow(); r[0] = "0"; r[1] = "Sva skladišta"; DTskl.Rows.Add(r); cbSkladiste.DataSource = DTskl; cbSkladiste.DisplayMember = "skladiste"; cbSkladiste.ValueMember = "id_skladiste"; cbSkladiste.SelectedValue = "0"; string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = ""; this.reportViewer1.RefreshReport(); //PROVJERAVAM NAVEDENE TABLICE JE DO 2015god DESILO SE DA NEMA VRIJEDNOSTI U KOLONAMA, 2016god MOŽE SE MAKNUTI string query = @"UPDATE inventura_stavke SET porez=(SELECT porez FROM roba WHERE roba.sifra=inventura_stavke.sifra_robe LIMIT 1) WHERE porez='' OR porez IS NULL; UPDATE promjena_cijene_stavke SET kolicina='1' WHERE kolicina='' OR kolicina IS NULL;" ; classSQL.update(query); }
private void dobit_po_maloprodajnim() { //datumDO = DateTime.Now; //datumOD = DateTime.Now.AddDays(-365); //BrojFakDO = ""; //BrojFakOD = ""; string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string kriterij = ""; if (prema_rac) { kriterij = " WHERE CAST(racuni.broj_racuna as int) >= '" + BrojFakOD + "' AND CAST(racuni.broj_racuna as int) <= '" + BrojFakDO + "' ORDER BY CAST(racuni.broj_racuna as int) ASC"; } else { kriterij = " WHERE racuni.datum_racuna >= '" + datumOD + "' AND racuni.datum_racuna <= '" + datumDO + "' ORDER BY racuni.datum_racuna ASC"; } string sqlHeder = "SELECT " + " racuni.broj_racuna, " + " racuni.datum_racuna, " + " partners.id_partner," + " partners.ime_tvrtke" + " FROM racuni" + " LEFT JOIN partners ON partners.id_partner=racuni.id_kupac " + kriterij + ""; DataRow DDTrow = dSRlisteTekst.Tables[0].NewRow(); if (BrojFakDO != "") { DDTrow["string3"] = "Od računa :" + " " + BrojFakOD.ToString(); DDTrow["string4"] = "Do računa :" + " " + BrojFakDO.ToString(); } else { DDTrow["string3"] = "Od datuma :" + " " + datumOD.ToString("dd.MM.yyyy"); DDTrow["string4"] = "Do datuma :" + " " + datumDO.ToString("dd.MM.yyyy"); } //if (documenat == "kalk") //{ // DDTrow["string5"] = "Kalkulacije"; //} dSRlisteTekst.Tables[0].Rows.Add(DDTrow); DataTable DTheader = classSQL.select(sqlHeder, "racuni").Tables[0]; DataTable DTstavke; for (int i = 0; i < DTheader.Rows.Count; i++) { string sqlStavka = "SELECT " + " racun_stavke.broj_racuna," + " racun_stavke.vpc," + " racun_stavke.sifra_robe," + " racun_stavke.mpc," + " racun_stavke.porez," + " racun_stavke.nbc," + " racun_stavke.kolicina," + " racun_stavke.rabat " + " FROM racun_stavke" + " WHERE CAST(racun_stavke.broj_racuna as int) ='" + DTheader.Rows[i]["broj_racuna"].ToString() + "'"; DTstavke = classSQL.select(sqlStavka, "racun_stavke").Tables[0]; decimal Bruto = 0; decimal Neto = 0; decimal Dobit = 0; decimal Nabavna = 0; decimal Porez = 0; decimal Rabat_uk = 0; decimal vpc_sa_rab = 0; decimal prer_stopa = 0; for (int y = 0; y < DTstavke.Rows.Count; y++) { string sifra = DTstavke.Rows[y]["sifra_robe"].ToString(); decimal vpc = Convert.ToDecimal(DTstavke.Rows[y]["vpc"].ToString()); decimal nbc = Convert.ToDecimal(classSQL.select("Select nc From roba Where sifra = '" + sifra + "'", "nbc").Tables[0].Rows[0][0].ToString());//Convert.ToDecimal(DTstavke.Rows[y]["nbc"].ToString()); decimal mpc = Convert.ToDecimal(DTstavke.Rows[y]["mpc"].ToString()); decimal pdv = Convert.ToDecimal(DTstavke.Rows[y]["porez"].ToString()); decimal rabat = Convert.ToDecimal(DTstavke.Rows[y]["rabat"].ToString()); decimal kol = Convert.ToDecimal(DTstavke.Rows[y]["kolicina"].ToString()); decimal mpc_rab = (mpc - (mpc * (rabat / 100))); prer_stopa = ((100 * pdv) / (100 + pdv)) / 100; Bruto = (mpc_rab * kol) + Bruto; Neto = (mpc_rab / (1 + (pdv / 100)) * kol) + Neto; Nabavna = (nbc * kol) + Nabavna; Porez = Bruto - Neto; Rabat_uk = ((mpc * (rabat / 100)) * kol) + Rabat_uk; vpc_sa_rab = Rabat_uk / (1 + (pdv / 100)); Dobit = Neto - Nabavna; } string sifrainaziv = ""; if (sifrainaziv == "0" || sifrainaziv == "" || sifrainaziv == null) { sifrainaziv = "PRIVATNI KUPAC"; } else { sifrainaziv = DTheader.Rows[i]["id_partner"].ToString() + " " + DTheader.Rows[i]["ime_tvrtke"].ToString(); } DataRow DTrow = dSRliste.Tables[0].NewRow(); DTrow["datum1"] = Convert.ToDateTime(DTheader.Rows[i]["datum_racuna"].ToString()).ToString("dd-MM-yyyy"); DTrow["sifra"] = DTheader.Rows[i]["broj_racuna"].ToString(); DTrow["naziv"] = sifrainaziv; DTrow["cijena1"] = Bruto.ToString("#0.00"); DTrow["cijena2"] = Neto.ToString("#0.00"); DTrow["cijena3"] = Nabavna.ToString("#0.00"); DTrow["cijena4"] = Porez.ToString("#0.00"); DTrow["cijena5"] = Dobit.ToString("#0.00"); DTrow["cijena6"] = Rabat_uk.ToString("#0.00"); dSRliste.Tables[0].Rows.Add(DTrow); } }
private void ListaKalkulacije() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); //string Broj_fakture = ""; //DateTime Datum_dokumenta; //DateTime Datum_valute; //string Sifra_i_naziv_partnera = ""; string kriterij = ""; if (prema_rac) { kriterij = " WHERE kalkulacija.broj >= '" + BrojFakOD + "' AND kalkulacija.broj <= '" + BrojFakDO + "' ORDER BY kalkulacija.broj ASC"; } else { kriterij = " WHERE kalkulacija.racun_datum >= '" + datumOD + "' AND kalkulacija.racun_datum <= '" + datumDO + "' ORDER BY kalkulacija.racun_datum ASC"; } string sqlHeder = "SELECT " + " kalkulacija.broj, " + " kalkulacija.id_skladiste, " + " kalkulacija.id_kalkulacija, " + " kalkulacija.racun_datum, " + " partners.id_partner," + " partners.ime_tvrtke" + " FROM kalkulacija" + " LEFT JOIN partners ON partners.id_partner=kalkulacija.id_partner " + kriterij + ""; DataRow DDTrow = dSRlisteTekst.Tables[0].NewRow(); if (BrojFakDO != "") { DDTrow["string3"] = "Od računa :" + " " + BrojFakOD.ToString(); DDTrow["string4"] = "Do računa :" + " " + BrojFakDO.ToString(); } else { DDTrow["string3"] = "Od datuma :" + " " + datumOD.ToString(); DDTrow["string4"] = "Do datuma :" + " " + datumDO.ToString(); } if (documenat == "kalk") { DDTrow["string5"] = "Kalkulacije"; } dSRlisteTekst.Tables[0].Rows.Add(DDTrow); DataTable DTheader = classSQL.select(sqlHeder, "kalkulacija").Tables[0]; DataTable DTstavke; for (int i = 0; i < DTheader.Rows.Count; i++) { string sqlStavka = "SELECT " + " kalkulacija_stavke.broj," + " kalkulacija_stavke.vpc," + " kalkulacija_stavke.porez," + " kalkulacija_stavke.kolicina," + " kalkulacija_stavke.id_skladiste," + " kalkulacija_stavke.rabat, " + " kalkulacija_stavke.marza_postotak, " + " kalkulacija_stavke.fak_cijena, " + " kalkulacija_stavke.carina, " + " kalkulacija_stavke.prijevoz, " + " kalkulacija_stavke.posebni_porez " + " FROM kalkulacija_stavke" + " WHERE kalkulacija_stavke.broj='" + DTheader.Rows[i]["broj"].ToString() + "' AND kalkulacija_stavke.id_skladiste='" + DTheader.Rows[i]["id_skladiste"].ToString() + "'"; DTstavke = classSQL.select(sqlStavka, "kalkulacija_stavke").Tables[0]; decimal Iznos_fakturni_uk = 0; decimal Iznos_nabavni_uk = 0; decimal fakt_cijena_sa_sab = 0; decimal iznos_bez_poreza = 0; decimal iznos_sa_porezom = 0; decimal zavisni = 0; decimal marza = 0; for (int y = 0; y < DTstavke.Rows.Count; y++) { decimal vpc = Convert.ToDecimal(DTstavke.Rows[y]["vpc"].ToString()); decimal pdv = Convert.ToDecimal(DTstavke.Rows[y]["porez"].ToString()); decimal rabat = Convert.ToDecimal(DTstavke.Rows[y]["rabat"].ToString()); decimal kol = Convert.ToDecimal(DTstavke.Rows[y]["kolicina"].ToString()); decimal marza_post = Convert.ToDecimal(DTstavke.Rows[y]["marza_postotak"].ToString()); decimal car = Convert.ToDecimal(DTstavke.Rows[y]["carina"].ToString()); decimal transport = Convert.ToDecimal(DTstavke.Rows[y]["prijevoz"].ToString()); decimal fakt_cijena = Convert.ToDecimal(DTstavke.Rows[y]["fak_cijena"].ToString()); Iznos_fakturni_uk = (fakt_cijena * kol) + Iznos_fakturni_uk; fakt_cijena_sa_sab = fakt_cijena - (fakt_cijena * (rabat / 100)); Iznos_nabavni_uk = ((fakt_cijena_sa_sab * kol) - transport - car) + Iznos_nabavni_uk; iznos_bez_poreza = (vpc * kol) + iznos_bez_poreza; iznos_sa_porezom = ((vpc + (vpc * (pdv / 100))) * kol) + iznos_sa_porezom; zavisni = (car + transport) + zavisni; marza = Math.Round(marza / 100 * fakt_cijena, 2); } DataRow DTrow = dSRliste.Tables[0].NewRow(); DTrow["jmj"] = DTheader.Rows[i]["broj"].ToString(); DTrow["datum2"] = Convert.ToDateTime(DTheader.Rows[i]["racun_datum"].ToString()).ToString("dd-MM-yyyy"); DTrow["sifra"] = DTheader.Rows[i]["id_kalkulacija"].ToString(); DTrow["naziv"] = DTheader.Rows[i]["id_partner"].ToString() + " " + DTheader.Rows[i]["ime_tvrtke"].ToString(); DTrow["cijena1"] = Iznos_fakturni_uk.ToString("#0.00"); DTrow["cijena2"] = Iznos_nabavni_uk.ToString("#0.00"); DTrow["cijena3"] = iznos_bez_poreza.ToString("#0.00"); DTrow["cijena5"] = iznos_sa_porezom.ToString("#0.00"); DTrow["cijena6"] = 0; DTrow["cijena7"] = marza.ToString("#0.00"); DTrow["cijena8"] = zavisni.ToString("#0.00"); dSRliste.Tables[0].Rows.Add(DTrow); } }
private void promjenaCijeneKomadno() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_liste = "SELECT " + " promjena_cijene_komadno_stavke.sifra," + " roba.naziv," + " promjena_cijene_komadno_stavke.postotak AS jmj," + " promjena_cijene_komadno_stavke.stara_cijena AS cijena1 ," + " promjena_cijene_komadno_stavke.nova_cijena AS cijena3," + " promjena_cijene_komadno_stavke.pdv AS cijena4," + " CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money) AS cijena6," + " CAST(CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money) AS money)" + " - " + " CAST((CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money))" + " / " + " CAST('1.'+promjena_cijene_komadno_stavke.pdv AS numeric) AS money) AS cijena5" + " FROM promjena_cijene_komadno_stavke" + " LEFT JOIN roba ON roba.sifra=promjena_cijene_komadno_stavke.sifra WHERE broj='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string year = ""; DataTable DT = classSQL.select("SELECT date FROM promjena_cijene_komadno WHERE broj='" + broj_dokumenta + "'", "promjena_cijene_komadno").Tables[0]; if (DT.Rows.Count > 0) { year = Convert.ToDateTime(DT.Rows[0]["date"].ToString()).Year.ToString(); } string sql_liste_string = "SELECT " + " 'Šifra' AS tbl1," + " 'Naziv' AS tbl2," + " 'Postotak' AS tbl3," + " 'Stara cijena' AS tbl4," + " 'Nova cijena' AS tbl5," + " 'PDV' AS tbl6," + " 'PDV iznos' AS tbl7," + " 'Iznos' AS tbl8," + " promjena_cijene_komadno.date AS datum1," + " promjena_cijene_komadno.napomena AS komentar," + " skladiste.skladiste AS skladiste," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," + " CAST ('ZAPISNIK O PROMJENI CIJENE ' AS nvarchar) + CAST (promjena_cijene_komadno.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" + " FROM promjena_cijene_komadno " + " LEFT JOIN skladiste ON skladiste.id_skladiste=promjena_cijene_komadno.id_skladiste " + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=promjena_cijene_komadno.id_izradio " + " WHERE broj ='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void obracunporeza() { //if (DTpdv.Columns["porez"] == null) //{ // DTpdv.Columns.Add("porez"); // DTpdv.Columns.Add("iznos"); // DTpdv.Columns.Add("nacin"); // DTpdv.Columns.Add("osnovica"); //} //else //{ // DTpdv.Clear(); //} string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); frmObracunporeza obrporez = new frmObracunporeza(); string duc = ""; if (ducbool == true) { duc = " CAST(racuni.id_ducan AS INTEGER) ='" + ducan + "' AND "; } else { duc = ""; } string datOD = ""; string datODrez = ""; //if (datbool == true) //{ datOD = " racuni.datum_racuna >='" + datumOD.AddDays(0).ToString("yyyy-MM-dd 00:00:00") + "' AND "; datODrez = "'" + datumOD.AddDays(0).ToString("yyyy-MM-dd") + "' As datum2 ,"; //} //else //{ // datOD = ""; //} string datDO = ""; string datDOrez = ""; //if (datbool == true) //{ datDO = "racuni.datum_racuna <='" + datumDO.AddDays(0).ToString("yyyy-MM-dd 23:59:59") + "' AND "; datDOrez = "'" + datumDO.AddDays(0).ToString("yyyy-MM-dd") + "' As datum3 ,"; //} //else //{ // datDO = ""; //} string kas = ""; if (kasbool == true) { kas = "CAST(racuni.id_kasa AS INTEGER) ='" + kasa + "' AND "; } else { kas = ""; } string racOD = ""; string racodd = ""; if (racbool == true) { racOD = " CAST(racuni.broj_racuna AS INTEGER) >='" + racunOD + "' AND "; racodd = " '" + racunodd + "' As string3 ,"; } else { racOD = ""; } string racDO = ""; string racdoo = ""; if (racbool == true) { racDO = " CAST(racuni.broj_racuna AS INTEGER) <='" + racunDO + "' AND "; racdoo = " '" + racundoo + "' As string4 ,"; } else { racDO = ""; } string bla = ""; string blag = ""; if (blabool == true) { bla = "racuni.id_blagajnik ='" + blagajnik + "' AND "; blag = " '" + blagajnik + "' As string5 ,"; } else { bla = ""; } string filter = datOD + datDO + racOD + racDO + kas + bla + duc; if (filter.Length != 0) { filter = " WHERE " + filter; filter = filter.Remove(filter.Length - 4, 4); } string sql_liste = "SELECT " + " racun_stavke.porez ," + " CAST(racuni.broj_racuna AS int) As string3 ," + " racun_stavke.rabat As rabat ," + " racun_stavke.kolicina ," + " racun_stavke.vpc ," + " racun_stavke.mpc ," + blag + racodd + racdoo + " racuni.datum_racuna As datum1," + datODrez + datDOrez + " racuni.id_ducan As string1," + " racuni.id_kasa As string2," + " roba.oduzmi," + " racuni.ukupno," + " racun_stavke.porez_potrosnja," + " racun_stavke.povratna_naknada" + " FROM racun_stavke" + " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe " + " LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa " + filter; classSQL.NpgAdatpter(sql_liste).Fill(dSRlisteTekst, "DTlisteTekst"); if (dSRlisteTekst.Tables[0].Rows.Count < 1) { this.Hide(); MessageBox.Show("Za taj upit ne postoji ni jedan zapis !"); this.Close(); } DataTable DTstavke; DTstavke = classSQL.select(sql_liste, "racun_stavke").Tables[0]; //DataTable DTstavke1; //DTstavke1 = classSQL.select(sql_liste, "racun_stavke").Tables[0]; //DataTable DTstavke2; //DTstavke2 = classSQL.select(sql_liste, "racun_stavke").Tables[0]; decimal Stopa = 0; decimal iznos_bez_poreza = 0; decimal osnovica_ukupno = 0; decimal rabat_iznos = 0; decimal pdv_rabat = 0; decimal pdv_osnovica = 0; decimal pdv_iznos = 0; decimal Stopa1 = 0; decimal iznos_bez_poreza1 = 0; decimal osnovica_ukupno1 = 0; decimal pdv_rabat1 = 0; decimal pdv_osnovica1 = 0; decimal pdv_iznos1 = 0; decimal povratna_naknada = 0; decimal povratna_naknadauk = 0; decimal povratna_naknada1 = 0; decimal porez_na_potrosnju = 0; decimal sveukupno1 = 0; decimal sveukupno2 = 0; decimal porez_na_potrosnju1 = 0; decimal rabat_iznos1 = 0; decimal ukupnoPdv1 = 0; decimal kolicina = 0; decimal mpc = 0; decimal mpcc = 0; decimal pdv = 0; decimal rabat = 0; decimal ukupnoRabat = 0; decimal ukupnoPdv = 0; bool zadnji = false; int brojRedova = DTstavke.Rows.Count; int brojac = 0; foreach (DataRow row in DTstavke.Rows) { brojac++; if (brojRedova == brojac) { zadnji = true; } kolicina = Convert.ToDecimal(row["kolicina"].ToString()); mpcc = Convert.ToDecimal(row["mpc"].ToString()); pdv = Convert.ToDecimal(row["porez"].ToString()); rabat = Convert.ToDecimal(row["rabat"].ToString()); if (row["povratna_naknada"].ToString() != "") { povratna_naknada = Convert.ToDecimal(row["povratna_naknada"].ToString()); } else { povratna_naknada = 0; } mpc = Convert.ToDecimal(row["mpc"].ToString()) - (povratna_naknada == 0 ? povratna_naknada : (kolicina == 0 ? 0 : povratna_naknada / kolicina)); /* * RowPdv["porezroba"] = pdv.ToString(); * RowPdv["stopa"] = stopa.ToString("#0.00"); * RowPdv["sveukup"] = sveukupno.ToString("#0.00"); * RowPdv["povrnakn"] = povratna_naknada.ToString("#0.00"); * RowPdv["rabat"] = rabat.ToString("#0.00"); * RowPdv["pdvrabat"] = pdv_rabat.ToString("#0.00"); * RowPdv["osnovica"] = mpc.ToString("#0.00"); * RowPdv["pdv"] = pdv_iznos.ToString("#0.00"); * RowPdv["iznbezpor"] = iznosBezPoreza.ToString("#0.00");*/ if (row["oduzmi"].ToString() == "DA") { decimal rabatIznos = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero); decimal mpc_s_rab = Math.Round(mpc - rabatIznos, 6, MidpointRounding.AwayFromZero); decimal mpcSRabUkupno = Math.Round((mpc_s_rab * kolicina), 6, MidpointRounding.AwayFromZero); decimal rabatt = mpcc * (rabat / 100) * kolicina; ukupnoRabat += rabatt; decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv)); decimal pdvIznos = Math.Round(((mpc_s_rab * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero); ukupnoPdv = pdvIznos + ukupnoPdv; decimal osnovicauk = (mpcSRabUkupno - ((pdvIznos))); osnovica_ukupno = osnovicauk + osnovica_ukupno; povratna_naknadauk += povratna_naknada; pdv_rabat = rabatt * (PreracunataStopaPDV / 100); StopePDVa(pdv, PreracunataStopaPDV, (osnovicauk + pdvIznos + povratna_naknada), povratna_naknada, rabatt, pdv_rabat, pdv_rabat + osnovicauk, pdvIznos, porez_na_potrosnju, osnovicauk, zadnji); } else { decimal rabatIznos1 = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero); decimal mpc_s_rab1 = Math.Round(mpc - rabatIznos1, 6, MidpointRounding.AwayFromZero); decimal mpcSRabUkupno1 = Math.Round((mpc_s_rab1 * kolicina), 6, MidpointRounding.AwayFromZero); decimal rabatt1 = mpcc * (rabat / 100) * kolicina; ukupnoRabat += rabatt1; decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv)); decimal pdvIznos1 = Math.Round(((mpc_s_rab1 * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero); ukupnoPdv1 = pdvIznos1 + ukupnoPdv; decimal osnovicauk1 = (mpcSRabUkupno1 - ((pdvIznos1))); osnovica_ukupno = osnovicauk1 + osnovica_ukupno; pdv_rabat = rabatt1 * (PreracunataStopaPDV / 100); StopePDVa1(pdv, PreracunataStopaPDV, (osnovicauk1 + pdvIznos1 + povratna_naknada), povratna_naknada, rabatt1, pdv_rabat, pdv_rabat + osnovicauk1, pdv_iznos1, porez_na_potrosnju1, osnovicauk1, zadnji); } } StopePDVa(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa1(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa1(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa1(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa1(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); StopePDVa1(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); }
private void PrometKase_fak() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string WHERE = "WHERE "; string _ducan = "SVI"; string _zaposlenik = "SVI"; string _skladiste = "SVE"; if (blagajnik != null) { WHERE += "fakture.id_zaposlenik_izradio='" + blagajnik + "' AND "; try { _zaposlenik = classSQL.select("SELECT ime + ' ' + prezime FROM zaposlenici WHERE id_zaposlenik='" + blagajnik + "'", "zaposlenici").Tables[0].Rows[0][0].ToString(); } catch (Exception) { } } if (skladiste != null) { WHERE += "faktura_stavke.id_skladiste='" + skladiste + "' AND "; try { _skladiste = classSQL.select("SELECT skladiste FROM skladiste WHERE id_skladiste='" + skladiste + "'", "skladiste").Tables[0].Rows[0][0].ToString(); } catch (Exception) { } } string dodatak = ""; //WHERE += "racuni.datum_racuna >'" + datumOD + "' AND racuni.datum_racuna <'" + datumDO + "' AND racuni.storno = 'NE'"; dodatak += " AND fakture.date >'" + datumOD + "' AND fakture.date <'" + datumDO + "' "; string gotovina = "Select sum(ukupno) as ukupno From fakture where id_nacin_placanja = '1' " + dodatak; DataTable DTgoto = classSQL.select(gotovina, "gotovina").Tables[0]; string kartice = "Select sum(ukupno) as ukupno From fakture where id_nacin_placanja = '2' " + dodatak; DataTable DTkart = classSQL.select(kartice, "gotovina").Tables[0]; decimal kartice_ = 0; decimal gotovina_ = 0; if (DTkart.Rows[0]["ukupno"].ToString() != "") { kartice_ = Convert.ToDecimal(DTkart.Rows[0]["ukupno"].ToString()); } if (DTgoto.Rows[0]["ukupno"].ToString() != "") { gotovina_ = Convert.ToDecimal(DTgoto.Rows[0]["ukupno"].ToString()); } decimal ukupno = kartice_ + gotovina_; string sql_liste = "SELECT '" + ukupno + "' AS [cijena1], '" + gotovina_ + "' AS [cijena2],'" + kartice_ + "' AS [cijena3] "; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } //------------------------------------OVAJ DIO RACUNA RABAT------------------------------------------------------------------- WHERE += " fakture.date >'" + datumOD + "' AND fakture.date <'" + datumDO + "' "; DataSet DS = new DataSet(); string sql_liste1 = "SELECT " + "faktura_stavke.vpc," + "faktura_stavke.rabat," + "faktura_stavke.porez," + "faktura_stavke.kolicina" + " FROM faktura_stavke " + " LEFT JOIN fakture ON faktura_stavke.broj_fakture=fakture.broj_fakture " + " AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa " + WHERE + " AND fakture.id_nacin_placanja <> '3' AND fakture.id_nacin_placanja <> '4'" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste1).Fill(DS, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste1).Fill(DS, "DTliste"); } decimal mpc = 0; decimal vpc = 0; decimal pdv = 0; decimal rabat = 0; decimal kolicina = 0; decimal rabat_iznos = 0; for (int i = 0; i < DS.Tables[0].Rows.Count; i++) { vpc = Convert.ToDecimal(DS.Tables[0].Rows[i]["vpc"].ToString()); pdv = Convert.ToDecimal(DS.Tables[0].Rows[i]["porez"].ToString()); rabat = Convert.ToDecimal(DS.Tables[0].Rows[i]["rabat"].ToString()); kolicina = Convert.ToDecimal(DS.Tables[0].Rows[i]["kolicina"].ToString()); mpc = vpc * (1 + (pdv / 100)); rabat_iznos += (mpc * rabat / 100) * kolicina; } //------------------------------------OVAJ DIO RACUNA RABAT----------------kraj-------------------------------------- string sql_liste_string = "SELECT " + " 'Način plaćanja ' AS tbl1," + " 'Popust ' AS tbl2," + " 'Iznos ' AS tbl3," + " 'NOVČANICE ' AS string1," + " 'KARTICE ' AS string2," + " 'Dućan: " + _ducan + "' AS string3," + " '' AS string4," + " 'Skladište: " + _skladiste + "' AS string5," + " 'Blagajnik: " + _zaposlenik + "' AS string6," + " 'PROMET KASE PO NAČINIMA PLAĆANJA ' AS naslov," + " 'Rabat ukupno: " + Math.Round(rabat_iznos, 2).ToString("#0.00") + "' AS string3," + " 'Za razdoblje: " + datumOD + " - " + datumDO + "' AS godina" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void KnjigaIO() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_liste; if (sa_rabatom) { sql_liste = "SELECT (CURRENT_DATE zbroj i) AS datum1, " + "'Račun' AS naziv, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena1, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena2, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat1, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat2, " + "0.0 AS cijena3, " + "'Faktura' AS naziv2, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena5, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena6, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat3, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat4, " + "0.0 AS cijena7, " + " 'Kalkulacija' AS cijena4, " + "CAST((SELECT SUM(kalkulacija.ukupno_mpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena8, " + "CAST((SELECT SUM(kalkulacija.ukupno_vpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena9, " + "0.0 AS cijena10, " + "'Faktura IFB' AS naziv3, " + "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1-ifb_stavke.rabat/100)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena11, " + "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1-ifb_stavke.rabat/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena12, " + "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina*ifb_stavke.rabat/100)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena13, " + "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina*ifb_stavke.rabat/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena14, 0.0 AS cijena14, 0.0 AS cijena15 " + "FROM generate_series(date '" + datumOD.ToString("yyyy-MM-dd") + "'- CURRENT_DATE, " + "date '" + datumDO.ToString("yyyy-MM-dd") + "' - CURRENT_DATE ) i "; } else { sql_liste = "SELECT (CURRENT_DATE zbroj i) AS datum1, " + "'Račun' AS naziv, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena1, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena2, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat1, " + "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat2, " + "0.0 AS cijena3, " + "'Faktura' AS naziv2, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena5, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena6, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat3, " + "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat4, " + "0.0 AS cijena7, " + " 'Kalkulacija' AS cijena4, " + "CAST((SELECT SUM(kalkulacija.ukupno_mpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena8, " + "CAST((SELECT SUM(kalkulacija.ukupno_vpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena9, " + "0.0 AS cijena10, " + "'Faktura IFB' AS naziv3, " + "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena11, " + "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena12, " + "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena13, " + "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena14, 0.0 AS cijena14, 0.0 AS cijena15 " + "FROM generate_series(date '" + datumOD.ToString("yyyy-MM-dd") + "'- CURRENT_DATE, " + "date '" + datumDO.ToString("yyyy-MM-dd") + "' - CURRENT_DATE ) i "; } if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string sql_liste_string = "SELECT " + " 'Datum' AS tbl1," + " 'Opis' AS tbl2," + " 'MPC razduženje' AS tbl3," + " 'VPC razduženje' AS tbl4," + " 'PDV razduženje' AS tbl5," + " 'MPC zaduženje' AS tbl6," + " 'VPC zaduženje' AS tbl7," + " 'PDV zaduženje' AS tbl8," + " 'Knjiga Ulaza i Izlaza' AS naslov"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } for (int i = 0; i < dSRliste.Tables[0].Rows.Count; i++) { decimal c1, c2, c5, c6, c8, c9, c11, c12, c13, c14; decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena1"].ToString(), out c1); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena2"].ToString(), out c2); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena5"].ToString(), out c5); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena6"].ToString(), out c6); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena8"].ToString(), out c8); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena9"].ToString(), out c9); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena11"].ToString(), out c11); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena12"].ToString(), out c12); decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena13"].ToString(), out c13); dSRliste.Tables[0].Rows[i]["cijena1"] = c1; dSRliste.Tables[0].Rows[i]["cijena2"] = c2; dSRliste.Tables[0].Rows[i]["cijena3"] = c1 - c2; dSRliste.Tables[0].Rows[i]["cijena5"] = c5; dSRliste.Tables[0].Rows[i]["cijena6"] = c6; dSRliste.Tables[0].Rows[i]["cijena7"] = c5 - c6; dSRliste.Tables[0].Rows[i]["cijena8"] = c8; dSRliste.Tables[0].Rows[i]["cijena9"] = c9; dSRliste.Tables[0].Rows[i]["cijena10"] = c8 - c9; dSRliste.Tables[0].Rows[i]["cijena11"] = c11; dSRliste.Tables[0].Rows[i]["cijena12"] = c12; dSRliste.Tables[0].Rows[i]["cijena13"] = c13; dSRliste.Tables[0].Rows[i]["cijena14"] = c11 - c12; } }
private void Normativ() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_liste = "SELECT " + " normativi_stavke.sifra_robe as sifra," + " roba.naziv," + " normativi_stavke.kolicina AS cijena1," + " roba.jm AS jmj," + " roba_prodaja.vpc AS cijena3 ," + " (COALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*(COALESCE(CAST(replace(roba_prodaja.porez, ',','.') AS NUMERIC),0) zbroj COALESCE(CAST(roba_prodaja.porez_potrosnja AS NUMERIC),0))/100)zbrojCOALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0) AS cijena5," + " skladiste.skladiste AS cijena4, " + " (COALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*(COALESCE(CAST(replace(roba_prodaja.porez, ',','.') AS NUMERIC),0)zbrojCOALESCE(CAST(roba_prodaja.porez_potrosnja AS NUMERIC),0))/100)zbrojCOALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*COALESCE(CAST(REPLACE(normativi_stavke.kolicina,',','.') AS NUMERIC),0) AS cijena6 " + " FROM normativi_stavke" + " LEFT JOIN roba ON roba.sifra=normativi_stavke.sifra_robe" + " LEFT JOIN skladiste ON skladiste.id_skladiste=normativi_stavke.id_skladiste" + " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=normativi_stavke.sifra_robe AND roba_prodaja.id_skladiste=normativi_stavke.id_skladiste " + " WHERE broj_normativa='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string year = ""; DataTable DT = classSQL.select("SELECT godina_normativa FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0]; if (DT.Rows.Count > 0) { year = DT.Rows[0]["godina_normativa"].ToString(); } //DataTable DTnor = classSQL.select("SELECT * FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0]; string sql_liste_string = "SELECT " + " 'Šifra' AS tbl1," + " 'Naziv' AS tbl2," + " 'Količina' AS tbl4," + " 'JMJ' AS tbl3," + " 'VPC' AS tbl5," + " 'MPC' AS tbl7," + " 'Skladište' AS tbl6," + " 'Iznos' AS tbl8," + //" normativi.godina_normativa AS datum1," + " normativi.komentar+'\r\n\r\nŠIFRA OVOG NORMATIVA JE: '+normativi.sifra_artikla+'\r\nNAZIV ARTIKLA: '+ roba.naziv AS komentar," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," + " CAST ('Normativ ' AS nvarchar) + CAST (normativi.broj_normativa AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" + " FROM normativi " + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=normativi.id_zaposlenik " + " LEFT JOIN roba ON roba.sifra=normativi.sifra_artikla " + " WHERE normativi.broj_normativa ='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void meduskladisnica() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_liste = "SELECT " + " meduskladisnica_stavke.sifra," + " roba.naziv," + " meduskladisnica_stavke.kolicina AS cijena1," + " roba.jm AS jmj," + " meduskladisnica_stavke.vpc AS cijena3 ," + " meduskladisnica_stavke.mpc AS cijena5," + " meduskladisnica_stavke.pdv+'% / '+ROUND((CAST(meduskladisnica_stavke.vpc AS NUMERIC)*CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS NUMERIC))*(CAST(REPLACE(meduskladisnica_stavke.pdv,',','.') AS NUMERIC))/100,2) AS cijena4," + " ROUND((CAST(meduskladisnica_stavke.vpc AS NUMERIC)*CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS NUMERIC))*(CAST(REPLACE(meduskladisnica_stavke.pdv,',','.') AS NUMERIC))/100,2) AS cijena9," + " CAST(meduskladisnica_stavke.mpc AS numeric) * CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS numeric) AS cijena6 " + " FROM meduskladisnica_stavke" + " LEFT JOIN roba ON roba.sifra=meduskladisnica_stavke.sifra WHERE broj='" + broj_dokumenta + "' AND iz_skladista='" + skladiste + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string year = ""; DataTable DT = classSQL.select("SELECT datum FROM meduskladisnica WHERE broj='" + broj_dokumenta + "'", "meduskladisnica").Tables[0]; if (DT.Rows.Count > 0) { year = Convert.ToDateTime(DT.Rows[0]["datum"].ToString()).Year.ToString(); } string sql_liste_string = "SELECT " + " 'Šifra' AS tbl1," + " 'Naziv' AS tbl2," + " 'Količina' AS tbl4," + " 'JMJ' AS tbl3," + " 'VPC' AS tbl5," + " 'MPC' AS tbl7," + " 'PDV / Iznos PDV-a' AS tbl6," + " 'Iznos' AS tbl8," + " '0' AS string6," + " meduskladisnica.datum AS datum1," + " meduskladisnica.napomena AS komentar," + " 'Iz skladišta: '+skladiste.skladiste + ' u skladište: ' + T2.skladiste AS skladiste," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," + " CAST ('MEĐUSKLADIŠNICA ' AS nvarchar) + CAST (meduskladisnica.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" + " FROM meduskladisnica " + " LEFT JOIN skladiste ON skladiste.id_skladiste=meduskladisnica.id_skladiste_od " + " LEFT JOIN skladiste T2 ON T2.id_skladiste = meduskladisnica.id_skladiste_do " + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=meduskladisnica.id_izradio " + " WHERE meduskladisnica.broj ='" + broj_dokumenta + "' AND meduskladisnica.id_skladiste_od='" + skladiste + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void SetPovratDobavljacu() { string filter = ""; if (pregled == true) { filter = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';"; } else { filter = "povrat_robe.broj='" + broj_kalkulacije + "' AND povrat_robe.id_skladiste='" + skladiste + "';"; } string SustavPdv = @"select * from partners where id_partner = (select id_partner from povrat_robe where broj = '" + broj_kalkulacije + @"' and id_skladiste = '" + skladiste + "')"; DataSet dsPartner = classSQL.select(SustavPdv, "partners"); bool partnerExist = false, uSustavuPdv = false; if (dsPartner != null && dsPartner.Tables.Count > 0 && dsPartner.Tables[0] != null && dsPartner.Tables[0].Rows.Count > 0) { partnerExist = true; uSustavuPdv = Convert.ToBoolean(dsPartner.Tables[0].Rows[0]["uSustavPdv"].ToString()); } string sqlTecaj = @"SELECT povrat_robe.broj, povrat_robe.godina, skladiste.skladiste, povrat_robe.tecaj, valute.ime_valute AS valuta FROM povrat_robe LEFT JOIN skladiste ON povrat_robe.id_skladiste=skladiste.id_skladiste LEFT JOIN valute ON povrat_robe.id_valuta=valute.id_valuta LEFT JOIN partners ON povrat_robe.id_partner=partners.id_partner WHERE " + filter + " "; DataTable dtTecaj = classSQL.select(sqlTecaj, "kalkulacija").Tables[0]; double tecaj = 1; if (dtTecaj.Rows.Count > 0) { tecaj = Convert.ToDouble(dtTecaj.Rows[0]["tecaj"].ToString()); } string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } DataTable dtPdv = new DataTable(); dtPdv.Columns.Add("stopa"); dtPdv.Columns.Add("iznos"); dtPdv.Columns.Add("osnovica"); string filter1 = ""; if (pregled == true) { filter1 = "povrat_robe_stavke.id_kalkulacija='" + broj_kalkulacije + "'"; } else { filter1 = "povrat_robe_stavke.broj='" + broj_kalkulacije + "' AND povrat_robe_stavke.id_skladiste='" + skladiste + "'"; } string sql_stavke = "SELECT " + " povrat_robe_stavke.sifra," + " povrat_robe_stavke.id_stavka AS id," + " roba.naziv," + " roba.jm AS jmj," + " povrat_robe_stavke.kolicina," + " povrat_robe_stavke.rabat," + " povrat_robe_stavke.nbc," + " 0 as prijevoz," + " 0 as carina," + " 0 as posebni_porez," + " round(((povrat_robe_stavke.vpc / povrat_robe_stavke.nbc::numeric) - 1) * 100, 6) as marza," + " povrat_robe_stavke.vpc," + " povrat_robe_stavke.pdv AS pdv" + " FROM povrat_robe_stavke" + " LEFT JOIN roba ON povrat_robe_stavke.sifra=roba.sifra" + " WHERE " + filter1 + " ORDER BY CAST(id_stavka AS INT) ASC"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke"); } else { classSQL.NpgAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke"); } DataTable DT = dSkalkulacija_stavke.Tables[0]; double fakIznos = 0; double fak_iznos_stavka = 0; double fakNetto = 0; double osnovica = 0; double fakPdv = 0; double fak_ukupno_stavka = 0; double fakUk = 0; double fak_cijena = 0; double kolicina = 0; double rabat = 0; double rabatStavka = 0; double rabatUk = 0; double mpc = 0; double mpc_uk = 0; double porez = 0; double vpc = 0; double nab_cijena = 0; double posebni_porez = 0; double prijevoz = 0; double carina = 0; double net_cijena = 0; double marza = 0; double marzaIznos = 0; double marzaUk = 0; double nabavna_zadnja = 0; double marza_uk_ = 0; double fak_cijena_S_pdv = 0; double fak_cijena_S_pdv_ukp = 0; for (int i = 0; i < DT.Rows.Count; i++) { kolicina = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3); fak_cijena = Math.Round(Convert.ToDouble(DT.Rows[i]["fak_cijena"].ToString()), 3); rabat = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 3); porez = Math.Round(Convert.ToDouble(DT.Rows[i]["pdv"].ToString()), 3); vpc = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3); posebni_porez = Math.Round(Convert.ToDouble(DT.Rows[i]["posebni_porez"].ToString()), 3); prijevoz = Math.Round(Convert.ToDouble(DT.Rows[i]["prijevoz"].ToString()), 4); carina = Math.Round(Convert.ToDouble(DT.Rows[i]["carina"].ToString()), 3); marza = Math.Round(Convert.ToDouble(DT.Rows[i]["marza"].ToString()), 8); if (marza.ToString() == "NaN" || marza.ToString() == "Infinity") { marza = 0; } double vpc_s_kol = vpc * kolicina; double fak_s_kol = fak_cijena * kolicina; nabavna_zadnja = Math.Round((fak_s_kol - (fak_s_kol * (rabat / 100)) + ((prijevoz + carina) * kolicina)), 3); marza_uk_ = Math.Round(nabavna_zadnja * (marza / 100), 3); marzaIznos = Math.Round(marza / 100 * nabavna_zadnja, 3); marzaUk += marzaIznos; rabatStavka = fak_cijena * kolicina * rabat / 100; rabatUk += rabatStavka; mpc = vpc * (1 + porez / 100.0); mpc_uk = mpc * kolicina; nab_cijena = kolicina * fak_cijena * (1 - rabat / 100) - posebni_porez + ((prijevoz + carina) * kolicina); //if (Util.Korisno.oibTvrtke == "41109922301") { // nab_cijena = fak_cijena * (1 - rabat / 100) - posebni_porez + ((prijevoz + carina)); //} fak_cijena_S_pdv = nab_cijena * (1 + (porez / 100)); if (partnerExist && !uSustavuPdv) { fak_cijena_S_pdv = nab_cijena; } fak_cijena_S_pdv_ukp += fak_cijena_S_pdv; net_cijena = kolicina * fak_cijena * (1 - rabat / 100); fak_iznos_stavka = kolicina * fak_cijena; fakIznos += fak_iznos_stavka; fakNetto += fak_iznos_stavka * (1 - rabat / 100); fak_ukupno_stavka = vpc * (1 + porez / 100) * kolicina; fakUk += fak_ukupno_stavka; osnovica += fak_ukupno_stavka * 100 / (100 + porez); fakPdv += fak_ukupno_stavka * (1 - 100 / (100 + porez)); //fak_pdv += fak_ukupno_stavka / (1 - porez); //double stopa = ((mpc - vpc) / vpc); double pdvStavka_cisto = (nab_cijena) * (porez / 100); if (partnerExist && !uSustavuPdv) { pdvStavka_cisto = 0; } StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)pdvStavka_cisto, 4), Math.Round(((decimal)nab_cijena), 4)); DT.Rows[i].SetField("mpc_uk", Math.Round(mpc_uk, 3)); DT.Rows[i].SetField("mpc", Math.Round(mpc, 3)); DT.Rows[i].SetField("rabat", Math.Round(rabat, 3)); DT.Rows[i].SetField("rabat_uk", Math.Round(rabatStavka, 3)); DT.Rows[i].SetField("marza", Math.Round(marza, 3)); DT.Rows[i].SetField("marzaIznos", Math.Round(marza_uk_, 3)); DT.Rows[i].SetField("posebni_porez", posebni_porez); DT.Rows[i].SetField("prijevoz", Math.Round(prijevoz, 4)); DT.Rows[i].SetField("carina", Math.Round(carina, 3)); DT.Rows[i].SetField("kolicina", Math.Round(kolicina, 3)); DT.Rows[i].SetField("fak_cijena", Math.Round(fak_cijena, 3)); DT.Rows[i].SetField("fak_cijena_val", Math.Round(fak_cijena / tecaj, 3)); DT.Rows[i].SetField("net_cijena", Math.Round(net_cijena, 3)); DT.Rows[i].SetField("nab_cijena", Math.Round(nab_cijena, 3)); DT.Rows[i].SetField("fak_cijena_S_pdv", Math.Round(fak_cijena_S_pdv, 3)); //DT.Rows[i].SetField("nab_porez", Math.Round(nab_cijena, 3)); } fakIznos = Math.Round(fakIznos, 3); fakNetto = Math.Round(fakNetto, 3); fakPdv = Math.Round(fakPdv, 3); osnovica = Math.Round(osnovica, 3); fakUk = Math.Round(fakUk, 3); rabatUk = Math.Round(rabatUk, 3); marzaUk = Math.Round(marzaUk, 3); string filter2 = ""; if (pregled == true) { filter2 = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';"; } else { filter2 = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "';"; } string sql_kalk = @"SELECT kalkulacija.broj, kalkulacija.id_partner, kalkulacija.godina, 'Kalkulacija' AS naslov, skladiste.skladiste, kalkulacija.datum, partners.ime_tvrtke + ' ' + partners.id_partner AS dobavljac, kalkulacija.tecaj AS tecaj, kalkulacija.racun, kalkulacija.otpremnica, CAST(kalkulacija.otpremnica_datum AS date) AS otpremnica_datum, kalkulacija.tecaj, zaposlenici.ime + ' ' + zaposlenici.prezime AS kalkulirao, CAST(kalkulacija.racun_datum AS date) AS racun_datum, valute.ime_valute AS valuta, '" + fakIznos + @"' AS fak_iznos, '" + fakNetto + @"' AS netto_fak_iznos, '" + fakPdv + @"' AS pdv, '" + rabatUk + @"' AS rabatUk, '" + marzaUk + @"' AS marzaUk, '" + osnovica + @"' AS osnovica, '" + fakUk + @"' AS ukupno, '" + Math.Round(fak_cijena_S_pdv_ukp, 2) + @"' as fak_cijena_S_pdv, case when partners.uSustavPdv = true then 'Dobavljač u sustavu PDV-a: DA' else 'Dobavljač u sustavu PDV-a: NE' end as sustavPdv FROM kalkulacija LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste LEFT JOIN zaposlenici ON kalkulacija.id_zaposlenik=zaposlenici.id_zaposlenik LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner WHERE " + filter2; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA"); } else { classSQL.NpgAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA"); } }
private void otpis() { string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql("", naziv_fakture, ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string sql_liste = "SELECT " + " CONCAT(otpis_robe_stavke.sifra, ' ',roba.naziv) AS naziv," + " roba.jm AS naziv2," + " otpis_robe_stavke.kolicina AS kolicina," + " (otpis_robe_stavke.vpc*replace(otpis_robe_stavke.kolicina, ',','.')::numeric) AS cijena7," + " otpis_robe_stavke.pdv AS cijena9," + " otpis_robe_stavke.rabat AS cijena1 ," + " otpis_robe_stavke.nbc AS cijena3," + " (((CAST(otpis_robe_stavke.vpc AS numeric) * CAST(otpis_robe_stavke.pdv AS numeric))/100) zbroj CAST(otpis_robe_stavke.vpc AS numeric))* CAST(otpis_robe_stavke.kolicina AS numeric) AS cijena6," + " CAST(otpis_robe_stavke.nbc AS numeric) * replace(otpis_robe_stavke.kolicina, ',','.')::numeric AS cijena2" + " FROM otpis_robe_stavke" + " LEFT JOIN roba ON roba.sifra=otpis_robe_stavke.sifra WHERE broj='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string year = ""; DataTable DT = classSQL.select("SELECT datum FROM otpis_robe WHERE broj='" + broj_dokumenta + "'", "otpis_robe").Tables[0]; if (DT.Rows.Count > 0) { year = Convert.ToDateTime(DT.Rows[0]["datum"].ToString()).Year.ToString(); } string sql_liste_string = "SELECT " + " 'Količina' AS tbl1," + " 'Jmj' AS tbl2," + " 'Nab. cijena' AS tbl3," + " 'Rabat izn.' AS tbl4," + " 'Nab. iznos' AS tbl5," + " 'tb' AS tbl6," + " 'Mpc uk.' AS tbl7," + " 'rbr.' AS tbl8," + " 'Šifra i naziv' AS tbl9, " + " otpis_robe.napomena AS komentar," + " CAST (otpis_robe.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" + " FROM otpis_robe " + " WHERE broj ='" + broj_dokumenta + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void FillIFB(string broj) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); string sql2 = "SELECT " + " ifb_stavke.kolicina," + " ifb_stavke.vpc," + " ifb_stavke.porez," + " ifb_stavke.broj," + " ifb_stavke.rabat," + " ifb_stavke.jmj AS jm," + " ifb_stavke.naziv as naziv" + " FROM ifb_stavke" + " WHERE ifb_stavke.broj='" + broj + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } double vpc = 0; //double kol_stavka = 0; double pdv = 0; double kol = 0; double mpc = 0; double rabat = 0; double mpc_stavka = 0; double rabat_stavka = 0; double pdv_stavka = 0; double osnovica_stavka = 0; double RabatSve = 0; double ukupno_stav = 0; double pdvStavka = 0; double stopa = 0; double mpcStavka = 0; double rabatStavka = 0; double osnovicaStavka = 0; double cista_cijena_sveukupno = 0; DataTable DT = dSRfakturaStavke.Tables[0]; for (int i = 0; i < DT.Rows.Count; i++) { vpc = Convert.ToDouble(DT.Rows[i]["vpc"].ToString()); //kol_stavka = Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()); pdv = Convert.ToDouble(DT.Rows[i]["porez"].ToString()); rabat = Convert.ToDouble(DT.Rows[i]["rabat"].ToString()); kol = Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()); mpc = vpc * (1 + (pdv / 100)); ukupno_stav = vpc * kol - vpc * kol * rabat / 100; rabat_stavka = vpc * kol * rabat / 100; rabatStavka = mpc * kol * rabat / 100; mpc_stavka = vpc * kol - rabat_stavka; pdv_stavka = mpc_stavka - mpc_stavka / (1 + pdv / 100); osnovica_stavka = mpc_stavka; mpcStavka = Math.Round(mpc * kol - rabatStavka, 2); osnovicaStavka = mpcStavka; double preracunataSto = (100 * pdv) / (100 + pdv); pdvStavka = Math.Round(mpcStavka * (preracunataSto / 100), 3); stopa = ((mpc - vpc) / vpc); dSRfakturaStavke.Tables[0].Rows[i].SetField("mpcStavka", mpc_stavka); dSRfakturaStavke.Tables[0].Rows[i].SetField("rabatStavka", rabat_stavka); dSRfakturaStavke.Tables[0].Rows[i].SetField("mpc", mpc); dSRfakturaStavke.Tables[0].Rows[i].SetField("kolicina", kol.ToString("#0.00")); RabatSve = rabat_stavka + RabatSve; osnovica_ukupno = Math.Round(osnovica_stavka, 2) + osnovica_ukupno; pdv_ukupno = Math.Round(pdvStavka, 2) + pdv_ukupno; SveUkupno = mpcStavka + SveUkupno; StopePDVa(Math.Round((stopa * 100), 0), Math.Round(pdvStavka, 2), Math.Round(osnovica_stavka, 2)); } string broj_slovima = broj_u_text.PretvoriBrojUTekst(SveUkupno.ToString(), ',', "kn", "lp").ToString(); string sql = "SELECT " + " ifb.broj," + " ifb.datum AS datum," + " ifb.datum_dvo AS datum_dvo," + " ifb.datum_valute," + " ifb.jir," + " ifb.zki," + " ifb.mj_troska AS mjesto_troska," + " nacin_placanja.naziv_placanja AS placanje," + " ifb.otprema AS otprema," + " CAST (ifb.model AS nvarchar) + ' '+ CAST (ifb.broj AS nvarchar)+CAST (ifb.godina AS nvarchar)+'-'+CAST (ifb.odrediste AS nvarchar) AS model," + " ifb.napomena," + " '" + mpc + "' AS string4," + " '" + RabatSve + "' AS rabat," + " '" + SveUkupno + "' AS ukupno," + " '" + pdv_ukupno + "' AS iznos_pdv," + " '" + osnovica_ukupno + "' AS osnovica," + " '" + ukupno_stav + "' AS string5," + " ifb.godina," + //" CAST (ifb.broj AS nvarchar) +'/'+ CAST (ifb.godina AS nvarchar) AS Naslov," + " CAST (ifb.broj AS nvarchar) + CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(4) + "' AS nvarchar) AS Naslov," + " partners.ime_tvrtke AS kupac_tvrtka," + " 'Datum isporuke:' AS naziv_date1," + " 'Datum dospijeća:' AS naziv_date2," + " '' AS string3," + " partners.adresa AS kupac_adresa," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " '" + broj_slovima.ToLower() + "' AS broj_slovima," + " partners.oib AS kupac_oib" + " FROM ifb" + " LEFT JOIN zacrnjeni_partner as partners ON partners.id_partner=ifb.odrediste" + " LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=ifb.id_nacin_placanja" + //" LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=fakture.zr" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=ifb.id_zaposlenik WHERE ifb.broj='" + broj + "'" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string dodatak = ""; if (DTpostavke.Rows[0]["oslobodenje_pdva"].ToString() == "1" && pdv_ukupno == 0) { dodatak = "\r\n\r\nPrijenos porezne obveze prema čl. 75., st. 3b. i čl. 79. Zakona o PDV-u.\r\nKupac će sam obračunati PDV od 25% i iskazati ga u poreznoj prijavi.\r\nObračun prema naplaćenoj naknadi."; } else if (DTpostavke.Rows[0]["oslobodenje_pdva"].ToString() == "1") { dodatak = "\r\n\r\nObračun prema naplaćenoj naknadi"; } dSFaktura.Tables[0].Rows[0]["napomena"] = dSFaktura.Tables[0].Rows[0]["napomena"] + dodatak; string id_kupac_grad = ""; string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac_grad = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); id_kupac = dSFaktura.Tables[0].Rows[0]["sifra_kupac"].ToString(); } else { MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning); } string naziv_fakture = " podaci_tvrtka.naziv_fakture,"; string sql1 = SqlPodaciTvrtke.VratiSql(id_kupac_grad, naziv_fakture, id_kupac); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); if (dSRpodaciTvrtke.Tables[0].Rows.Count > 0) { string iban = dSRpodaciTvrtke.Tables[0].Rows[0]["iban"].ToString(); string[] ibans = iban.Split(';'); string ibanR = ""; foreach (string s in ibans) { ibanR += s + "\r\n"; } if (ibanR.Length > 4) { ibanR = ibanR.Remove(ibanR.Length - 2); } dSRpodaciTvrtke.Tables[0].Rows[0]["iban"] = ibanR; } } DateTime datum_ = Convert.ToDateTime(dSFaktura.Tables[0].Rows[0]["datum"].ToString()); reportViewer1.LocalReport.DisplayName = "IFB-" + dSFaktura.Tables[0].Rows[0]["broj"].ToString() + "-" + datum_.ToString("dd-MM-yyyy") + ""; decimal u_kune_iz_valute = 0; string u_kunama = ""; if (racunajTecaj) { u_kune_iz_valute = Math.Round(Convert.ToDecimal(cista_cijena_sveukupno), 2); u_kunama = u_kune_iz_valute.ToString() + " kn"; } else { u_kunama = "0 kn"; } ReportParameter p7 = new ReportParameter("iznos_valuta_kn", u_kunama); this.reportViewer1.RefreshReport(); }
private void SkladisteFinancije() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); if (skladiste != "") { skladiste = " AND roba_prodaja.id_skladiste='" + skladiste + "'"; } string sql_liste = "SELECT roba_prodaja.kolicina,roba_prodaja.vpc,roba_prodaja.porez,roba_prodaja.nc,roba_prodaja.id_skladiste,skladiste.skladiste " + " FROM roba_prodaja" + " LEFT JOIN skladiste ON roba_prodaja.id_skladiste = skladiste.id_skladiste" + " LEFT JOIN roba ON roba_prodaja.sifra=roba.sifra WHERE roba.oduzmi='DA' " + skladiste; DataTable DT = classSQL.select(sql_liste, "roba_prodaja").Tables[0]; DataRow RowSkl; foreach (DataRow row in DT.Rows) { DataRow[] dataROW = dSRliste.Tables["DTliste"].Select("kolicina = '" + row["id_skladiste"].ToString() + "'"); decimal vpc = Convert.ToDecimal(row["vpc"].ToString()); decimal pdv = Convert.ToDecimal(row["porez"].ToString()); decimal kol = Convert.ToDecimal(row["kolicina"].ToString().Replace(".", ",")); decimal nbc; decimal.TryParse(row["nc"].ToString().Replace(".", ","), out nbc); //if (kol > 90) //{ // MessageBox.Show(""); //} if (dataROW.Count() == 0) { RowSkl = dSRliste.Tables["DTliste"].NewRow(); RowSkl["kolicina"] = row["id_skladiste"].ToString(); RowSkl["naziv"] = row["skladiste"].ToString(); RowSkl["cijena1"] = (vpc * kol).ToString(); RowSkl["cijena3"] = ((vpc * pdv / 100) * kol).ToString(); RowSkl["cijena6"] = ((vpc * pdv / 100) + vpc) * kol; RowSkl["jmj"] = nbc * kol; dSRliste.Tables["DTliste"].Rows.Add(RowSkl); } else { dataROW[0]["cijena1"] = Math.Round(Convert.ToDecimal(dataROW[0]["cijena1"].ToString()) + (vpc * kol), 3); dataROW[0]["cijena6"] = Convert.ToDecimal(dataROW[0]["cijena6"].ToString()) + (((vpc * pdv / 100) + vpc) * kol); dataROW[0]["cijena3"] = Convert.ToDecimal(dataROW[0]["cijena3"].ToString()) + ((vpc * pdv / 100) * kol); dataROW[0]["jmj"] = Convert.ToDecimal(dataROW[0]["jmj"].ToString()) + (nbc * kol); } } //if (classSQL.remoteConnectionString == "") //{ // classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); //} //else //{ // classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); //} string sql_liste_string = "SELECT " + " '' AS tbl1," + " 'Naziv skladišta' AS tbl2," + " 'NBC' AS tbl3," + " 'VPC' AS tbl4," + " 'PDV' AS tbl5," + " '' AS tbl6," + " 'MPC' AS tbl8," + " '' AS tbl7," + " 'Stanje na skladištu financijski' AS naslov"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void PrometPoRobiBezSkladista() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string skl = ""; if (skladiste != null) { skl = " AND racun_stavke.id_skladiste='" + skladiste + "'"; } string duc = ""; if (ducan != null) { duc = " AND racuni.id_ducan='" + ducan + "'"; } string blag = ""; if (blagajnik != null) { blag = " AND racuni.id_blagajnik='" + blagajnik + "'"; } string art = ""; if (artikl != null) { art = " AND racun_stavke.sifra_robe='" + artikl + "'"; } string Fskl = ""; if (skladiste != null) { Fskl = " AND faktura_stavke.id_skladiste='" + skladiste + "'"; } string Fblag = ""; if (blagajnik != null) { Fblag = " AND fakture.id_zaposlenik='" + blagajnik + "'"; } string Fart = ""; if (artikl != null) { Fart = " AND faktura_stavke.sifra='" + artikl + "'"; } string sql_liste = "SELECT " + " racun_stavke.sifra_robe AS sifra," + " roba.naziv AS naziv ," + " CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC) AS cijena1," + " 'Račun' AS jmj," + " roba_prodaja.kolicina AS cijena3 ," + " racun_stavke.broj_racuna AS cijena5 ," + " racun_stavke.vpc AS cijena6 ," + //" (CAST(racun_stavke.vpc AS NUMERIC)*(CAST(REPLACE(racun_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(racun_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(racun_stavke.vpc AS NUMERIC) AS cijena5," + " skladiste.skladiste AS cijena4 " + //" (CAST(racun_stavke.vpc AS NUMERIC)*(CAST(REPLACE(racun_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(racun_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(racun_stavke.vpc AS NUMERIC)*CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC) AS cijena6 " + " FROM racun_stavke" + " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe" + " LEFT JOIN skladiste ON skladiste.id_skladiste=racun_stavke.id_skladiste" + " LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa" + " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=racun_stavke.sifra_robe AND roba_prodaja.id_skladiste=racun_stavke.id_skladiste " + " WHERE racuni.datum_racuna>'" + datumOD + "' AND racuni.datum_racuna<'" + datumDO + "'" + " " + skl + blag + duc + art + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste"); } string sql_fak = "SELECT " + " faktura_stavke.sifra AS sifra," + " roba.naziv AS naziv ," + " CAST(REPLACE(faktura_stavke.kolicina,',','.') AS NUMERIC) AS cijena1," + " 'Faktura' AS jmj," + " roba_prodaja.kolicina AS cijena3 ," + " faktura_stavke.broj_fakture AS cijena5 ," + " faktura_stavke.vpc AS cijena6 ," + //" (CAST(faktura_stavke.vpc AS NUMERIC)*(CAST(REPLACE(faktura_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(faktura_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(faktura_stavke.vpc AS NUMERIC) AS cijena5," + " skladiste.skladiste AS cijena4 " + //" (CAST(faktura_stavke.vpc AS NUMERIC)*(CAST(REPLACE(faktura_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(faktura_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(faktura_stavke.vpc AS NUMERIC)*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS NUMERIC) AS cijena6 " + " FROM faktura_stavke" + " LEFT JOIN roba ON roba.sifra=faktura_stavke.sifra" + " LEFT JOIN skladiste ON skladiste.id_skladiste=faktura_stavke.id_skladiste" + " LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture" + " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=faktura_stavke.sifra AND roba_prodaja.id_skladiste=faktura_stavke.id_skladiste " + " WHERE fakture.date>'" + datumOD + "' AND fakture.date<'" + datumDO + "'" + " " + Fskl + Fblag + Fart; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_fak).Fill(dSRliste, "DTliste"); } else { classSQL.NpgAdatpter(sql_fak).Fill(dSRliste, "DTliste"); } string year = ""; //DataTable DT = classSQL.select("SELECT godina_normativa FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0]; //if (DT.Rows.Count > 0) // { //year = DT.Rows[0]["godina_normativa"].ToString(); // } string s = ""; if (skladiste != null) { s = "\r\nSkladište: " + skladiste; } string b = ""; if (blagajnik != null) { b = "\r\nBlagajnik: " + blagajnik; } string a = ""; if (artikl != null) { a = "\r\nArtikl: " + artikl; } string sql_liste_string = "SELECT " + " 'Šifra' AS tbl1," + " 'Naziv' AS tbl2," + " 'Dokument' AS tbl3," + " 'Količina' AS tbl4," + " 'Stanje SK' AS tbl5," + " 'Skladište' AS tbl6," + " 'BR.Dok.' AS tbl7," + " 'VPC' AS tbl8," + " 'ne' AS string6," + " '" + s + "' AS skladiste," + " '" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "' AS datum1," + " CAST ('Promet po robi ' AS nvarchar) AS naslov," + " '\r\nOd datuma:" + datumOD + " - " + datumDO + s + b + a + "' AS komentar" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst"); } }
private void RobuPreuzeo() { string sql1 = SqlPodaciTvrtke.VratiSql("", "", ""); classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); string filter = ""; if (sifra_partnera != "") { filter += " AND id_fakturirati='" + sifra_partnera.ToString() + "' "; } if (sifra_preuzeo != "") { filter += " AND id_odrediste='" + sifra_preuzeo.ToString() + "' "; } filter += " AND fakture.date>='" + datumOD.ToString("yyyy-MM-dd H:mm:ss") + "' AND fakture.date<='" + datumDO.ToString("yyyy-MM-dd H:mm:ss") + "' "; if (sort == "F") { sort = "ORDER BY CAST(fakture.broj_fakture AS INT) ASC"; } else { sort = "ORDER BY p.ime_tvrtke ASC ,p.ime ASC"; } string sql = "SELECT p.ime_tvrtke AS naziv2,p.ime,p.prezime,fakture.ukupno_osnovica AS cijena1," + " fakture.ukupno_porez AS cijena2,fakture.ukupno AS cijena3, 'Faktura br: '+fakture.broj_fakture AS jmj, pf.ime_tvrtke AS naziv FROM fakture " + " LEFT JOIN partners p ON p.id_partner=fakture.id_odrediste " + " LEFT JOIN partners pf ON pf.id_partner=fakture.id_fakturirati " + " WHERE fakture.broj_fakture is not null " + filter + sort; classSQL.NpgAdatpter(sql).Fill(dSRliste, "DTliste"); foreach (DataRow row in dSRliste.Tables[0].Rows) { if (row["naziv2"].ToString() == "") { row["naziv2"] = row["ime"] + " " + row["prezime"]; } } //------------------------------------OVAJ DIO RACUNA RABAT------------------------------------------------------------------- DataSet DS = new DataSet(); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter("").Fill(DS, "DTliste"); } else { classSQL.NpgAdatpter("").Fill(DS, "DTliste"); } string sql_liste_string = "SELECT 'Preuzeta roba za partnera: " + ime_partnera + "' AS naslov" + ",'Od datuma: " + datumOD.ToString("yyyy-MM-dd H:mm:ss") + " do datuma: " + datumDO.ToString("yyyy-MM-dd H:mm:ss") + " ' AS string1"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } else { classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst"); } }