private void frmBlagajnickaIsplatnica_Load(object sender, EventArgs e) { try { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); string iznos_slovima = broj_u_text.PretvoriBrojUTekst(iznos.ToString(), ',', "kn", "lp").ToString(); string naslov = (dokuments.Contains(dokument) ? "UPLATNICA BROJ:" : "ISPLATNICA BROJ:"); string adresaNazivTvrtke = Class.PodaciTvrtka.nazivTvrtke; string adresaAdresaTvrtke = Class.PodaciTvrtka.adresaTvrtke; string adresaGradTvrtke = classSQL.select(string.Format(@"select concat(posta, ' ', grad) as grad from grad where id_grad = {0};", Class.PodaciTvrtka.gradTvrtke), "grad").Tables[0].Rows[0]["grad"].ToString(); string adresa = adresaNazivTvrtke; if (adresa.Length > 0 && adresaAdresaTvrtke.Length > 0) { adresa += Environment.NewLine; } adresa += adresaAdresaTvrtke; if (adresa.Length > 0 && adresaGradTvrtke.Length > 0) { adresa += Environment.NewLine; } adresa += adresaGradTvrtke; ReportParameter p1 = new ReportParameter("adresa", adresa); ReportParameter p2 = new ReportParameter("naslov", naslov); ReportParameter p3 = new ReportParameter("broj", broj); ReportParameter p4 = new ReportParameter("iznos", (iznos.ToString("#,##0.00") + " kn")); ReportParameter p5 = new ReportParameter("slovima_iznos", iznos_slovima); ReportParameter p6 = new ReportParameter("kome", partner); ReportParameter p7 = new ReportParameter("za", dokument + (dokument.Length > 0 && broj_dokumenta.Length > 0 ? " - " : "") + broj_dokumenta); ReportParameter p8 = new ReportParameter("datum", mjesto_i_datum); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1, p2, p3, p4, p5, p6, p7, p8 }); this.reportViewer1.RefreshReport(); } catch (Exception) { throw; } }
private void FillRacun(string broj) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); //MessageBox.Show(broj_slovima.ToLower()); string sql2 = "SELECT " + " racun_stavke.kolicina," + " racun_stavke.vpc," + " racun_stavke.mpc," + " CAST(racun_stavke.mpc AS NUMERIC) * CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC) - (CAST(racun_stavke.mpc AS NUMERIC) * CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC)*CAST(REPLACE(racun_stavke.rabat,',','.') AS NUMERIC)/100) AS iznos," + " racun_stavke.porez," + " racun_stavke.porez_potrosnja," + " racun_stavke.broj_racuna," + " racun_stavke.rabat," + " racun_stavke.sifra_robe AS sifra," + " roba.naziv as naziv," + " racun_stavke.id_skladiste AS skladiste" + " FROM racun_stavke" + " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe " + " WHERE racun_stavke.broj_racuna='" + broj + "' AND racun_stavke.id_ducan='" + (id_poslovnica == null ? Util.Korisno.idDucan : id_poslovnica) + "' AND racun_stavke.id_blagajna='" + (id_kasa == null ? Util.Korisno.idKasa : id_kasa) + "'"; //DSRfakturaStavke DSfs = new DSRfakturaStavke(); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } string iznososlobpdv = ""; string iznos_marza = ""; /////kraj priprema za fiskalizaciju double osnovica = 0; double pdv_stavka = 0; double Porez_potrosnja_stavka = 0; double ukupno = 0; double osnovica_sve = 0; double Porez_potrosnja_sve = 0; double pdv_sve = 0; double rabat_sve = 0; double rabat = 0; ukupno_rabat = 0; for (int i = 0; i < dSRfakturaStavke.Tables[0].Rows.Count; i++) { if (DTpdv.Columns["stopa"] == null) { DTpdv.Columns.Add("stopa"); DTpdv.Columns.Add("iznos"); } double kolicina = Convert.ToDouble(dSRfakturaStavke.Tables[0].Rows[i]["kolicina"].ToString()); double PP = Convert.ToDouble(dSRfakturaStavke.Tables[0].Rows[i]["porez_potrosnja"].ToString()); double PDV = Convert.ToDouble(dSRfakturaStavke.Tables[0].Rows[i]["porez"].ToString()); double VPC = Convert.ToDouble(dSRfakturaStavke.Tables[0].Rows[i]["vpc"].ToString()); double MPC = 0; double.TryParse(dSRfakturaStavke.Tables[0].Rows[i]["mpc"].ToString(), out MPC); //double cijena = ((VPC * (PP + PDV) / 100) + VPC); double mpc = MPC * kolicina; rabat = Convert.ToDouble(dSRfakturaStavke.Tables[0].Rows[i]["rabat"].ToString()); ukupno_rabat = (mpc * rabat / 100) + ukupno_rabat; mpc = mpc - (mpc * rabat / 100); //Ovaj kod dobiva PDV double PreracunataStopaPDV = Convert.ToDouble((100 * PDV) / (100 + PDV + PP)); pdv_stavka = (mpc * PreracunataStopaPDV) / 100; //Ovaj kod dobiva porez na potrošnju double PreracunataStopaPorezNaPotrosnju = Convert.ToDouble((100 * PP) / (100 + PDV + PP)); Porez_potrosnja_stavka = (mpc * PreracunataStopaPorezNaPotrosnju) / 100; //izračun porez potrosnja Porez_potrosnja_sve = (Porez_potrosnja_stavka) + Porez_potrosnja_sve; //izračun osnovica if (rabat > 0) { double pps = (100 * (PDV + PP)) / (100 + PDV + PP); osnovica = mpc - (mpc * pps / 100); } else { osnovica = VPC * kolicina; } osnovica_sve = (osnovica) + osnovica_sve; //Izracun pdv pdv_sve = pdv_sve + (pdv_stavka); StopePDVa(Convert.ToDecimal(PDV), (Convert.ToDecimal(mpc) * Convert.ToDecimal(PreracunataStopaPDV)) / 100); StopePDVa(PDV, Math.Round(pdv_stavka, 4), Math.Round(((VPC * kolicina) - (mpc * rabat / 100)), 4)); //ukupno sve ukupno += mpc; } string broj_slovima = broj_u_text.PretvoriBrojUTekst(SveUkupno.ToString(), ',', "kn", "lp").ToString(); string year = classSQL.select("SELECT datum_racuna FROM racuni WHERE broj_racuna='" + broj_dokumenta + "' AND racuni.id_ducan='" + (id_poslovnica == null ? Util.Korisno.idDucan : id_poslovnica) + "' AND racuni.id_kasa='" + (id_kasa == null ? Util.Korisno.idKasa : id_kasa) + "'", "racuni").Tables[0].Rows[0][0].ToString(); DateTime date = Convert.ToDateTime(year); year = date.Year.ToString(); string pdv_ispis = ""; for (int p = 0; p < DTpdv.Rows.Count; p++) { if (pdv_ispis.Length > 0) { pdv_ispis += " kn\r\n"; } pdv_ispis += "" + DTpdv.Rows[p]["stopa"].ToString() + "%: " + Convert.ToDecimal(DTpdv.Rows[p]["iznos"].ToString()).ToString("#0.00"); } DataTable DTrac = classSQL.select("SELECT * FROM racuni WHERE racuni.broj_racuna='" + broj_dokumenta + "' AND racuni.id_ducan='" + (id_poslovnica == null ? Util.Korisno.idDucan : id_poslovnica) + "' AND racuni.id_kasa='" + (id_kasa == null ? Util.Korisno.idKasa : id_kasa) + "'", "racuni").Tables[0]; string popust_sve_napomena = ""; decimal popust_cijelog_racuna = 0; decimal.TryParse(DTrac.Rows[0]["popust_cijeli_racun"].ToString(), out popust_cijelog_racuna); if (popust_cijelog_racuna > 0) { decimal popust_iznos = 0; popust_iznos = ((decimal)ukupno * (1 + (((100 * popust_cijelog_racuna) / (100 - popust_cijelog_racuna)) / 100))) - (decimal)ukupno; popust_sve_napomena = "\r\nUKUPNO POPUSTA NA RAČUN: " + popust_cijelog_racuna + "%\r\n"; popust_sve_napomena += "POPUST U KN: " + Math.Round(popust_iznos, 3).ToString("#0.00") + " kn\r\n"; } string sql = "SELECT " + " racuni.broj_racuna," + " 'JIR: ' + racuni.jir AS string1," + " 'ZIK: ' + racuni.zik AS string2," + " racuni.datum_racuna AS datum, '1970-01-01' as datum_dvo, '1970-01-01' as datum_valute, " + " '" + ukupno + "' AS ukupno," + " '" + pdv_ispis + "' AS iznos_pdv," + " '" + osnovica_sve + "' AS osnovica," + " '" + ukupno_rabat + "' AS rabat," + " '" + Porez_potrosnja_sve.ToString("#0.00") + "' AS string3," + " CAST (racuni.broj_racuna AS nvarchar) + '/' + CAST (ducan.ime_ducana AS nvarchar) + '/' + CAST (blagajna.ime_blagajne AS nvarchar) AS Naslov," + " partners.ime_tvrtke AS kupac_tvrtka," + " partners.adresa AS kupac_adresa," + " ' Novčanice: ' + CAST(racuni.ukupno_gotovina AS money) + ' Kartice: ' + CAST(racuni.ukupno_kartice AS money) + ' Virman: ' + CAST(racuni.ukupno_virman AS money) AS placanje," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " '" + popust_sve_napomena + "' AS napomena," + " '" + broj_slovima.ToLower() + "' AS broj_slovima," + " partners.oib AS kupac_oib" + " FROM racuni" + " LEFT JOIN podaci_tvrtka ON podaci_tvrtka.id='1'" + " LEFT JOIN ducan ON ducan.id_ducan = racuni.id_ducan" + " LEFT JOIN blagajna ON blagajna.id_ducan = racuni.id_ducan and blagajna.id_blagajna = racuni.id_kasa" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun='1'" + " LEFT JOIN partners ON partners.id_partner=racuni.id_kupac" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=racuni.id_blagajnik WHERE racuni.broj_racuna='" + broj_dokumenta + "' AND racuni.id_ducan='" + (id_poslovnica == null ? Util.Korisno.idDucan : id_poslovnica) + "' AND racuni.id_kasa='" + (id_kasa == null ? Util.Korisno.idKasa : id_kasa) + "';" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); } if (id_kupac.Length == 0) { id_kupac = "0"; } string grad_kupac = ""; DataTable DTgrad_kupac = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + id_kupac + "'", "grad").Tables[0]; if (DTgrad_kupac.Rows.Count != 0) { grad_kupac = DTgrad_kupac.Rows[0]["posta"].ToString().Trim() + " " + DTgrad_kupac.Rows[0]["grad"].ToString(); dSFaktura.Tables[0].Rows[0]["kupac_grad"] = grad_kupac; } string poslovnica_grad = ""; DataTable DTposlovnica_grad = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + Class.PodaciTvrtka.gradPoslovnicaId + "'", "grad").Tables[0]; if (DTposlovnica_grad.Rows.Count != 0) { poslovnica_grad = DTposlovnica_grad.Rows[0]["posta"].ToString().Trim() + " " + DTposlovnica_grad.Rows[0]["grad"].ToString(); } string sql1 = "SELECT " + " podaci_tvrtka.ime_tvrtke," + " podaci_tvrtka.skraceno_ime," + " podaci_tvrtka.oib," + " podaci_tvrtka.tel," + " podaci_tvrtka.fax," + " podaci_tvrtka.mob," + " podaci_tvrtka.iban," + " podaci_tvrtka.adresa," + " podaci_tvrtka.vl," + " '" + grad_kupac + "' AS grad_kupac," + " podaci_tvrtka.poslovnica_adresa," + " '" + poslovnica_grad + "' as poslovnica_grad," + " podaci_tvrtka.email," + " podaci_tvrtka.naslov_racuna AS naziv_fakture," + " podaci_tvrtka.text_bottom, " + "podaci_tvrtka.nazivPoslovnice as ime_poslovnice, podaci_tvrtka.swift, podaci_tvrtka.pdvBr as pdv_br," + " grad.grad + '' + grad.posta AS grad" + " FROM podaci_tvrtka" + " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" + ""; //DSRpodaciTvrtke DSpt = new DSRpodaciTvrtke(); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } this.reportViewer1.RefreshReport(); }
private void FillPonude(string broj) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); string sql2 = "SELECT " + " replace(ponude_stavke.kolicina, ',','.')::numeric as kolicina," + " ponude_stavke.vpc," + " ponude_stavke.porez," + " ponude_stavke.broj_ponude," + " ponude_stavke.rabat," + " ponude_stavke.sifra," + " roba.naziv as naziv," + " ponude_stavke.id_skladiste AS skladiste," + " ponude_stavke.mpc," + " ponude_stavke.vpc * replace(ponude_stavke.kolicina, ',','.')::numeric as iznos," + " ponude_stavke.porez_potrosnja," + " 'OVO NIJE FISKALIZIRAN RAČUN' as string1" + " FROM ponude_stavke" + " LEFT JOIN roba ON roba.sifra=ponude_stavke.sifra WHERE ponude_stavke.broj_ponude='" + broj + "'"; DSRfakturaStavke DSfs = new DSRfakturaStavke(); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } double vpc_stavka = 0; double kol_stavka = 0; double porez_potrosnja = 0; double pdv = 0; double rabat = 0; double mpc_stavka = 0; double rabat_stavka = 0; double pdv_stavka = 0; double osnovica_stavka = 0; double RabatSve = 0; double potrosnjaUkupno = 0; DataTable DT = dSRfakturaStavke.Tables[0]; for (int i = 0; i < DT.Rows.Count; i++) { vpc_stavka = 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()); //porez_potrosnja = Convert.ToDouble(DT.Rows[i]["porez_potrosnja"].ToString()); porez_potrosnja = 0; double.TryParse(DT.Rows[i]["porez_potrosnja"].ToString(), out porez_potrosnja); //mpc_stavka = Convert.ToDouble(DT.Rows[i]["mpc"].ToString()); mpc_stavka = vpc_stavka * (1 + (pdv / 100)); //mpc_stavka = mpc_stavka - (mpc_stavka * rabat / 100); pdv = vpc_stavka * (pdv / 100); porez_potrosnja = (vpc_stavka * (porez_potrosnja / 100)); rabat = (mpc_stavka * (rabat / 100)); rabat_stavka = (rabat * kol_stavka); mpc_stavka = (((mpc_stavka - rabat) * kol_stavka)); pdv_stavka = (pdv * kol_stavka); osnovica_stavka = (vpc_stavka * kol_stavka); porez_potrosnja = (porez_potrosnja * kol_stavka); RabatSve += rabat_stavka; osnovica_ukupno += osnovica_stavka; pdv_ukupno += pdv_stavka; SveUkupno += mpc_stavka; potrosnjaUkupno += porez_potrosnja; StopePDVa(Convert.ToDouble(DT.Rows[i]["porez"].ToString()), pdv_stavka, osnovica_stavka); } porez_potrosnja = SveUkupno - pdv_ukupno - osnovica_ukupno; SveUkupno = osnovica_ukupno + pdv_ukupno + potrosnjaUkupno - RabatSve; string broj_slovima = broj_u_text.PretvoriBrojUTekst(SveUkupno.ToString(), ',', "kn", "lp").ToString(); string sql = "SELECT " + " ponude.broj_ponude," + " ponude.date AS datum," + " ponude.vrijedi_do AS datum_dvo, '1970-01-01' as datum_valute, " + " nacin_placanja.naziv_placanja AS placanje," + " otprema.naziv AS otprema," + " CAST (ponude.model AS nvarchar) + ' '+ CAST (ponude.broj_ponude AS nvarchar)+CAST (ponude.godina_ponude AS nvarchar)+'-'+CAST (ponude.id_fakturirati AS nvarchar) AS model," + " ponude.napomena," + " '" + RabatSve + "' AS rabat," + " '" + SveUkupno + "' AS ukupno," + " '" + Math.Round(pdv_ukupno, 2, MidpointRounding.AwayFromZero) + "' AS iznos_pdv," + " '" + osnovica_ukupno + "' AS osnovica," + " ponude.godina_ponude," + " CAST (ponude.broj_ponude AS nvarchar) +'/'+ CAST (ponude.godina_ponude AS nvarchar) AS Naslov," + " case when vrsta_korisnika = 1 then partners.ime_tvrtke else concat(partners.ime, ' ', partners.prezime) end AS kupac_tvrtka," + " 'Vrijedi do:' AS naziv_date1," + " 'Datum dospijeća:' AS naziv_date2," + " partners.adresa AS kupac_adresa," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " 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," + " '" + potrosnjaUkupno.ToString("#0.00") + "' as string3" + " FROM ponude" + " LEFT JOIN partners ON partners.id_partner=ponude.id_fakturirati" + " LEFT JOIN otprema ON otprema.id_otprema=ponude.otprema" + " LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=ponude.id_nacin_placanja" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=ponude.zr" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=ponude.id_zaposlenik_izradio WHERE ponude.broj_ponude='" + broj + "'" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); } if (id_kupac.Length == 0) { id_kupac = "0"; } string grad_kupac = ""; DataTable DTgrad_kupac = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + id_kupac + "'", "grad").Tables[0]; if (DTgrad_kupac.Rows.Count != 0) { grad_kupac = DTgrad_kupac.Rows[0]["posta"].ToString().Trim() + " " + DTgrad_kupac.Rows[0]["grad"].ToString(); dSFaktura.Tables[0].Rows[0]["kupac_grad"] = grad_kupac; } string poslovnica_grad = ""; DataTable DTposlovnica_grad = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + Class.PodaciTvrtka.gradPoslovnicaId + "'", "grad").Tables[0]; if (DTposlovnica_grad.Rows.Count != 0) { poslovnica_grad = DTposlovnica_grad.Rows[0]["posta"].ToString().Trim() + " " + DTposlovnica_grad.Rows[0]["grad"].ToString(); } string sql1 = "SELECT " + " podaci_tvrtka.ime_tvrtke," + " podaci_tvrtka.skraceno_ime," + " podaci_tvrtka.oib," + " podaci_tvrtka.tel," + " podaci_tvrtka.fax," + " podaci_tvrtka.mob," + " podaci_tvrtka.iban," + " podaci_tvrtka.adresa," + " podaci_tvrtka.vl," + " '" + grad_kupac + "' AS grad_kupac," + " podaci_tvrtka.poslovnica_adresa," + " '" + poslovnica_grad + "' as poslovnica_grad," + " podaci_tvrtka.email," + " 'Ponuda ' AS naziv_fakture," + " podaci_tvrtka.text_bottom, " + "podaci_tvrtka.nazivPoslovnice as ime_poslovnice, podaci_tvrtka.swift, podaci_tvrtka.pdvBr as pdv_br," + " grad.grad + '' + grad.posta AS grad" + " FROM podaci_tvrtka" + " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } this.reportViewer1.RefreshReport(); }
private void FillOtpremnicu(string broj, string skladiste) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); //MessageBox.Show(broj_slovima.ToLower()); string sql2 = "SELECT " + " otpremnica_stavke.kolicina," + " otpremnica_stavke.vpc," + " otpremnica_stavke.porez," + " otpremnica_stavke.broj_otpremnice," + " otpremnica_stavke.rabat," + " otpremnica_stavke.sifra_robe," + " roba.naziv as naziv," + " otpremnica_stavke.vpc * otpremnica_stavke.kolicina as iznos, " + " otpremnica_stavke.id_skladiste AS skladiste," + " otpremnica_stavke.porez_potrosnja," + " 'OVO NIJE FISKALIZIRAN RAČUN' as string1" + " FROM otpremnica_stavke" + " LEFT JOIN roba ON roba.sifra=otpremnica_stavke.sifra_robe WHERE otpremnica_stavke.broj_otpremnice='" + broj + "' AND otpremnica_stavke.id_skladiste='" + skladiste + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } double osnovica = 0; double pdv_stavka = 0; double Porez_potrosnja_stavka = 0; double ukupno = 0; double osnovica_sve = 0; double osnovica_pnp = 0; double Porez_potrosnja_sve = 0; double pdv_sve = 0; ukupno_rabat = 0; double rabat = 0; double maxPNP = 0; DataTable DT = dSRfakturaStavke.Tables[0]; for (int i = 0; i < DT.Rows.Count; i++) { double kolicina = Convert.ToDouble(DT.Rows[i]["kolicina"].ToString().Replace('.', ',')); double PP = 0; if (DT.Columns.Contains("porez_potrosnja")) { PP = Convert.ToDouble(DT.Rows[i]["porez_potrosnja"].ToString()); } double PDV = Convert.ToDouble(DT.Rows[i]["porez"].ToString().Replace('.', ',')); double VPC = Convert.ToDouble(DT.Rows[i]["vpc"].ToString().Replace('.', ',')); double cijena = Math.Round(((VPC * (PP + PDV) / 100) + VPC), 3); double mpc = cijena * kolicina; rabat = Convert.ToDouble(DT.Rows[i]["rabat"].ToString().Replace('.', ',')); ukupno_rabat = (mpc * rabat / 100) + ukupno_rabat; mpc = Math.Round((mpc - (mpc * rabat / 100)), 3); //Ovaj kod dobiva PDV double PreracunataStopaPDV = Convert.ToDouble((100 * PDV) / (100 + PDV + PP)); pdv_stavka = (mpc * PreracunataStopaPDV) / 100; //Ovaj kod dobiva porez na potrošnju double PreracunataStopaPorezNaPotrosnju = Convert.ToDouble((100 * PP) / (100 + PDV + PP)); Porez_potrosnja_stavka = (mpc * PreracunataStopaPorezNaPotrosnju) / 100; if (PP > 0) { osnovica_pnp += mpc / (1 + (PP + PDV) / 100); } if (maxPNP < PP) { maxPNP = PP; } //izračun porez potrosnja Porez_potrosnja_sve = (Porez_potrosnja_stavka) + Porez_potrosnja_sve; //izračun osnovica if (rabat > 0) { double pps = (100 * (PDV + PP)) / (100 + PDV + PP); osnovica = mpc - (mpc * pps / 100); } else { osnovica = VPC * kolicina; } osnovica_sve = (osnovica) + osnovica_sve; StopePDVa(PDV, pdv_stavka, (osnovica)); //Izracun pdv pdv_sve = pdv_sve + (pdv_stavka); ukupno = mpc + ukupno; } string broj_slovima = broj_u_text.PretvoriBrojUTekst(ukupno.ToString(), ',', "kn", "lp").ToString(); string sql = "SELECT " + " otpremnice.broj_otpremnice," + " otpremnice.datum AS datum, '1970-01-01' as datum_dvo, '1970-01-01' as datum_valute, " + " 'Mjesto otpreme: '+otpremnice.mj_otpreme + '\nAdresa otpreme: ' + otpremnice.adr_otpreme + '\nIstovarno mjesto: ' + otpremnice.istovarno_mj + '\nRegistracija: ' + otpremnice.registracija AS string1," + " 'Isprave: '+otpremnice.isprave + '\nTroškovi prijevoza: ' + otpremnice.troskovi_prijevoza + '\nIstovarni rok: ' + otpremnice.istovarni_rok AS string2," + " otprema.naziv AS otprema," + " otpremnice.napomena," + " '" + ukupno_rabat.ToString("#0.00") + "' AS rabat," + " '" + ukupno.ToString("#0.00") + "' AS ukupno," + " '" + pdv_sve.ToString("#0.00") + "' AS iznos_pdv," + " '" + osnovica_sve.ToString("#0.00") + "' AS osnovica," + " '" + Porez_potrosnja_sve.ToString("#0.00") + "' as string3, " + " otpremnice.godina_otpremnice," + " CAST (otpremnice.broj_otpremnice AS nvarchar) +'/'+ CAST (otpremnice.godina_otpremnice AS nvarchar) AS Naslov," + " case when otpremnice.na_sobu then sobe.naziv_sobe else partners.ime_tvrtke end AS kupac_tvrtka," + " case when otpremnice.na_sobu then '' else partners.adresa end AS kupac_adresa," + " case when otpremnice.na_sobu then '0' else partners.id_grad end AS id_kupac_grad," + " case when otpremnice.na_sobu then '0' else partners.id_partner end AS sifra_kupac," + " ziro_racun.ziroracun AS zr," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " ziro_racun.banka AS banka," + " '" + broj_slovima.ToLower() + "' AS broj_slovima," + " case when otpremnice.na_sobu then 'SOBA' else partners.oib end AS kupac_oib" + " FROM otpremnice" + " LEFT JOIN partners ON partners.id_partner=otpremnice.osoba_partner" + " LEFT JOIN sobe ON sobe.id=otpremnice.osoba_partner" + " LEFT JOIN otprema ON otprema.id_otprema=otpremnice.id_otprema" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun='1'" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=otpremnice.id_izradio WHERE otpremnice.broj_otpremnice='" + broj + "'" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); } if (id_kupac.Length == 0) { id_kupac = "0"; } string grad_kupac = ""; DataTable DTgrad_kupac = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + id_kupac + "'", "grad").Tables[0]; if (DTgrad_kupac.Rows.Count != 0) { grad_kupac = DTgrad_kupac.Rows[0]["posta"].ToString().Trim() + " " + DTgrad_kupac.Rows[0]["grad"].ToString(); dSFaktura.Tables[0].Rows[0]["kupac_grad"] = grad_kupac; } string poslovnica_grad = ""; DataTable DTposlovnica_grad = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + Class.PodaciTvrtka.gradPoslovnicaId + "'", "grad").Tables[0]; if (DTposlovnica_grad.Rows.Count != 0) { poslovnica_grad = DTposlovnica_grad.Rows[0]["posta"].ToString().Trim() + " " + DTposlovnica_grad.Rows[0]["grad"].ToString(); } string sql1 = "SELECT " + " podaci_tvrtka.ime_tvrtke," + " podaci_tvrtka.skraceno_ime," + " podaci_tvrtka.oib," + " podaci_tvrtka.tel," + " podaci_tvrtka.fax," + " podaci_tvrtka.mob," + " podaci_tvrtka.iban," + " podaci_tvrtka.adresa," + " podaci_tvrtka.vl," + " '" + grad_kupac + "' AS grad_kupac," + " podaci_tvrtka.poslovnica_adresa," + " '" + poslovnica_grad + "' as poslovnica_grad," + " podaci_tvrtka.email," + " 'OTPREMNICA ' AS naziv_fakture," + " podaci_tvrtka.text_bottom, " + "podaci_tvrtka.nazivPoslovnice as ime_poslovnice, podaci_tvrtka.swift, podaci_tvrtka.pdvBr as pdv_br," + " grad.grad + '' + grad.posta AS grad" + " FROM podaci_tvrtka" + " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } this.reportViewer1.RefreshReport(); }
private void FillFaktura(string broj) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); //MessageBox.Show(broj_slovima.ToLower()); string sql2 = "SELECT " + " faktura_stavke.kolicina as kolicina," + " faktura_stavke.vpc," + " faktura_stavke.porez," + " faktura_stavke.broj_fakture," + " faktura_stavke.rabat," + " faktura_stavke.sifra," + " roba.naziv as naziv," + " faktura_stavke.id_skladiste AS skladiste," + " faktura_stavke.mpc," + " faktura_stavke.vpc * replace(faktura_stavke.kolicina, ',','.')::numeric as iznos," + " faktura_stavke.porez_potrosnja" + " FROM faktura_stavke" + " LEFT JOIN roba ON roba.sifra=faktura_stavke.sifra WHERE faktura_stavke.broj_fakture='" + broj + "' order by roba.naziv asc;"; //DSRfakturaStavke DSfs = new DSRfakturaStavke(); sql2 = @"SELECT sum(replace(faktura_stavke.kolicina, ',','.')::numeric) as kolicina, faktura_stavke.vpc, faktura_stavke.porez, faktura_stavke.broj_fakture, faktura_stavke.rabat, faktura_stavke.sifra, roba.naziv as naziv, faktura_stavke.id_skladiste AS skladiste, faktura_stavke.mpc, ((faktura_stavke.vpc - (faktura_stavke.vpc * replace(rabat,',','.')::numeric / 100)) * sum(replace(faktura_stavke.kolicina, ',','.')::numeric)) as iznos, faktura_stavke.porez_potrosnja, '' as string1 FROM faktura_stavke LEFT JOIN roba ON roba.sifra=faktura_stavke.sifra WHERE faktura_stavke.broj_fakture='" + broj + @"' group by faktura_stavke.vpc, faktura_stavke.porez, faktura_stavke.broj_fakture, faktura_stavke.rabat, faktura_stavke.sifra, roba.naziv, faktura_stavke.id_skladiste, faktura_stavke.mpc, faktura_stavke.porez_potrosnja order by roba.naziv asc;"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } else { classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke"); } double vpc = 0; double kol_stavka = 0; double porez_potrosnja = 0, porez_potrosnja_stavka = 0; double pdv = 0; double rabat = 0; double mpc_stavka = 0; double rabat_stavka = 0; double pdv_stavka = 0; double osnovica_stavka = 0; double RabatSve = 0; double potrosnjaUkupno = 0; DataTable DT = dSRfakturaStavke.Tables[0]; for (int i = 0; i < DT.Rows.Count; i++) { mpc_stavka = Convert.ToDouble(DT.Rows[i]["mpc"].ToString()); 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()); porez_potrosnja = Convert.ToDouble(DT.Rows[i]["porez_potrosnja"].ToString()); vpc = Math.Round((mpc_stavka / (1 + (pdv + porez_potrosnja) / 100)), 4, MidpointRounding.AwayFromZero); rabat_stavka = Math.Round((vpc * rabat / 100 * kol_stavka), 6, MidpointRounding.AwayFromZero); osnovica_stavka = Math.Round((vpc - (vpc * rabat / 100)) * kol_stavka, 6, MidpointRounding.AwayFromZero); pdv_stavka = Math.Round((vpc - (vpc * rabat / 100)) * pdv / 100 * kol_stavka, 6, MidpointRounding.AwayFromZero); porez_potrosnja_stavka = Math.Round((((vpc - (vpc * rabat / 100)) * (porez_potrosnja / 100)) * kol_stavka), 6, MidpointRounding.AwayFromZero); //mpc_stavka = Math.Round((vpc - (vpc * rabat / 100)) * (1 + (pdv + porez_potrosnja) / 100) * kol_stavka, 3, MidpointRounding.AwayFromZero); RabatSve += rabat_stavka; osnovica_ukupno += osnovica_stavka; pdv_ukupno += pdv_stavka; potrosnjaUkupno += porez_potrosnja_stavka; SveUkupno += ((mpc_stavka - (mpc_stavka * rabat / 100)) * kol_stavka); StopePDVa(Convert.ToDouble(DT.Rows[i]["porez"].ToString()), pdv_stavka, osnovica_stavka); } //porez_potrosnja = SveUkupno - pdv_ukupno - osnovica_ukupno; //SveUkupno = Math.Round(osnovica_ukupno, 2, MidpointRounding.AwayFromZero) + Math.Round(pdv_ukupno, 2, MidpointRounding.AwayFromZero) + Math.Round(potrosnjaUkupno, 2, MidpointRounding.AwayFromZero); string broj_slovima = broj_u_text.PretvoriBrojUTekst(SveUkupno.ToString(), ',', "kn", "lp").ToString(); string sql = "SELECT " + " fakture.broj_fakture," + " fakture.date AS datum," + " fakture.dateDVO AS datum_dvo," + " fakture.datum_valute," + " fakture.mj_troska AS mjesto_troska," + " CASE WHEN nacin_placanja.naziv_placanja = 'Virman' THEN 'Transakcijski račun' ELSE nacin_placanja.naziv_placanja END AS placanje," + " otprema.naziv AS otprema," + " CAST (fakture.model AS nvarchar) + ' '+ CAST (fakture.broj_fakture AS nvarchar)+CAST (fakture.godina_fakture AS nvarchar)+'-'+CAST (fakture.id_fakturirati AS nvarchar) AS model," + " fakture.napomena," + " '" + RabatSve + "' AS rabat," + " '" + SveUkupno + "' AS ukupno," + " '" + Math.Round(pdv_ukupno, 2, MidpointRounding.AwayFromZero) + "' AS iznos_pdv," + " '" + osnovica_ukupno + "' AS osnovica," + " fakture.godina_fakture," + " CAST (fakture.broj_fakture AS nvarchar) + CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(2) + "' AS nvarchar) AS Naslov," + " partners.ime_tvrtke AS kupac_tvrtka," + " 'Datum isporuke:' AS naziv_date1," + " 'Datum dospijeća:' AS naziv_date2," + " partners.adresa AS kupac_adresa," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " 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," + " '" + potrosnjaUkupno.ToString("#0.00") + "' as string3" + " FROM fakture" + " LEFT JOIN partners ON partners.id_partner=fakture.id_fakturirati" + " LEFT JOIN otprema ON otprema.id_otprema=fakture.otprema" + " LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=fakture.id_nacin_placanja" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=fakture.zr" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=fakture.id_zaposlenik_izradio WHERE fakture.broj_fakture='" + broj + "'" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura"); } string id_kupac = ""; if (dSFaktura.Tables[0].Rows.Count > 0) { id_kupac = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString(); } if (id_kupac.Length == 0) { id_kupac = "0"; } string grad_kupac = ""; DataTable DTgrad_kupac = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad='" + id_kupac + "'", "grad").Tables[0]; if (DTgrad_kupac.Rows.Count != 0) { grad_kupac = DTgrad_kupac.Rows[0]["posta"].ToString().Trim() + " " + DTgrad_kupac.Rows[0]["grad"].ToString(); dSFaktura.Tables[0].Rows[0]["kupac_grad"] = grad_kupac; } string poslovnica_grad = ""; DataTable DTposlovnica_grad = classSQL.select("SELECT grad,posta FROM grad WHERE id_grad = '" + Class.PodaciTvrtka.gradPoslovnicaId + "'", "grad").Tables[0]; if (DTposlovnica_grad.Rows.Count != 0) { poslovnica_grad = DTposlovnica_grad.Rows[0]["posta"].ToString().Trim() + " " + DTposlovnica_grad.Rows[0]["grad"].ToString(); } string sql1 = "SELECT " + " podaci_tvrtka.ime_tvrtke," + " podaci_tvrtka.skraceno_ime," + " podaci_tvrtka.oib," + " podaci_tvrtka.tel," + " podaci_tvrtka.fax," + " podaci_tvrtka.mob," + " podaci_tvrtka.iban," + " podaci_tvrtka.adresa," + " podaci_tvrtka.vl," + " '" + grad_kupac + "' AS grad_kupac," + " podaci_tvrtka.poslovnica_adresa," + " '" + poslovnica_grad + "' as poslovnica_grad," + " podaci_tvrtka.email," + " podaci_tvrtka.naslov_racuna AS naziv_fakture," + " podaci_tvrtka.text_bottom, " + "podaci_tvrtka.nazivPoslovnice as ime_poslovnice, podaci_tvrtka.swift, podaci_tvrtka.pdvBr as pdv_br," + " grad.grad + '' + grad.posta AS grad" + " FROM podaci_tvrtka" + " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" + ""; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } else { classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); } this.reportViewer1.RefreshReport(); //----------------------------------------------------BarCode------------------------------------------ string barCodeString = "HRVHUB30" + "\n"; barCodeString += "HRK" + "\n"; barCodeString += BarCodeIznos(Double.Parse(dSFaktura.DTRfaktura.Rows[0]["ukupno"].ToString()).ToString("#0.00")) + "\n"; barCodeString += dSFaktura.DTRfaktura.Rows[0]["kupac_tvrtka"].ToString() + "\n"; barCodeString += dSFaktura.DTRfaktura.Rows[0]["kupac_adresa"].ToString() + "\n"; barCodeString += dSFaktura.DTRfaktura.Rows[0]["kupac_grad"].ToString() + "\n"; barCodeString += dSRpodaciTvrtke.DTRpodaciTvrtke.Rows[0]["ime_tvrtke"].ToString() + "\n"; barCodeString += dSRpodaciTvrtke.DTRpodaciTvrtke.Rows[0]["adresa"].ToString() + "\n"; barCodeString += dSRpodaciTvrtke.DTRpodaciTvrtke.Rows[0]["grad"].ToString() + "\n"; barCodeString += dSRpodaciTvrtke.DTRpodaciTvrtke.Rows[0]["iban"].ToString() + "\n"; barCodeString += "MODEL" + "\n"; // Pitati dejana kaj tu? barCodeString += "POZIV NA BROJ" + "\n"; // Pitati dejana kaj tu? barCodeString += "SIFRA NAMJENE" + "\n"; // Pitati dejana kaj tu? barCodeString += "Uplata"; MessageBox.Show(barCodeString); }
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 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 FillAvans(string broj, string godina) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); ////MessageBox.Show(broj_slovima.ToLower()); string usustavu_pdva = "SELECT sustav_pdv FROM postavke"; DataTable DTsust_pdv = classSQL.select_settings(usustavu_pdva, "Sustav PDV").Tables[0]; string sql = "SELECT " + " avansi.broj_avansa," + " avansi.dat_dok AS datum," + " avansi.dat_knj AS datum_knj," + " avansi.datum_valute AS datum_valute," + " nacin_placanja.naziv_placanja AS placanje," + " concat(CAST (avansi.model AS text),' ',CAST (avansi.broj_avansa AS text),CAST (avansi.godina_avansa AS text),'-',CAST (avansi.broj_avansa AS text)) AS model," + " avansi.opis," + " avansi.ukupno," + " avansi.osnovica10," + " avansi.porez_var as porez," + " avansi.osnovica_var as osnovica," + " avansi.godina_avansa," + " avansi.nult_stp," + " avansi.neoporezivo," + " avansi.jir," + " avansi.zki," + " avansi.storno," + " concat(CAST (avansi.broj_avansa AS text),CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(3) + "' AS text)) AS Naslov," + " partners.ime_tvrtke AS kupac_tvrtka," + " partners.adresa AS kupac_adresa," + " partners.id_grad AS id_kupac_grad," + " partners.id_partner AS sifra_kupac," + " ziro_racun.ziroracun AS ziro," + " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," + " ziro_racun.banka AS banka," + " '' AS broj_slovima," + " partners.oib AS kupac_oib," + " porezi.iznos AS porez_postotak" + " FROM avansi" + " LEFT JOIN zacrnjeni_partner as partners ON partners.id_partner=avansi.id_partner" + " LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=avansi.id_nacin_placanja" + " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=avansi.ziro" + " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=avansi.id_zaposlenik_izradio" + " LEFT JOIN porezi ON porezi.id_porez=avansi.id_pdv" + " WHERE avansi.broj_avansa='" + broj.Trim() + "'" + " AND avansi.godina_avansa='" + godina.Trim() + "'"; if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSAvans, "DTRAvans"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSAvans, "DTRAvans"); } string sql_tecaj = string.Format(@"select avansi.id_valuta, avansi.tecaj, valute.ime_valute, valute.sifra, valute.naziv from avansi left join valute on avansi.id_valuta = valute.id_valuta where avansi.broj_avansa = {0} and avansi.godina_avansa::integer = {1};", broj.Trim(), godina.Trim()); decimal tecaj = 1; string stranaValuta = ""; DataSet dsTecaj = classSQL.select(sql_tecaj, "tecaj"); if (dsTecaj != null && dsTecaj.Tables.Count > 0 && dsTecaj.Tables[0] != null && dsTecaj.Tables[0].Rows.Count > 0) { decimal.TryParse(dsTecaj.Tables[0].Rows[0]["tecaj"].ToString(), out tecaj); if (dsTecaj.Tables[0].Rows[0]["sifra"].ToString() == "978") { decimal ukp = 0; decimal.TryParse(dSAvans.Tables[0].Rows[0]["ukupno"].ToString(), out ukp); stranaValuta = "Prema tečaju " + tecaj.ToString() + " ukupna vrijednost iznosi " + Math.Round(ukp / tecaj, 3).ToString("#0.00") + " " + dsTecaj.Tables[0].Rows[0]["naziv"].ToString(); //stranaValuta = string.Format("Iznos u eurima prema tecaju {0} je {1}", tecaj, Math.Round((ukp / tecaj), 2, MidpointRounding.AwayFromZero)); } } if (dSAvans.Tables[0].Rows.Count > 0) { if (dSAvans.Tables[0].Rows[0]["storno"].ToString() == "DA") { dSAvans.Tables[0].Rows[0].SetField("storno", "Storno račun za predujam: "); } else { if (DTsust_pdv.Rows[0]["sustav_pdv"].ToString() == "1") { dSAvans.Tables[0].Rows[0].SetField("storno", "R1 Račun za predujam: "); } else { dSAvans.Tables[0].Rows[0].SetField("storno", "R2 Račun za predujam: "); } } } string ukupno = broj_u_text.PretvoriBrojUTekst(dSAvans.Tables[0].Rows[0]["ukupno"].ToString(), ',', "kn", "lp").ToString().ToLower(); dSAvans.Tables[0].Rows[0]["broj_slovima"] = ukupno; string id_kupac_grad = ""; string id_kupac = ""; if (dSAvans.Tables[0].Rows.Count > 0) { id_kupac_grad = dSAvans.Tables[0].Rows[0]["id_kupac_grad"].ToString(); id_kupac = dSAvans.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"); } sql = string.Format(@"select artikl from avansi where broj_avansa = '{0}' and godina_avansa = '{1}';", broj, godina); try { string artikl = classSQL.select(sql, "avans_racun").Tables[0].Rows[0]["artikl"].ToString().Trim(); if (artikl.Length == 0) { artikl = "Uplata predujma"; } ReportParameter p2 = new ReportParameter("artikl", artikl); ReportParameter p4 = new ReportParameter("stranaValuta", stranaValuta); this.reportViewer1.LocalReport.EnableExternalImages = true; this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p2, p4 }); } catch (Exception) { } this.reportViewer1.RefreshReport(); }
private void FillAvansRacun(string broj, string godina, string poslovnica) { PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter(); string usustavu_pdva = "SELECT sustav_pdv FROM postavke"; DataTable DTsust_pdv = classSQL.select_settings(usustavu_pdva, "Sustav PDV").Tables[0]; string sql = string.Format(@"SELECT avans_racun.broj_avansa, avans_racun.dat_dok AS datum, avans_racun.dat_knj as datum_knj, avans_racun.datum_valute, nacin_placanja.naziv_placanja AS placanje, CAST (avans_racun.model AS text) + ' '+ CAST (avans_racun.broj_avansa AS text)+CAST (avans_racun.godina_avansa AS text)+'-'+CAST (avans_racun.broj_avansa AS text) +'¤'+case when avans_racun.storno > 0 then (select ar.broj_avansa||'/'||d.ime_ducana||'/'||ar.godina_avansa from avans_racun ar left join ducan d on d.id_ducan = ar.poslovnica where ar.id = avans_racun.storno) else '' end AS model, avans_racun.opis, avans_racun.ukupno, avans_racun.osnovica10, avans_racun.porez_var as porez, avans_racun.osnovica_var as osnovica, avans_racun.godina_avansa, avans_racun.nult_stp, avans_racun.neoporezivo, avans_racun.jir, avans_racun.zki, avans_racun.storno, concat(CAST(avans_racun.broj_avansa AS text),'/',ducan.ime_ducana,'/',CAST(godina_avansa as text)) AS Naslov, partners.ime_tvrtke AS kupac_tvrtka, partners.adresa AS kupac_adresa, partners.id_grad AS id_kupac_grad, partners.id_partner AS sifra_kupac, ziro_racun.ziroracun AS ziro, zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio, ziro_racun.banka AS banka, '' AS broj_slovima, partners.oib AS kupac_oib, porezi.iznos AS porez_postotak FROM avans_racun LEFT JOIN zacrnjeni_partner as partners ON partners.id_partner=avans_racun.id_partner LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=avans_racun.id_nacin_placanja LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=avans_racun.ziro LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=avans_racun.id_zaposlenik_izradio LEFT JOIN porezi ON porezi.id_porez=avans_racun.id_pdv left join ducan on ducan.id_ducan = avans_racun.poslovnica WHERE avans_racun.broj_avansa={0} AND avans_racun.godina_avansa={1} and avans_racun.poslovnica = {2};", broj, godina, poslovnica); if (classSQL.remoteConnectionString == "") { classSQL.CeAdatpter(sql).Fill(dSAvans, "DTRAvans"); } else { classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSAvans, "DTRAvans"); } if (dSAvans.Tables[0].Rows.Count > 0) { if (Convert.ToInt32(dSAvans.Tables[0].Rows[0]["storno"].ToString()) > 0) { dSAvans.Tables[0].Rows[0].SetField("storno", "Storno računa za predujam: "); } else { if (DTsust_pdv.Rows[0]["sustav_pdv"].ToString() == "1") { dSAvans.Tables[0].Rows[0].SetField("storno", "Račun za predujam: "); } else { dSAvans.Tables[0].Rows[0].SetField("storno", "Račun za predujam: "); } } } string ukupno = broj_u_text.PretvoriBrojUTekst(dSAvans.Tables[0].Rows[0]["ukupno"].ToString(), ',', "kn", "lp").ToString().ToLower(); dSAvans.Tables[0].Rows[0]["broj_slovima"] = ukupno; string id_kupac_grad = ""; string id_kupac = ""; if (dSAvans.Tables[0].Rows.Count > 0) { id_kupac_grad = dSAvans.Tables[0].Rows[0]["id_kupac_grad"].ToString(); id_kupac = dSAvans.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"); } sql = string.Format(@"select artikl from avans_racun where broj_avansa = {0} and poslovnica = {1} and godina_avansa = {2}", broj, poslovnica, godina); string artikl = classSQL.select(sql, "avans_racun").Tables[0].Rows[0]["artikl"].ToString().Trim(); if (artikl.Length == 0) { artikl = "Uplata predujma"; } ReportParameter p2 = new ReportParameter("artikl", artikl); ReportParameter p3 = new ReportParameter("stranaValuta", "1"); this.reportViewer1.LocalReport.EnableExternalImages = true; this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p2, p3 }); this.reportViewer1.RefreshReport(); }