private void StornirajFakturu(string staraFaktura) { //ubaci u racuni i vrati broj nove fakture, oduzmi, način plaćanja i zki //zki treba: ako ga nema onda NE fiskalizira novu fakturu, ako ga ima onda fiskalizira string[] iznosi = InsertFaktura(staraFaktura, id_kasa, id_ducan, sifraPartnera); string novaFaktura = iznosi[0].ToString(); string oduzmi = iznosi[1].ToString(); string nacinPlacanja = iznosi[2].ToString(); string zki = iznosi[3].ToString(); DataTable DSfakturaStavke = classSQL.select("SELECT * FROM faktura_stavke where broj_fakture='" + staraFaktura + "' AND id_ducan='" + id_ducan + "' AND id_kasa='" + id_kasa + "'", "faktura_stavke").Tables[0]; SrediStavkeRobuSkladiste(ref DSfakturaStavke, staraFaktura, novaFaktura, oduzmi); Util.AktivnostZaposlenika.SpremiAktivnost(new DataGridView(), null, "Faktura", staraFaktura, true); DataTable DT = classSQL.select("SELECT date, ukupno FROM fakture where broj_fakture='" + novaFaktura + "' AND id_ducan='" + id_ducan + "' AND id_kasa='" + id_kasa + "'", "fakture").Tables[0]; if (!Class.Dokumenti.isKasica && Class.Postavke.automatski_zapisnik) { string oldNapomena = "Kreiranje zapisnika zbog promjene cijena na fakturi broj " + staraFaktura + "/" + Class.Postavke.default_poslovnica + "/" + Class.Postavke.naplatni_uredaj_faktura; string newNapomena = "Kreiranje zapisnika zbog promjene cijena na fakturi broj " + novaFaktura + "/" + Class.Postavke.default_poslovnica + "/" + Class.Postavke.naplatni_uredaj_faktura; Class.ZapisnikPromjeneCijene _zapisnik = new Class.ZapisnikPromjeneCijene(oldNapomena, newNapomena); if (_zapisnik.kreiraniZapisnik) { MessageBox.Show("Kreiranje je zapisnik o promjeni cijene zbog stornirane fakture."); } _zapisnik = null; } if (DT.Rows.Count > 0) { if (zki != "") { FiskalizirajFakturu(DSfakturaStavke, Convert.ToDateTime(DT.Rows[0][0].ToString()), Convert.ToInt32(novaFaktura), DT.Rows[0][1].ToString(), nacinPlacanja); provjera_sql(classSQL.insert("INSERT INTO aktivnost_zaposlenici (id_zaposlenik,datum,radnja) VALUES" + "('" + Properties.Settings.Default.id_zaposlenik + "','" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "'," + "'Storno fakture broj " + staraFaktura + " (fiskalizirana), nova faktura broj: " + novaFaktura + " (fiskalizirana)')")); } else { provjera_sql(classSQL.insert("INSERT INTO aktivnost_zaposlenici (id_zaposlenik,datum,radnja) VALUES" + "('" + Properties.Settings.Default.id_zaposlenik + "','" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "'," + "'Storno fakture broj " + staraFaktura + " (nije fiskalizirana), nova faktura broj: " + novaFaktura + " (nije fiskalizirana)')")); } } else { MessageBox.Show("Greška kod fiskalizacije storna fakture!", "Greška!"); provjera_sql(classSQL.insert("INSERT INTO aktivnost_zaposlenici (id_zaposlenik,datum,radnja) VALUES" + "('" + Properties.Settings.Default.id_zaposlenik + "','" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "'," + "'Storno fakture broj " + staraFaktura + " (fiskalizirana), nova faktura broj: " + novaFaktura + " (nije fiskalizirana)')")); } }
private void StornirajRacunHelper(string stariRacun) { classSQL.transaction("BEGIN;"); //ubaci u racuni i vrati IznosGotovina, IznosKartica, ukupno i novi racun string[] iznosi = InsertRacun(stariRacun, id_kasa, id_ducan, sifraPartnera); string IznosGotovina = iznosi[0].ToString(); string IznosKartica = iznosi[1].ToString(); string IznosVirman = iznosi[2].ToString(); string uk = iznosi[3].ToString(); string noviRacun = iznosi[4].ToString(); DataTable DSracunStavke = classSQL.select("SELECT * FROM racun_stavke where broj_racuna='" + stariRacun + "' AND id_kasa=" + id_kasa + " AND id_ducan=" + id_ducan, "racun_stavke").Tables[0]; srediStavkeRobuSkladiste(ref DSracunStavke, stariRacun, noviRacun); bool paragonProvjera = false; foreach (DataRow r in DSracunStavke.Rows) { if (r["sifra_robe"].ToString()[0] != '!') { paragonProvjera = true; break; } } if (paragonProvjera) { Util.AktivnostZaposlenika.SpremiAktivnost(new DataGridView(), null, "Maloprodaja", stariRacun, true); } srediPopuste(stariRacun, noviRacun, uk); classSQL.transaction("COMMIT;"); if (!Class.Dokumenti.isKasica && Class.Postavke.automatski_zapisnik) { string oldNapomena = "Kreiranje zapisnika zbog promjene cijena na maloprodajnom računu broj " + stariRacun + "/" + Util.Korisno.nazivPoslovnica + "/" + Util.Korisno.nazivNaplatnogUredaja; string newNapomena = "Kreiranje zapisnika zbog promjene cijena na maloprodajnom računu broj " + noviRacun + "/" + Util.Korisno.nazivPoslovnica + "/" + Util.Korisno.nazivNaplatnogUredaja; Class.ZapisnikPromjeneCijene _zapisnik = new Class.ZapisnikPromjeneCijene(oldNapomena, newNapomena); if (_zapisnik.kreiraniZapisnik) { MessageBox.Show("Kreiranje je zapisnik o promjeni cijene zbog storniranog računa."); } _zapisnik = null; } printaj(DSracunStavke, IznosGotovina, IznosKartica, IznosVirman, noviRacun, iznosi[5], iznosi[6]); }