public Szerklist(FakUserInterface fak, VezerloControl hivo, Vezerloinfo aktivvezerles) { InitializeComponent(); FakUserInterface = fak; VezerloControl = hivo; Vezerles = aktivvezerles; ValasztekInfo = FakUserInterface.GetBySzintPluszTablanev("C", "LISTA"); infocoll = UserParamTabla.TermCegPluszCegalattiTablainfok; listaterv = new Listaterv(aktivvezerles); listaterv.Dock = DockStyle.Fill; listaterv.Hivo = this; listaterv.TablainfoTag = TablainfoTag; listapage.Controls.Add(listaterv); }
/// <summary> /// /// </summary> public virtual void adatkivitel_Click() { EgyediAdatszolgaltatasInit(); ListaInfo.DataView.RowFilter = "SZOVEG ='" + ListaNev + "'"; AdatszolgKozosFileba = ListaInfo.DataView[0]["KOZOSFILEBA"].ToString() == "I"; AdatszolgKellNapisorszam = ListaInfo.DataView[0]["KELLNAPISORSZ"].ToString() == "I"; if (AdatszolgKellNapisorszam) AdatszolgaltatasFoldernev += "/" + MaiDatumString; Napisorszam = 1; bool kelladatkiv = true; if (!Directory.Exists(AdatszolgaltatasFoldernev)) { if (AdatszolgKellNapisorszam) AdatszolgaltatasFoldernev += "/" + Napisorszam.ToString(); Directory.CreateDirectory(AdatszolgaltatasFoldernev); } else if (AdatszolgKellNapisorszam) { string foldernev = ""; do { Napisorszam++; foldernev = AdatszolgaltatasFoldernev + "/" + Napisorszam.ToString(); if (!Directory.Exists(foldernev)) { if (FakPlusz.MessageBox.Show("Ma már készült " + (Napisorszam - 1).ToString() + " adatszolg.\n Ismétli az utolsót?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { Napisorszam--; AdatszolgaltatasFoldernev += "/" + Napisorszam.ToString(); } else if (FakPlusz.MessageBox.Show("Készüljön újabb adatszolg?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) != FakPlusz.MessageBox.DialogResult.Igen) kelladatkiv = false; else { AdatszolgaltatasFoldernev = foldernev; Directory.CreateDirectory(AdatszolgaltatasFoldernev); } break; } } while (true); if (!kelladatkiv) return; } ListaInfo.DataView.RowFilter = ""; TablainfoCollection infoksorrendben = new TablainfoCollection(); for (int i = 0; i < AdatszolgaltatasNevek.Length; i++) { string nev = AdatszolgaltatasNevek[i]; Tablainfo info = AdatszolgaltatasInfok.GetByAzontip("SZRA" + nev); infoksorrendben.Add(info); } if (AdatszolgKozosFileba) { FileNevek = new string[1]; FileNevek[0] = infoksorrendben[0].TablaTag.Node.Text; } else { FileNevek = new string[AdatszolgaltatasNevek.Length]; for (int i = 0; i < AdatszolgaltatasNevek.Length; i++) { string nev = AdatszolgaltatasNevek[i]; FileNevek[i] = infoksorrendben[i].TablaTag.Node.Text; } } Stream[] streamek = new Stream[FileNevek.Length]; bool voltmar = false; for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev+ "/" +FileNevek[i]; if (File.Exists(nev)) { if (AdatszolgKellNapisorszam) File.Delete(nev); else voltmar=true; } } kelladatkiv = true; if (voltmar) { if (FakPlusz.MessageBox.Show("Már volt adatszolgáltatás. Újra?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev + "/" + FileNevek[i]; if (File.Exists(nev)) File.Delete(nev); } } else kelladatkiv = false; } if (!kelladatkiv) return; StreamWriterek = new StreamWriter[FileNevek.Length]; for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev + "/" + FileNevek[i]; streamek[i] = File.Create(nev); StreamWriterek[i] = new StreamWriter(streamek[i]); } Adatkivitelek = new Adatkivitel[AdatszolgaltatasNevek.Length]; for (int i = 0; i < Adatkivitelek.Length; i++) { Tablainfo info = infoksorrendben[i]; UserAdatSzolgInfo.DataView.RowFilter = "SZOVEG='" + AdatszolgaltatasNevek[i] + "'"; StreamWriter streamwriter; if (StreamWriterek.Length == 1) streamwriter = StreamWriterek[0]; else streamwriter = StreamWriterek[i]; Adatkivitelek[i] = new Adatkivitel(this,info,UserAdatSzolgInfo.DataView[0].Row["SZULOTABLA"].ToString(),streamwriter); if (AdatszolgaltatasNevek[i].Contains("FEJ")) fejadatkiv = Adatkivitelek[i]; else if (AdatszolgaltatasNevek[i].Contains("LAB")) labadatkiv = Adatkivitelek[i]; Adatkivitelek[i].Adatkivitelek = Adatkivitelek; Adatkivitelek[i].StreamWriterek = StreamWriterek; Adatkivitelek[i].Napisorszam = Napisorszam; } UserAdatSzolgInfo.DataView.RowFilter = ""; AdatszolgaltatasInit(); ListaAdatkivitel(false); if (labadatkiv != null) labadatkiv.EgySorEloallitasa(1); for (int i = 0; i < StreamWriterek.Length; i++) StreamWriterek[i].Close(); }
private void Rogzittorol(bool rogzit) { Tablainfo modtabinfo = null; Tablainfo osszefinfo = null; Tablainfo parenttabinfo = null; Tablainfo semainfo = null; TreeNode ujnode = null; TablainfoCollection tabinfocollection = new TablainfoCollection(); ArrayList osszefinfocollectionar = new ArrayList(); ArrayList nodear = new ArrayList(); bool bev = Fajta == "B"; if (bev) semainfo = Kukucs.bevsemainfo; else semainfo = Kukucs.koltssemainfo; switch (AktualSzint) { case 0: osszefinfo = null; parenttabinfo = null; modtabinfo = Focsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(Alcsopinfo); tabinfocollection.Add(Csopinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(FocsopAlcsopinfo); osszefinfocollectionar.Add(AlcsopCsopinfo); osszefinfocollectionar.Add(CsopKodInfo); break; case 1: modtabinfo = Alcsopinfo; osszefinfo = FocsopAlcsopinfo; parenttabinfo = Focsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(Csopinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(AlcsopCsopinfo); osszefinfocollectionar.Add(CsopKodInfo); break; case 2: modtabinfo = Csopinfo; osszefinfo = AlcsopCsopinfo; parenttabinfo = Alcsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(CsopKodInfo); break; case 3: modtabinfo = ElemikodInfo; tabinfocollection.Add(modtabinfo); osszefinfo = CsopKodInfo; parenttabinfo = Csopinfo; osszefinfocollectionar.Add(CsopKodInfo); break; } DataRow row=null; string szov=""; string id; Tablainfo[] rogzitendo; ArrayList ar = new ArrayList(); for (int i = 0; i < tabinfocollection.Count; i++) ar.Add(tabinfocollection[i]); for (int i = 0; i < osszefinfocollectionar.Count; i++) if (osszefinfocollectionar[i] != null) ar.Add((Tablainfo)osszefinfocollectionar[i]); ar.Add(semainfo); rogzitendo = (Tablainfo[])ar.ToArray(typeof(Tablainfo)); if (!rogzit) { ar = new ArrayList(); ar.Add(AktualNode); TreeNode[] nodeok = (TreeNode[])ar.ToArray(typeof(TreeNode)); nodear = Osszesnode(nodeok, nodear); if (nodear.Count == tabinfocollection.Count) // Elemi kod vizsgalat { szov = ""; nodeok = (TreeNode[])nodear[nodear.Count - 1]; if (bev) { foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); ElemikodInfo.DataView.RowFilter = "TERMEKKOD_ID = " + id; MasikElemikodInfo.DataView.RowFilter = "TERMEKKOD_ID = " + id; if (MasikElemikodInfo.DataView.Count != 0) { if (szov != "") szov += "\n"; szov = ElemikodInfo.DataView[0].Row["SZOVEG"].ToString() + " már szerepel az alábbi költségkód(ok) hivatkozásánál:"; szov += "\n" + MasikElemikodInfo.DataView[0].Row["SZOVEG"].ToString(); } } ElemikodInfo.DataView.RowFilter = ""; MasikElemikodInfo.DataView.RowFilter = ""; if (szov != "") { szov += "\nElöbb a költségkódok közül kell törölni!"; FakPlusz.MessageBox.Show(szov); return; } } else // koltsegkod itt esetleg csak a felosztas miatt { foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + " = " + egynode.Parent.Tag.ToString(); bool semae = Csopinfo.DataView[0].Row["SEMAE"].ToString() == "I"; if (!semae) { CsopKodInfo.DataView.RowFilter = "SORSZAM2 = " + id; if (CsopKodInfo.DataView.Count > 1 && AktualSzint != 3 && !semae) { if (szov == "") szov += "Az alábbi költségkód(ok) sémában szerepelnek:"; ElemikodInfo.DataView.RowFilter = ElemikodInfo.IdentityColumnName + "= " + id; szov += "\n" + ElemikodInfo.DataView[0].Row["SZOVEG"].ToString(); } } Csopinfo.DataView.RowFilter = ""; CsopKodInfo.DataView.RowFilter = ""; Kukucs.koltscsopkod.DataView.RowFilter = ""; ElemikodInfo.DataView.RowFilter = ""; } if (szov != "") { szov += "\nCsak egyenként törölhetö"; FakPlusz.MessageBox.Show(szov); return; } } foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); if (Kukucs.ComboHasznalatban(ElemikodInfo, null, "", "", id, true)) return; } } if (FakPlusz.MessageBox.Show("Biztosan törölhetö?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { bool voltmasiknode = false; ArrayList ar1 = null; TreeNode masiktorlendonode = null; id = AktualNode.Tag.ToString(); string[] idk = null; if (AktualSzint == 3 && !bev) { int arindex = Kukucs.koltsegkodidk.IndexOf(id); ar1 = (ArrayList)Kukucs.treenodeokarray[arindex]; if (ar1.Count > 1) { voltmasiknode = true; for (int i = 0; i < ar1.Count; i++) { TreeNode egynode = (TreeNode)ar1[i]; if (egynode == AktualNode && i == 0) masiktorlendonode=(TreeNode)ar1[1]; } ar1.Remove(AktualNode); if (masiktorlendonode != null) { Kukucs.treenodeokarray.RemoveAt(arindex); // ar1.Remove(masiktorlendonode); Kukucs.koltsegkodidk.RemoveAt(arindex); } } } for (int i = 0; i < nodear.Count; i++) { TreeNode[] egynodeok = (TreeNode[])nodear[i]; Tablainfo torlinfo = tabinfocollection[i]; Tablainfo egyosszefinfo = null; Tablainfo egysemainfo = null; if (osszefinfocollectionar[i] != null) { egyosszefinfo = (Tablainfo)osszefinfocollectionar[i]; if (egyosszefinfo.Kodtipus == "Termcsopkod" || egyosszefinfo.Kodtipus == "Koltscsopkod") { egysemainfo = semainfo; } } for (int j = 0; j < egynodeok.Length; j++) { string parentid = ""; if (egynodeok[j].Parent != null) { parentid = egynodeok[j].Parent.Tag.ToString(); if (torlinfo == ElemikodInfo && Fajta=="K") { if (voltmasiknode) { if (masiktorlendonode == null) torlinfo = null; else parentid = ""; } } } TorlesTablabol(egynodeok[j].Tag.ToString(),parentid, torlinfo, egyosszefinfo, egysemainfo); } } FakUserInterface.Rogzit(rogzitendo); for (int i = 0; i < rogzitendo.Length; i++) { Tablainfo egyinfo = rogzitendo[i]; if ("CO".Contains(egyinfo.Adatfajta)) { if (egyinfo.DataView.Count == 0 && egyinfo.KellVerzio && egyinfo.VerzioTerkepArray.Count !=0) { egyinfo.VerzioTerkepArray.RemoveAt(egyinfo.VerzioTerkepArray.Count - 1); egyinfo.AktVerzioId = egyinfo.LastVersionId; } } } // if () // { //foreach (TreeNode egynode in torlendonodeok) //{ // TreeNode parentnode = egynode.Parent; // if (parentnode != null) // { // int i = parentnode.Nodes.IndexOf(egynode); // if (i != -1) // parentnode.Nodes.Remove(egynode); // } //} // } TreeNode node = AktualNode; int pos = 0; int nextpos = 0; TreeNode kovnode = null; TreeNodeCollection coll = null; if (ParentNode == null) coll = TreeView.Nodes; else coll = ParentNode.Nodes; if (coll.Count == 1) { kovnode = null; if (ParentNode != null) kovnode = ParentNode; } else { pos = coll.IndexOf(AktualNode); if (pos == coll.Count - 1) nextpos = pos - 1; else nextpos = pos + 1; kovnode = coll[nextpos]; } if (masiktorlendonode != null) { masiktorlendonode.Parent.Nodes.Remove(masiktorlendonode); } coll.Remove(AktualNode); SetAktualNode(kovnode); if (!bev) FeloszthatoKoltsegidkModosit(); } } else { ArrayList afaidar = new ArrayList(FakUserInterface.GetTartal(AfaInfo, "SORSZAM")); bool semae = bev; string egychar; int sorrend = 0; string[] csopkodinfoidk = null; string[] sematorlendoidk = null; string[] semaidirandok = null; string felosztid = "0"; string csopkodid = ""; string sematorlendoid = ""; string semairandoid = ""; string bevid = ""; string semasorszam1 = ""; int aktsorrend = 0; if (AktualNode != null) // modosit { id = AktualNode.Tag.ToString(); modtabinfo.DataView.RowFilter = modtabinfo.IdentityColumnName + " = " + id; row = modtabinfo.DataView[0].Row; row["KOD"] = KodBox.Text; row["SZOVEG"] = SzovegBox.Text; row["MODOSITOTT_M"] = 1; string oldsemae; if (AktualSzint == 2 && !bev) { oldsemae = row["SEMAE"].ToString(); csopkodinfoidk = FakUserInterface.GetTartal(CsopKodInfo, "SORSZAM", "SORSZAM1", id); egychar = FelosztCombo.Text.Substring(0, 1); if (egychar != oldsemae && oldsemae == "I") { if (csopkodinfoidk != null) { sematorlendoidk = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", csopkodinfoidk); } } row["SEMAE"] = egychar; semae = egychar == "I"; } if (AktualSzint == 3) { if (AfaCombo.SelectedIndex != -1) row["AFA_ID"] = afaidar[AfaCombo.SelectedIndex]; else row["AFA_ID"] = 0; if (!bev) { Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + "= " + ParentNode.Tag.ToString(); DataRow row1 = Csopinfo.DataView[0].Row; egychar = row1["SEMAE"].ToString(); semae = egychar == "I" && FelosztSzazalCombo.Text != ""; Csopinfo.DataView.RowFilter = ""; string[] bevidk = FakUserInterface.GetTartal(MasikElemikodInfo, MasikElemikodInfo.IdentityColumnName, "SZOVEG", BevetelKodCombo.Text); if (bevidk != null) row["TERMEKKOD_ID"] = bevidk[0]; if (AlkalmazottiCombo.Visible && AlkalmazottiCombo.SelectedIndex!=-1) row["DOLGOZO_ID"] = Kukucs.alkalmidk[AlkalmazottiCombo.SelectedIndex]; } else semae = FelosztSzazalCombo.Text != ""; //if (semae) //{ CsopKodInfo.DataView.RowFilter = "SORSZAM1 = " + ParentNode.Tag.ToString() + " AND SORSZAM2 = " + id; semasorszam1 = CsopKodInfo.DataView[0].Row[CsopKodInfo.IdentityColumnName].ToString(); sorrend = Convert.ToInt32(CsopKodInfo.DataView[0].Row["SORREND"].ToString()); CsopKodInfo.DataView.RowFilter = ""; if (!semae) { sematorlendoidk = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", semasorszam1); if (sematorlendoidk != null) { sematorlendoid = sematorlendoidk[0]; SemaInfo.Modositott = true; SemaInfo.DataView.RowFilter = "SORSZAM = " + sematorlendoid; SemaInfo.DataView[0].Row.Delete(); } } else { felosztid = FakUserInterface.GetTartal(Kukucs.fszazal, Kukucs.fszazal.IdentityColumnName, "SZOVEG", FelosztSzazalCombo.Text)[0]; SemaInfo.Modositott = true; semaidirandok = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", semasorszam1); if (semaidirandok != null) { semairandoid = semaidirandok[0]; SemaInfo.DataView.RowFilter = "SORSZAM = " + semairandoid; SemaInfo.DataView[0].Row["SORSZAM2"] = felosztid; SemaInfo.DataView[0].Row["PREV_ID2"] = felosztid; } else { row = SemaInfo.Adattabla.Ujsor(sorrend); { row["SORSZAM1"] = semasorszam1; row["PREV_ID1"] = semasorszam1; row["SORSZAM2"] = felosztid; row["PREV_ID2"] = felosztid; } } } } // } modtabinfo.Modositott = true; modtabinfo.DataView.RowFilter = ""; AktualNode.Name = KodBox.Text; AktualNode.Text = SzovegBox.Text + " (" + KodBox.Text + ")"; ujnode = AktualNode; } else // beszur { if (ElemiKoltsegMasolando != null) { SzovegBox.Text = ElemiKoltsegMasolando["SZOVEG"].ToString(); KodBox.Text = ElemiKoltsegMasolando["KOD"].ToString(); } szov = SzovegBox.Text + " (" + KodBox.Text + ")"; ujnode = new TreeNode(szov); ujnode.Name = KodBox.Text; if (ParentNode == null) { if (Ele) TreeView.Nodes.Insert(AktualNodePos, ujnode); else if (Moge) TreeView.Nodes.Insert(AktualNodePos + 1, ujnode); else TreeView.Nodes.Add(ujnode); } else if (ParentNode.Nodes.Count == 0) ParentNode.Nodes.Add(ujnode); else { if (Ele) ParentNode.Nodes.Insert(AktualNodePos, ujnode); else if (Moge) ParentNode.Nodes.Insert(AktualNodePos + 1, ujnode); else ParentNode.Nodes.Add(ujnode); } if (ParentNode != null && !bev && AktualSzint == 3) { id = ParentNode.Tag.ToString(); semae = FakUserInterface.GetTartal(Csopinfo, "SEMAE", "KOLTSEGCSOPORT_ID", id)[0] == "I"; } aktsorrend = 100; if (ElemiKoltsegMasolando == null) { if (EredetiNode != null && EredetiSzint == AktualSzint) aktsorrend = Sorrendszam(Ele, Moge, modtabinfo, EredetiNode.Tag.ToString(), modtabinfo.IdentityColumnName); else if (modtabinfo.DataView.Count != 0) aktsorrend += Convert.ToInt32(modtabinfo.DataView[modtabinfo.DataView.Count - 1].Row["SORREND"].ToString()); row = modtabinfo.Adattabla.Ujsor(aktsorrend); row["KOD"] = KodBox.Text; row["SZOVEG"] = SzovegBox.Text; row["MODOSITOTT_M"] = 1; if (AktualSzint == 2 && !bev) { egychar = FelosztCombo.Text.Substring(0, 1); row["SEMAE"] = egychar; semae = egychar == "I"; } } if (AktualSzint == 3) { if (ElemiKoltsegMasolando == null) { if (AfaCombo.SelectedIndex != -1) row["AFA_ID"] = afaidar[AfaCombo.SelectedIndex]; else row["AFA_ID"] = afaidar[0]; } if (semae) { if (FelosztSzazalCombo.Text != "") felosztid = FakUserInterface.GetTartal(Kukucs.fszazal, Kukucs.fszazal.IdentityColumnName, "SZOVEG", FelosztSzazalCombo.Text)[0]; // SemaInfo } //else //{ //} if (!bev && ElemiKoltsegMasolando == null) { string[] bevidk = FakUserInterface.GetTartal(MasikElemikodInfo, MasikElemikodInfo.IdentityColumnName, "SZOVEG", BevetelKodCombo.Text); if (bevidk != null) row["TERMEKKOD_ID"] = bevidk[0]; if (AlkalmazottiCombo.Visible && AlkalmazottiCombo.SelectedIndex != -1) row["DOLGOZO_ID"] = Kukucs.alkalmidk[AlkalmazottiCombo.SelectedIndex]; Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + " = " + ParentNode.Tag.ToString(); semae = Csopinfo.DataView[0].Row["SEMAE"].ToString() == "I"; Csopinfo.DataView.RowFilter = ""; } } } if (modtabinfo.Modositott || ElemiKoltsegMasolando != null) { if(modtabinfo.Modositott) FakUserInterface.Rogzit(modtabinfo); id = FakUserInterface.GetTartal(modtabinfo, modtabinfo.IdentityColumnName, "KOD", KodBox.Text)[0]; if (AktualNode == null) { ujnode.Tag = id; if (!bev && AktualSzint == 3) { int arindex = Kukucs.koltsegkodidk.IndexOf(id); // ArrayList ar; if (arindex == -1) { Kukucs.koltsegkodidk.Add(id); ar = new ArrayList(); ar.Add(ujnode); Kukucs.treenodeokarray.Add(ar); // FeloszthatoKoltsegidkModosit(); } else { ar = (ArrayList)Kukucs.treenodeokarray[arindex]; ar.Add(ujnode); } } if (osszefinfo != null) { string parentid = ParentNode.Tag.ToString(); if (osszefinfo.DataView.Count == 0) aktsorrend = 100; //else // aktsorrend=Convert.ToInt32(FakUserInterface.GetTartal(modtabinfo,"SORREND",modtabinfo.IdentityColumnName,id)[0]); // sorrend += Convert.ToInt32(osszefinfo.DataView[osszefinfo.DataView.Count - 1].Row["SORREND"].ToString()); //if (parenttabinfo.DataView.Count != 0) // sorrend = Convert.ToInt32(parenttabinfo.DataView[0].Row["SORREND"].ToString()); row = osszefinfo.Adattabla.Ujsor(aktsorrend); // parenttabinfo.DataView.RowFilter = ""; row["SORSZAM1"] = parentid; row["PREV_ID1"] = parentid; row["SORSZAM2"] = id; row["PREV_ID2"] = id; if (AktualSzint == 3 && AktualNode == null && felosztid != "0") { if (osszefinfo.KellVerzio && osszefinfo.VerzioTerkepArray.Count == 0) osszefinfo.CreateNewVersion(); FakUserInterface.Rogzit(osszefinfo); osszefinfo.DataView.RowFilter ="SORSZAM1 = " + parentid + " AND SORSZAM2 = " + id; DataRow row1 = osszefinfo.DataView[0].Row; osszefinfo.DataView.RowFilter = ""; if (SemaInfo.KellVerzio && SemaInfo.VerzioTerkepArray.Count == 0) SemaInfo.CreateNewVersion(); sorrend = 100; if (SemaInfo.DataView.Count != 0) sorrend += Convert.ToInt32(SemaInfo.DataView[SemaInfo.DataView.Count - 1].Row["SORREND"].ToString()); row = SemaInfo.Adattabla.Ujsor(sorrend); row["SORSZAM1"] = row1["SORSZAM"]; row["PREV_ID1"] = row1["SORSZAM"]; row["SORSZAM2"] = felosztid; row["PREV_ID2"] = felosztid; } else { ar = new ArrayList(rogzitendo); if (ar.IndexOf(osszefinfo) == -1) { ar.Add(osszefinfo); rogzitendo = (Tablainfo[])ar.ToArray(typeof(Tablainfo)); } } } } for (int i = 0; i < rogzitendo.Length; i++) { Tablainfo egyinfo = rogzitendo[i]; if ("CO".Contains(egyinfo.Adatfajta)) { if (egyinfo.KellVerzio && egyinfo.VerzioTerkepArray.Count == 0) egyinfo.CreateNewVersion(); } } FakUserInterface.Rogzit(rogzitendo); if (!bev) FeloszthatoKoltsegidkModosit(); EredetiNode = null; EredetiSzint = -1; SetAktualNode(ujnode); } } }
// public ArrayList Osszegek = new ArrayList(); /// <summary> /// Osszegzendok es Osszegek osszeallitasa osszegfeladashoz /// </summary> /// <param name="listainfok"> /// listainformaciok /// </param> public void Osszegzesek(ListaInfok listainfok) { ListaInfok = listainfok; OsszesTablainfo = listainfok.Tablainfok; int matrixpontdb = Mezoinfok.Count; Sorrendinfok = listainfok.Sorrendinfok; Feltetelinfok = listainfok.Feltetelinfok; SorrendmezokSzama = Sorrendinfok.Mezoinfok.Count; Sorrendszovegek = new string[SorrendmezokSzama]; Oszlopfeltetelek = listainfok.Oszlopfeltetelinfok; OszlopokSzama = Oszlopfeltetelek.FeltetelinfoCollection.OszlopokSzama; OszlopTabinfok = Oszlopfeltetelek.FeltetelinfoCollection.OszlopTablainfok; Sorfeltetelek = listainfok.Sorfeltetelinfok; SorokSzama = Sorfeltetelek.FeltetelinfoCollection.SorokSzama; SorTabinfok = Sorfeltetelek.FeltetelinfoCollection.SorTablainfok; SorRekordKell = Sorfeltetelek.FeltetelinfoCollection.SorRekordKell; SorRowFilterKell = Sorfeltetelek.FeltetelinfoCollection.SorRowFilterKell; Tabinfoktolt(); //int osszegzendok = 0; //int atlagolandok = 0; for (int i = 0; i <= SorrendmezokSzama; i++) { ArrayList sorarray = new ArrayList(); for (int j = 0; j <= SorokSzama; j++) { ArrayList oszlarray = new ArrayList(); for (int k = 0; k <= OszlopokSzama; k++) { ArrayList matrixarray = new ArrayList(); for (int l = 0; l < matrixpontdb; l++) matrixarray.Add(new Decimal[] { 0, 0 }); oszlarray.Add(matrixarray); } sorarray.Add(oszlarray); } Osszegek.Add(sorarray); } //for (int i = 0; i < matrixpontdb; i++) //{ // Mezoinfo info = Mezoinfok[i]; // info.Osszegek = new ArrayList(); // for (int j = 0; j <= SorrendmezokSzama; j++) // { // ArrayList sorrendarray = new ArrayList(); // info.Osszegek.Add(sorrendarray); // for (int k = 0; k <= SorokSzama; k++) // { // ArrayList sorarray = new ArrayList(); // sorrendarray.Add(sorarray); // for (int l = 0; l <= OszlopokSzama; l++) // { // ArrayList oszloparray = new ArrayList(); // sorarray.Add(oszloparray); // oszloparray.Add(new Decimal[] { 0, 0 }); // } // } // } //} for (int i = 0; i < 1 + (OszlopokSzama + 1) * matrixpontdb; i++) { if (i == 0) ListaInfok.Hivo.report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.LeftAlign; else ListaInfok.Hivo.report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; } for (int i = 1; i < ListaInfok.Hivo.report.Section2.ReportObjects.Count; i++) ListaInfok.Hivo.report.Section2.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; }
public void Zaras() { DataTable dt = new DataTable(); DataTable ceghoinfotabla = new DataTable("CEGSZLAHONAPOK"); MainControl.ValtozasBeallit("Datumvaltozas"); string[] gyujtotablanevek = new string[] { "AFAEGYENLEG", "BEVETELKIADAS", "EGYENLEG", "NYITOZARO", "PENZMOZGASOK" }; TablainfoCollection gyujtotablainfok = new TablainfoCollection(); for (int i = 0; i < gyujtotablanevek.Length; i++) gyujtotablainfok.Add(TermCegPluszCegalattiTabinfok[gyujtotablanevek[i]]); Tablainfo nyitozaroinfo = gyujtotablainfok["NYITOZARO"]; Tablainfo afaegyenleginfo = gyujtotablainfok["AFAEGYENLEG"]; Tablainfo bevkiadinfo = gyujtotablainfok["BEVETELKIADAS"]; Tablainfo egyenleginfo = gyujtotablainfok["EGYENLEG"]; Tablainfo penzmozgasok = gyujtotablainfok["PENZMOZGASOK"]; Tablainfo bevszlainfo = TermCegPluszCegalattiTabinfok["BEVSZLA"]; Tablainfo bevszlatetel = TermCegPluszCegalattiTabinfok["BEVSZLA_TETEL"]; Tablainfo koltsszlainfo = TermCegPluszCegalattiTabinfok["KOLTSSZLA"]; Tablainfo koltsszlatetel = TermCegPluszCegalattiTabinfok["KOLTSSZLA_TETEL"]; Tablainfo bankbolbankba = TermCegPluszCegalattiTabinfok["BANKBOLBANKBA"]; Tablainfo bankbolpenztarba = TermCegPluszCegalattiTabinfok["BANKBOLPENZTARBA"]; Tablainfo bankimozgas = TermCegPluszCegalattiTabinfok["BANKIMOZGAS"]; Tablainfo bankimozgastetel = TermCegPluszCegalattiTabinfok["BANKIMOZGAS_TETEL"]; Tablainfo penztarbolbankba = TermCegPluszCegalattiTabinfok["PENZTARBOLBANKBA"]; Tablainfo penztarbolpenztarba = TermCegPluszCegalattiTabinfok["PENZTARBOLPENZTARBA"]; Tablainfo penztarmozgas = TermCegPluszCegalattiTabinfok["PENZTARMOZGAS"]; TablainfoCollection tetelespenzmozgasok = new TablainfoCollection(); tetelespenzmozgasok.Add(bankbolbankba); tetelespenzmozgasok.Add(bankbolpenztarba); tetelespenzmozgasok.Add(bankimozgas); tetelespenzmozgasok.Add(penztarbolpenztarba); tetelespenzmozgasok.Add(penztarbolbankba); tetelespenzmozgasok.Add(penztarmozgas); string[] bevetelnevek = new string[] {"BEVETEL1","BEVETEL2","BEVETEL3","BEVETEL4","BEVETEL5", "BEVETEL6","BEVETEL7","BEVETEL8","BEVETEL9","BEVETEL10","BEVETEL11","BEVETEL12"}; string[] kiadasnevek = new string[]{"KIADAS1","KIADAS2","KIADAS3","KIADAS4","KIADAS5","KIADAS6", "KIADAS7","KIADAS8","KIADAS9","KIADAS10","KIADAS11","KIADAS12"}; string[] eredmnevek = new string[] { "EREDM1", "EREDM2", "EREDM3", "EREDM4", "EREDM5", "EREDM6", "EREDM7", "EREDM8", "EREDM9", "EREDM10", "EREDM11", "EREDM12" }; int maxev = UserParamTabla.AktualisDatum.Year; int induloev = maxev; string elozocegid = ""; string elozoev = ""; DataRow penzmozgasdr; if (UserParamTabla.NemLezartEvek.Count != 1) induloev = Convert.ToInt32(UserParamTabla.NemLezartEvek[0].ToString()); if (UserParamTabla.LezartEvek.Count != 0) { elozoev = UserParamTabla.LezartEvek[UserParamTabla.LezartEvek.Count - 1].ToString(); elozocegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", elozoev)[0]; } FakUserInterface.OpenProgress(); FakUserInterface.SetProgressText("Listaállományok elöállitása"); UserParamTabla.Infotoltkell = true; UserParamTabla.Cegevinfo.DataView.RowFilter = "EV < '" + induloev.ToString() + "'"; string[] cegidk = new string[UserParamTabla.Cegevinfo.DataView.Count]; string sel = ""; for (int i = 0; i < cegidk.Length; i++) { DataRow dr = UserParamTabla.Cegevinfo.DataView[i].Row; cegidk[i] = dr["CEGEV_ID"].ToString(); if (sel == "") sel = " where "; else sel = " or "; sel += "CEGEV_ID = " + cegidk[i]; } UserParamTabla.Cegevinfo.DataView.RowFilter = ""; for (int i = 0; i < gyujtotablanevek.Length; i++) { FakUserInterface.ProgressRefresh(); string tablanev = gyujtotablanevek[i]; Tablainfo egyinfo = gyujtotablainfok[i]; egyinfo.Adattabla.Rows.Clear(); dt = new DataTable(); if (cegidk.Length != 0) Sqlinterface.Select(dt, FakUserInterface.AktualCegconn, tablanev, sel, "", false); Sqlinterface.StoredProcedureCommand(dt, FakUserInterface.AktualCegconn, tablanev + "_PROC"); for (int j = 0; j < dt.Rows.Count; j++) { DataRow dr = dt.Rows[j]; DataRow ujsor = egyinfo.Ujsor(); for (int k = 0; k < dt.Columns.Count; k++) { string colnev = dt.Columns[k].ColumnName; Cols egycol = egyinfo.TablaColumns[colnev]; if (!egycol.IsIdentity) ujsor[colnev] = dr[colnev]; } } if (egyinfo.Modositott) FakUserInterface.Rogzit(egyinfo); } Tablainfo dolgozok = FakUserInterface.GetBySzintPluszTablanev("C", "DOLOZOK"); for (int ii = induloev; ii <= maxev; ii++) { FakUserInterface.ProgressRefresh(); string aktev = ii.ToString(); FakUserInterface.Cegadatok(new DateTime[] { Convert.ToDateTime(aktev + ".01.01"), Convert.ToDateTime(aktev + ".12.31") }); UserParamTabla.AktualisCegIntervallum = FakUserInterface.VerzioInfok["C"].AktIntervallum; UserParamTabla.AktualisCegverzioId = FakUserInterface.VerzioInfok["C"].AktVerzioId; string aktcegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", aktev)[0]; sel = " where CEGEV_ID = " + aktcegid; FakUserInterface.Select(ceghoinfotabla, FakUserInterface.AktualCegconn, "CEGSZLAHONAPOK", sel, "", false); if (ii != induloev) { elozoev = (ii - 1).ToString(); elozocegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", elozoev)[0]; } DataRow dr; DataRow bevkiaddr; string[] bankidk = FakUserInterface.GetTartal(FakUserInterface.GetBySzintPluszTablanev("C", "FOLYOSZAMLAK"), "FOLYOSZLA_ID"); string[] banknevek = FakUserInterface.GetTartal(FakUserInterface.GetBySzintPluszTablanev("C", "FOLYOSZAMLAK"), "SZOVEG"); ArrayList bankidar = new ArrayList(bankidk); string[] penztaridk = FakUserInterface.GetTartal(FakUserInterface.GetKodtab("C", "Penztarak"), "SORSZAM"); string[] penztarnevek = FakUserInterface.GetTartal(FakUserInterface.GetKodtab("C", "Penztarak"), "SZOVEG"); Tablainfo koltskodinfo = FakUserInterface.GetBySzintPluszTablanev("C", "KOLTSEGKOD"); koltskodinfo.DataView.RowFilter = "DOLGOZO_ID>0"; ArrayList dolgozoskoltsidk = new ArrayList(); ArrayList dolgozoidk = new ArrayList(); for (int i = 0; i < koltskodinfo.DataView.Count; i++) { dolgozoskoltsidk.Add(koltskodinfo.DataView[i].Row[koltskodinfo.IdentityColumnName].ToString()); dolgozoidk.Add(koltskodinfo.DataView[i].Row["DOLGOZO_ID"].ToString()); } koltskodinfo.DataView.RowFilter = ""; ArrayList penztaridar = new ArrayList(penztaridk); decimal[] elozobankinyito = new decimal[bankidk.Length]; decimal[] elozopenztarnyito = new decimal[penztaridk.Length]; if (elozocegid != "") { sel = " where CEGEV_ID = " + elozocegid; for (int i = 0; i < nyitozaroinfo.Adattabla.Rows.Count; i++) { dr = nyitozaroinfo.Adattabla.Rows[i]; decimal zaro = Convert.ToDecimal(dr["ZARO"].ToString()); string id = dr["FOLYOSZAMLA_ID"].ToString(); int j; if (id != "" && id != "0") { j = bankidar.IndexOf(id); elozobankinyito[j] = zaro; } else { id = dr["PENZTAR_ID"].ToString(); if (id != "" && id != "0") { j = penztaridar.IndexOf(id); elozopenztarnyito[j] = zaro; } } } } for (int i = 0; i < bankidk.Length; i++) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; string id = bankidk[i]; dr["FOLYOSZAMLA_ID"] = id; dr["JELOLO"] = 1; dr["NYITO"] = elozobankinyito[i]; dr["SZOVEG"] = banknevek[i]; } for (int i = 0; i < penztaridk.Length; i++) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; string id = penztaridk[i].ToString(); dr["PENZTAR_ID"] = id; dr["JELOLO"] = 2; dr["NYITO"] = elozopenztarnyito[i]; dr["SZOVEG"] = penztarnevek[i]; } if (nyitozaroinfo.Modositott) FakUserInterface.UpdateTransaction(new[] { nyitozaroinfo }); string bevsavfilt = bevszlainfo.DataView.RowFilter; string koltssavfilt = koltsszlainfo.DataView.RowFilter; string bevsavsort = bevszlainfo.DataView.Sort; string koltssavsort = koltsszlainfo.DataView.Sort; string bevtetelfilt = bevszlatetel.DataView.RowFilter; string bevtetelsort = bevszlatetel.DataView.Sort; string koltstetelfilt = koltsszlatetel.DataView.RowFilter; string koltstetelsort = koltsszlatetel.DataView.Sort; string szlafilter = ""; string penzmozgassavsort = ""; string penzmozgasfilter = ""; string penzmozgassort = "TERMFOCSOP_ID_K,TERMALCSOP_ID_K,TERMCSOP_ID_K,TERMEKKOD_ID_K,KOLTSFOCSOP_ID_K,KOLTSALCSOP_ID_K,KOLTSCSOP_ID_K,KOLTSEGKOD_ID_K"; string conn = FakUserInterface.AktualCegconn; bevszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(bevszlainfo.Adattabla, conn, "BEVSZLA", " where FIZETVE = 'I' and YEAR(KIEGYENL_DATUM) =" + aktev, " order by KIEGYENL_DATUM", false); bevszlainfo.Tartalmaktolt(); koltsszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(koltsszlainfo.Adattabla, conn, "KOLTSSZLA", " where FIZETVE = 'I' and YEAR(KIEGYENL_DATUM) =" + aktev, " order by KIEGYENL_DATUM", false); koltsszlainfo.Tartalmaktolt(); sel = " where YEAR(SZLA_DATUM) = " + aktev; string ord = " order by SZLA_DATUM"; for (int i = 0; i < tetelespenzmozgasok.Count; i++) { Tablainfo egyinfo = tetelespenzmozgasok[i]; egyinfo.Adattabla.Rows.Clear(); Sqlinterface.Select(egyinfo.Adattabla, conn, egyinfo.Tablanev, sel, ord, false); egyinfo.Tartalmaktolt(); } for (int k = 0; k < 12; k++) { FakUserInterface.ProgressRefresh(); string aktho = (k + 1).ToString(); if (aktho.Length == 1) aktho = "0" + aktho; string datumtolstring = aktev + "." + aktho + ".01"; string evho = datumtolstring.Substring(0, 7); DateTime datumtol = Convert.ToDateTime(datumtolstring); DateTime datumig = datumtol.AddMonths(1).AddDays(-1); string datumigstring = FakUserInterface.DatumToString(datumig); int hocolind = k; string bevcolnev = bevetelnevek[hocolind]; string kiadcolnev = kiadasnevek[hocolind]; string eredcolnev = eredmnevek[hocolind]; szlafilter = "KIEGYENL_DATUM >='" + datumtolstring + "' AND KIEGYENL_DATUM <='" + datumigstring + "'"; bevszlainfo.DataView.RowFilter = szlafilter; bevszlatetel.DataView.Sort = "TERMFOCSOP_ID_K,TERMALCSOP_ID_K,TERMCSOP_ID_K,TERMEKKOD_ID_K"; decimal eddigibev = 0; decimal eddigikiad = 0; decimal bev = 0; decimal kiad = 0; string egyenlegid; DataRow bdr; string egyenleg_idnev; string[] egyenlegidk = null; string[] egyenleg_idnevek = null; string[] partnerszovegek = null; object[] osszegek = null; string[] gyujtoosszegnevek = null; string[] bevkiadcolnevek = null; string mozgevho = ""; string termekkodid = ""; string termcsopid = ""; string termalcsopid = ""; string termfocsopid = ""; string koltsegkodid = ""; string koltscsopid = ""; string koltsalcsopid = ""; string koltsfocsopid = ""; string dolgozoid = ""; for (int j = 0; j < bevszlainfo.DataView.Count; j++) { bdr = bevszlainfo.DataView[j].Row; egyenlegid = bdr["FOLYOSZAMLA_ID"].ToString(); if (egyenlegid != "0") egyenleg_idnev = "FOLYOSZAMLA_ID"; else { egyenlegid = bdr["PENZTAR_ID"].ToString(); egyenleg_idnev = "PENZTAR_ID"; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnev] = egyenlegid; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); DataRow egyenlegdr; string partnerid = bdr["PARTNER_ID"].ToString(); egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = partnerid; egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["MEGNEVEZES"] = bdr["MEGJEGYZES"]; string id = bdr["BEVSZLA_ID"].ToString(); egyenlegdr[bevcolnev] = Convert.ToDecimal(bdr["OSSZBEVETEL"].ToString()); penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = partnerid; penzmozgasdr["PARTNERSZOVEG"] = bdr["PARTNER_ID_K"]; penzmozgasdr["SZOVEG"] = bdr["MEGJEGYZES"]; penzmozgasdr["BETET"] = bdr["OSSZBEVETEL"]; penzmozgasdr["MOZGASDATUM"] = bdr["KIEGYENL_DATUM"]; mozgevho = bdr["KIEGYENL_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; bevszlatetel.Rows.Clear(); Sqlinterface.Select(bevszlatetel.Adattabla, bevszlatetel.Adattabla.Connection, "BEVSZLA_TETEL", "where BEVSZLA_ID = " + id, "", false); bevszlatetel.DataView.RowFilter = ""; for (int i = 0; i < bevszlatetel.DataView.Count; i++) { dr = bevszlatetel.DataView[i].Row; termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); bev = Convert.ToDecimal(dr["NETTO"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + " AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; } } koltsszlainfo.DataView.RowFilter = szlafilter; koltsszlatetel.DataView.Sort = "KOLTSFOCSOP_ID_K,KOLTSALCSOP_ID_K,KOLTSCSOP_ID_K,KOLTSEGKOD_ID_K"; for (int j = 0; j < koltsszlainfo.DataView.Count; j++) { bdr = koltsszlainfo.DataView[j].Row; egyenlegid = bdr["FOLYOSZAMLA_ID"].ToString(); if (egyenlegid != "0") egyenleg_idnev = "FOLYOSZAMLA_ID"; else { egyenlegid = bdr["PENZTAR_ID"].ToString(); egyenleg_idnev = "PENZTAR_ID"; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnev] = egyenlegid; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); string partnerid = bdr["PARTNER_ID"].ToString(); DataRow egyenlegdr; egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = partnerid; egyenlegdr["MEGNEVEZES"] = bdr["MEGJEGYZES"]; egyenlegdr[kiadcolnev] = Convert.ToDecimal(bdr["OSSZKIADAS"].ToString()); penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = partnerid; penzmozgasdr["PARTNERSZOVEG"] = bdr["PARTNER_ID_K"]; penzmozgasdr["SZOVEG"] = bdr["MEGJEGYZES"]; penzmozgasdr["KIVET"] = bdr["OSSZKIADAS"]; penzmozgasdr["MOZGASDATUM"] = bdr["KIEGYENL_DATUM"]; mozgevho = bdr["KIEGYENL_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; string id = bdr["KOLTSSZLA_ID"].ToString(); koltsszlatetel.Rows.Clear(); Sqlinterface.Select(koltsszlatetel.Adattabla, koltsszlatetel.Adattabla.Connection, "KOLTSSZLA_TETEL", "where KOLTSSZLA_ID = " + id, "", false); koltsszlatetel.DataView.RowFilter = ""; for (int i = 0; i < koltsszlatetel.DataView.Count; i++) { dr = koltsszlatetel.DataView[i].Row; termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["NETTO"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND (KOLTSKOD_ID = 0 OR KOLTSKOD_ID = " + koltsegkodid + ")"; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; } bevkiaddr[kiadcolnev] = eddigikiad; } } eddigibev=0; eddigikiad=0; penzmozgasfilter = "SZLA_DATUM>='" + datumtolstring + "' AND SZLA_DATUM<='" + datumigstring + "' AND (TERMEKKOD_ID <> 0 OR KOLTSEGKOD_ID<>0)"; penzmozgassavsort = bankimozgastetel.DataView.Sort; bankimozgastetel.DataView.RowFilter = penzmozgasfilter; for (int i = 0; i < bankimozgastetel.DataView.Count; i++) { dr = bankimozgastetel.DataView[i].Row; termekkodid=dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev=Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } bankimozgastetel.DataView.RowFilter = ""; bankimozgastetel.DataView.Sort = penzmozgassavsort; penzmozgassavsort=bankimozgas.DataView.Sort; bankimozgas.DataView.RowFilter = penzmozgasfilter + " AND TETELSOROK_SZAMA = 0"; bankimozgas.DataView.Sort = penzmozgassort; for (int i = 0; i < bankimozgas.DataView.Count; i++) { dr = bankimozgas.DataView[i].Row; termekkodid=dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev=Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } bankimozgas.DataView.RowFilter = ""; bankimozgas.DataView.Sort = penzmozgassavsort; penztarmozgas.DataView.RowFilter = penzmozgasfilter; penzmozgassavsort = penztarmozgas.DataView.Sort; penztarmozgas.DataView.Sort = penzmozgassavsort; for (int i = 0; i < penztarmozgas.DataView.Count; i++) { dr = penztarmozgas.DataView[i].Row; termekkodid = dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev = Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } penztarmozgas.DataView.RowFilter = ""; penztarmozgas.DataView.Sort = penzmozgassavsort; string datumfilter = "SZLA_DATUM>='" + datumtolstring + "' AND SZLA_DATUM<='" + datumigstring + "'"; for (int i = 0; i < tetelespenzmozgasok.Count; i++) { Tablainfo egyinfo = tetelespenzmozgasok[i]; egyinfo.DataView.RowFilter = datumfilter; for (int j = 0; j < egyinfo.DataView.Count; j++) { bdr = egyinfo.DataView[j].Row; switch (egyinfo.Tablanev) { case "BANKBOLBANKBA": egyenlegidk = new string[] { bdr["FOLYOSZAMLA_BOL"].ToString(), bdr["FOLYOSZAMLA_BA"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID", "FOLYOSZAMLA_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BA_K"].ToString() + "-ba", bdr["FOLYOSZAMLA_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "BANKBOLPENZTARBA": egyenlegidk = new string[] { bdr["FOLYOSZAMLA_BOL"].ToString(), bdr["PENZTAR_BA"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID", "PENZTAR_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BOL_K"].ToString() + "-ba", bdr["PENZTAR_BA_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "BANKIMOZGAS": bool betet = Convert.ToDecimal(bdr["BETET"].ToString()) != 0; egyenlegidk = new string[] {bdr["FOLYOSZAMLA_ID"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID" }; if (betet) { string termek = bdr["TERMEKKOD_ID_K"].ToString(); if (termek != "" && termek!="0") partnerszovegek = new string[] { "Term.kód = " + termek}; else partnerszovegek = new string[] { bdr["FOLYOSZAMLA_ID_K"].ToString() + "-ba" }; osszegek = new object[] { bdr["BETET"] }; gyujtoosszegnevek = new string[] { "BETET" }; bevkiadcolnevek = new string[] { bevcolnev }; } else { string koltseg = bdr["KOLTSEGKOD_ID_K"].ToString(); if (koltseg != "" && koltseg!="0") partnerszovegek = new string[] { "Költs.kód = " + koltseg }; else partnerszovegek = new string[] { bdr["FOLYOSZAMLA_ID_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET" }; bevkiadcolnevek = new string[] { kiadcolnev }; } break; case "PENZTARBOLPENZTARBA": egyenlegidk = new string[] { bdr["PENZTAR_BOL"].ToString(), bdr["PENZTAR_BA"].ToString() }; egyenleg_idnevek = new string[] { "PENZTAR_ID", "PENZTAR_ID" }; partnerszovegek = new string[] { bdr["PENZTAR_BA_K"].ToString() + "-ba", bdr["PENZTAR_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "PENZTARBOLBANKBA": egyenlegidk = new string[] { bdr["PENZTAR_BOL"].ToString(), bdr["FOLYOSZAMLA_BA"].ToString() }; egyenleg_idnevek = new string[] { "PENZTAR_ID", "FOLYOSZAMLA_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BA_K"].ToString() + "-ba", bdr["PENZTAR_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "PENZTARMOZGAS": betet = Convert.ToDecimal(bdr["BETET"].ToString()) != 0; egyenlegidk = new string[] {bdr["PENZTAR_ID"].ToString()}; egyenleg_idnevek = new string[] { "PENZTAR_ID" }; if (betet) { string termek = bdr["TERMEKKOD_ID_K"].ToString(); if (termek != "" && termek!="0") partnerszovegek = new string[] { "Term.kód = " + termek }; else partnerszovegek = new string[] { bdr["PENZTAR_ID_K"].ToString() + "-ba" }; osszegek = new object[] { bdr["BETET"] }; gyujtoosszegnevek = new string[] { "BETET" }; bevkiadcolnevek = new string[] { bevcolnev }; } else { string koltseg = bdr["KOLTSEGKOD_ID_K"].ToString(); if (koltseg != "" && koltseg!="0") partnerszovegek = new string[] { "Költs.kód = " + koltseg }; else partnerszovegek = new string[] { bdr["PENZTAR_ID_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET" }; bevkiadcolnevek = new string[] { kiadcolnev }; } break; } for (int kk = 0; kk < egyenlegidk.Length; kk++) { nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnevek[kk] + "=" + egyenlegidk[kk]; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnevek[kk]] = egyenlegidk[kk]; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnevek[kk] + "=" + egyenlegidk[kk]; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); DataRow egyenlegdr; egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = "0"; egyenlegdr["MEGNEVEZES"] = bdr["SZOVEG"]; egyenlegdr[bevkiadcolnevek[kk]] = osszegek[kk]; penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = "0"; penzmozgasdr["PARTNERSZOVEG"] = partnerszovegek[kk]; penzmozgasdr["SZOVEG"] = bdr["SZOVEG"]; penzmozgasdr[gyujtoosszegnevek[kk]] = osszegek[kk]; penzmozgasdr["MOZGASDATUM"] = bdr["SZLA_DATUM"]; mozgevho = bdr["SZLA_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; } } } } decimal bevossz = 0; decimal kiadossz = 0; decimal eredmossz = 0; bevkiadinfo.DataView.RowFilter = "BEVKIADEV='" + aktev + "'"; for (int i = 0; i < bevkiadinfo.DataView.Count; i++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = bevkiadinfo.DataView[i].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "'"; ; for (int i = 0; i < nyitozaroinfo.DataView.Count; i++) { decimal zaro = Convert.ToDecimal(nyitozaroinfo.DataView[i]["NYITO"].ToString()); string nyitoid = nyitozaroinfo.DataView[i].Row["NYITOZARO_ID"].ToString(); egyenleginfo.DataView.RowFilter = "NYITOZARO_ID=" + nyitoid; if (egyenleginfo.DataView.Count == 0) { egyenleginfo.DataView.RowFilter = ""; egyenleginfo.ViewSorindex=-1; dr = egyenleginfo.Ujsor(); dr["NYITOZARO_ID"] = nyitoid; dr["CEGEV_ID"] = aktcegid; } else { for (int k = 0; k < egyenleginfo.DataView.Count; k++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = egyenleginfo.DataView[k].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; zaro += eredmossz; } nyitozaroinfo.DataView[i].Row["ZARO"] = zaro; nyitozaroinfo.DataView[i].Row["MODOSITOTT_M"] = 1; nyitozaroinfo.Modositott = true; } } bevszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(bevszlainfo.Adattabla, FakUserInterface.AktualCegconn, "BEVSZLA", " where YEAR(DATUM_TELJ) =" + aktev, " order by DATUM_TELJ", false); koltsszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(koltsszlainfo.Adattabla, FakUserInterface.AktualCegconn, "KOLTSSZLA", " where YEAR(DATUM_TELJ) =" + aktev, " order by DATUM_TELJ", false); decimal eddigiafa = 0; decimal afa = 0; for (int k = 0; k < 12; k++) { FakUserInterface.ProgressRefresh(); string aktho = (k + 1).ToString(); if (aktho.Length == 1) aktho = "0" + aktho; string datumtolstring = aktev + "." + aktho + ".01"; DateTime datumtol = Convert.ToDateTime(datumtolstring); DateTime datumig = datumtol.AddMonths(1).AddDays(-1); string datumigstring = FakUserInterface.DatumToString(datumig); int hocolind = k; string bevcolnev = bevetelnevek[hocolind]; string kiadcolnev = kiadasnevek[hocolind]; string eredcolnev = eredmnevek[hocolind]; szlafilter = "DATUM_TELJ >='" + datumtolstring + "' AND DATUM_TELJ <='" + datumigstring + "'"; bevszlainfo.DataView.RowFilter = szlafilter; for (int j = 0; j < bevszlainfo.DataView.Count; j++) { DataRow bdr = bevszlainfo.DataView[j].Row; string id = bdr["BEVSZLA_ID"].ToString(); bevszlatetel.Rows.Clear(); Sqlinterface.Select(bevszlatetel.Adattabla, bevszlatetel.Adattabla.Connection, "BEVSZLA_TETEL", "where BEVSZLA_ID = " + id, "", false); bevszlatetel.DataView.RowFilter = ""; for (int i = 0; i < bevszlatetel.DataView.Count; i++) { dr = bevszlatetel.DataView[i].Row; afa = Convert.ToDecimal(dr["AFA"].ToString()); afaegyenleginfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMEKKOD_ID = " + dr["TERMEKKOD_ID"].ToString(); bevkiaddr = null; int count = afaegyenleginfo.DataView.Count; if (count != 0) { bevkiaddr = afaegyenleginfo.DataView[0].Row; eddigiafa = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + afa; } afaegyenleginfo.DataView.RowFilter = ""; if (count == 0) { afaegyenleginfo.ViewSorindex = -1; bevkiaddr = afaegyenleginfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = dr["TERMFOCSOP_ID"]; bevkiaddr["TERMALCSOP_ID"] = dr["TERMALCSOP_ID"]; bevkiaddr["TERMCSOP_ID"] = dr["TERMCSOP_ID"]; bevkiaddr["TERMEKKOD_ID"] = dr["TERMEKKOD_ID"]; eddigiafa = afa; } bevkiaddr[bevcolnev] = eddigiafa; } } koltsszlainfo.DataView.RowFilter = szlafilter; for (int j = 0; j < koltsszlainfo.DataView.Count; j++) { DataRow bdr = koltsszlainfo.DataView[j].Row; string id = bdr["KOLTSSZLA_ID"].ToString(); koltsszlatetel.Rows.Clear(); Sqlinterface.Select(koltsszlatetel.Adattabla, koltsszlatetel.Adattabla.Connection, "KOLTSSZLA_TETEL", "where KOLTSSZLA_ID = " + id, "", false); koltsszlatetel.DataView.RowFilter = ""; for (int i = 0; i < koltsszlatetel.DataView.Count; i++) { dr = koltsszlatetel.DataView[i].Row; afa = Convert.ToDecimal(dr["AFA"].ToString()); bevkiaddr = null; afaegyenleginfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMEKKOD_ID = " + dr["TERMEKKOD_ID"].ToString(); int count = afaegyenleginfo.DataView.Count; if (count != 0) { bevkiaddr = afaegyenleginfo.DataView[0].Row; eddigiafa = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + afa; } afaegyenleginfo.DataView.RowFilter = ""; if (count == 0) { afaegyenleginfo.ViewSorindex = -1; bevkiaddr = afaegyenleginfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = dr["TERMFOCSOP_ID"]; bevkiaddr["TERMALCSOP_ID"] = dr["TERMALCSOP_ID"]; bevkiaddr["TERMCSOP_ID"] = dr["TERMCSOP_ID"]; bevkiaddr["TERMEKKOD_ID"] = dr["TERMEKKOD_ID"]; bevkiaddr["KOLTSKOD_ID"] = dr["KOLTSEGKOD_ID"]; eddigiafa = afa; } bevkiaddr[kiadcolnev] = eddigiafa; } } // } afaegyenleginfo.DataView.RowFilter = "BEVKIADEV='" + aktev + "'"; for (int i = 0; i < afaegyenleginfo.DataView.Count; i++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = afaegyenleginfo.DataView[i].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; } bevszlainfo.DataView.RowFilter = bevsavfilt; koltsszlainfo.DataView.RowFilter = koltssavfilt; bevszlainfo.DataView.Sort = bevsavsort; koltsszlainfo.DataView.Sort = koltssavsort; bevszlatetel.DataView.RowFilter = bevtetelfilt; bevszlatetel.DataView.Sort = bevtetelsort; koltsszlatetel.DataView.RowFilter = koltstetelfilt; koltsszlatetel.DataView.Sort = koltstetelsort; bankbolbankba.DataView.RowFilter = ""; bankbolpenztarba.DataView.RowFilter = ""; bankimozgas.DataView.RowFilter = ""; penztarbolbankba.DataView.RowFilter = ""; penztarbolpenztarba.DataView.RowFilter = ""; penztarmozgas.DataView.RowFilter = ""; for (int i = 0; i < gyujtotablainfok.Count; i++) gyujtotablainfok[i].DataView.RowFilter = ""; for (int i = 0; i < UserParamTabla.Cegevinfo.DataView.Count; i++) { dr = UserParamTabla.Cegevinfo.DataView[i].Row; dr["KELLZARAS"] = "N"; dr["MODOSITOTT_M"] = 1; UserParamTabla.Cegevinfo.Modositott = true; } FakUserInterface.Rogzit(new Tablainfo[] { UserParamTabla.Cegevinfo, afaegyenleginfo, bevkiadinfo, egyenleginfo, nyitozaroinfo, penzmozgasok }); UserParamTabla.SetKozosAllapotok(); } FakUserInterface.CloseProgress(); UserParamTabla.KellZaras = false; UserParamTabla.Infotolt(); } }
public TablainfoCollection GetBySzintPluszVerzioid(string szint, int aktverzioid) { csakbase = true; TablainfoCollection coll = new TablainfoCollection(); for (int i = 0; i < azontipek.Count; i++) { Tablainfo info = this[i]; if (info.KellVerzio && info.LastVersionId == aktverzioid && info.Szint == szint) coll.Add(info); } return coll; }
/// <summary> /// objectum letrehozasa /// </summary> /// <param name="hivo"> /// hivo /// </param> /// <param name="osszesview"> /// viewk listaja /// </param> public ListaInfok(Altlistazoalap hivo, ArrayList osszesview) { Hivo = hivo; Tabinfo = Hivo.Tabinfo; Listae = hivo.listae; FakUserInterface = hivo.FakUserInterface; TablainfoRow = Tabinfo.DataView[0].Row; int ig; if (Listae) ig = 2; else ig = 4; for (int l = 0; l < ig; l++) { view = (DataView)osszesview[0]; // parameterview table = view.Table; sort = view.Sort; view.Sort = "AZONTIP,MEZONEV"; if (l == 0) { azontip = ""; for (int i = 0; i < table.Columns.Count; i++) { string colnev = table.Columns[i].ColumnName; if (colnev.Contains("SORSZAM")) view.Sort = colnev + ",AZONTIP,MEZONEV"; else view.Sort = "AZONTIP,MEZONEV"; azontip = ""; for (int j = 0; j < view.Count; j++) { dr = view[j].Row; egyazontip = dr["AZONTIP"].ToString(); if (egyazontip != azontip) tabinfo = FakUserInterface.GetByAzontip(egyazontip); MezoinfoOsszeallit(dr); if (vanfeltben || vansorfeltben || vanoszlfeltben || sorrendsorszam != "0" || kellosszegzes || osszegzendo || atlagolando || csakosszegsorba || oszlopsorszam != "0" || matrixsorszam != "0") { if (Tablainfok.IndexOf(tabinfo) == -1) { Tablainfok.Add(tabinfo); Clear(tabinfo); } Mezoinfo mezoinfo = new Mezoinfo(tabinfo, mezonev, sorrendsorszam, kellosszegzes, osszegzendo, atlagolando, csakosszegsorba, oszlopsorszam, matrixsorszam); switch (colnev) { case "OSZLOPSORSZAM": if (oszlopsorszam != "0") Oszlopinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case "SORRENDSORSZAM": if (sorrendsorszam != "0") { Sorrendinfok.Mezoinfok.Add(tabinfo, mezoinfo); string ssort = tabinfo.Sort; if (ssort != "") ssort += ","; ssort += mezoinfo.ColumnInfo.ColumnName; tabinfo.Sort = ssort; } break; case "MATRIXSORSZAM": if (matrixsorszam != "0") { Matrixpontinfok.Mezoinfok.Add(tabinfo, mezoinfo); } break; } } azontip = egyazontip; } } } else { azontip = ""; string filt = view.RowFilter; view.RowFilter = "VANFELTBEN = 'Igen'"; if (l != 1) view.RowFilter += " OR VANSORFELTBEN = 'Igen' OR VANOSZLFELTBEN = 'Igen '"; for (int i = 0; i < view.Count; i++) { dr = view[i].Row; egyazontip = dr["AZONTIP"].ToString(); if (egyazontip != azontip) tabinfo = FakUserInterface.GetByAzontip(egyazontip); azontip = egyazontip; MezoinfoOsszeallit(dr); Tablainfok.Add(tabinfo); Mezoinfo mezoinfo = new Mezoinfo(tabinfo, mezonev, sorrendsorszam, kellosszegzes, osszegzendo, atlagolando, csakosszegsorba, oszlopsorszam, matrixsorszam); switch (l) { case 1: if(dr["VANFELTBEN"].ToString()=="Igen") Feltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case 2: if(dr["VANSORFELTBEN"].ToString()=="Igen") Sorfeltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case 3: if(dr["VANOSZLFELTBEN"].ToString()=="Igen") Oszlopfeltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; } } view.RowFilter = filt; DataView feltview = (DataView)osszesview[l]; switch (l) { case 1: FeltColl = Feltetelinfok.FeltetelinfoCollection; break; case 2: FeltColl = Sorfeltetelinfok.FeltetelinfoCollection; break; case 3: FeltColl = Oszlopfeltetelinfok.FeltetelinfoCollection; break; } for (int i = 0; i < feltview.Count; i++) FeltColl.Add(new Feltetelinfo(this, FakUserInterface, feltview, i)); } view.Sort = sort; } if (Matrixpontinfok.Mezoinfok.Count == 0) { Oszlopinfok.OszlopokOsszeAllit(); Oszlopinfok.Osszegzesek(Sorrendinfok); } else { Oszlopfeltetelinfok.OszlopokOsszeAllit(); Matrixpontinfok.OszlopokOsszeAllit(); } Parameterhiba = false; Tablainfo gyoker = null; if (Tablainfok.Count == 0) { Parameterhiba = true; MessageBox.Show("Nincs még paraméterezés!"); return; } for (int ii = 0; ii < Tablainfok.Count; ii++) { if (gyoker == null) { gyoker = Tablainfok[ii].FirstTermParentTabinfo; if (gyoker == null) gyoker = Tablainfok[ii]; } else { Tablainfo ujgyoker = Tablainfok[ii].FirstTermParentTabinfo; if(ujgyoker==null) ujgyoker=Tablainfok[ii]; if (gyoker != ujgyoker) { string hibaszov = ""; for (int j = 0; j < Tablainfok.Count; j++) { if (gyoker != Tablainfok[j]) { if (gyoker.TermChildTabinfo.IndexOf(Tablainfok[j]) == -1) { if (hibaszov != "") hibaszov += ",\n"; hibaszov += Tablainfok[j].TablaTag.Azonositok.Szoveg; } } } hibaszov += "\n Nem elérhetö " + gyoker.TablaTag.Azonositok.Szoveg + "-ból\nParaméterezze újra!"; MessageBox.Show(hibaszov); Parameterhiba = true; return; } } } TablainfoCollection teljeschain = new TablainfoCollection(); TablainfoCollection chain; int maxchain = 1; foreach (Tablainfo egyinfo1 in gyoker.TermChildTabinfo) { int ii = egyinfo1.TermChildTabinfo.Count; if (ii > maxchain) maxchain = ii; } for(int i=0;i<gyoker.TermChildTabinfo.Count;i++) teljeschain.Add(gyoker.TermChildTabinfo[i]); int chaincount = teljeschain.Count; for (int i = 0; i < gyoker.TermChildTabinfo.Count; i++) { chain = gyoker.TermChildTabinfo[i].TermChildTabinfo; for (int j = 0; j < chain.Count; j++) teljeschain.Add(chain[j]); } int teljescount = teljeschain.Count; if (chaincount < teljeschain.Count) { chain = teljeschain; do { int ij = 0; do { for (int i = 0; i < chain.Count; i++) { TablainfoCollection egychain = chain[i].TermChildTabinfo; for (int j = 0; j < egychain.Count; j++) teljeschain.Add(egychain[j]); chaincount = teljeschain.Count; } ij++; if (chain.Count > ij) chain = chain[ij].TermChildTabinfo; else if(chaincount!=teljeschain.Count) { ij = 0; chain = teljeschain[chaincount - 1].TermChildTabinfo; } else break; } while (true); } while (chaincount != teljeschain.Count); } TablainfoCollection newtabinfok = new TablainfoCollection(); string elsotabinfoid = ""; ArrayList tabsorrend = new ArrayList(); int maxindex=-1; object[] egyobj; ArrayList indexar = new ArrayList(); for (int i = 0; i < Tablainfok.Count; i++) { egyobj = new object[2]; egyobj[1] = Tablainfok[i]; int j = -1; if (gyoker != Tablainfok[i]) { j = teljeschain.IndexOf(Tablainfok[i]); } egyobj[0] = j; indexar.Add(j); if (maxindex < j) maxindex = j; tabsorrend.Add(egyobj); } int egyindex = -1; do { for (int i = 0; i < tabsorrend.Count; i++) { egyobj = (object[])tabsorrend[i]; if (egyobj[0].ToString() == egyindex.ToString()) { newtabinfok.Add((Tablainfo)egyobj[1]); tabsorrend.RemoveAt(i); } } egyindex++; } while (tabsorrend.Count > 0); if (newtabinfok[0].TermParentTabinfo != null) elsotabinfoid = newtabinfok[0].TermParentTabinfo.IdentityColumnName; else elsotabinfoid = newtabinfok[0].IdentityColumnName; ElsoTabinfo = newtabinfok[0]; if (ElsoTabinfo.TermParentTabinfo != null) elsotabinfoid = ElsoTabinfo.TermParentTabinfo.IdentityColumnName; else elsotabinfoid = ElsoTabinfo.IdentityColumnName; Tablainfok = newtabinfok; for (int i = 0; i < Tablainfok.Count; i++) Tablainfok[i].ElsoTabinfo = ElsoTabinfo; Feltetelinfok.Rendezes(this); if (!Listae) { Oszlopfeltetelinfok.Rendezes(this); Sorfeltetelinfok.Rendezes(this); Matrixpontinfok.Osszegzesek(this); } TablainfoCollection parentchain = ElsoTabinfo.TermParentTabinfoChain; TablainfoCollection childchain = ElsoTabinfo.TermChildTabinfo; OsszesBeallitandoId = ElsoTabinfo.BeallitandoIdkArray("", ElsoTabinfo,Tablainfok, OsszesBeallitandoId, OsszesBeallitottIdErtek); foreach (Tablainfo info in Tablainfok) { if (info.TablaColumns.IndexOf("DATUMTOL") != -1) info.DatumString = Hivo.Datumtoligfeltetel; else if (info.TablaColumns.IndexOf("KEZDETE") != -1) info.DatumString = Hivo.Kezdetefeltetel; if (info != ElsoTabinfo) { info.BeallitandoIdkArray(elsotabinfoid, ElsoTabinfo,Tablainfok, OsszesBeallitandoId, OsszesBeallitottIdErtek); } } if (Feltetelinfok.Mezoinfok.Count != 0) Feltetelinfok.SortOsszeallit(); if (Oszlopfeltetelinfok.Mezoinfok.Count != 0) Oszlopfeltetelinfok.SortOsszeallit(); if (Sorfeltetelinfok.Mezoinfok.Count != 0) Sorfeltetelinfok.SortOsszeallit(); }
/// <summary> /// Altalanos listazashoz /// </summary> public ArrayList SzuksegesIdkArray(Tablainfo elsotablainfo, string elsotablaid, TablainfoCollection tabinfok, ArrayList osszesbeallitottid) { if (this.TablaColumns.IndexOf(elsotablaid) != -1) { SzuksegesIdk.Add(elsotablaid); SzuksegesIndexek.Add(osszesbeallitottid.IndexOf(elsotablaid)); } foreach(Tablainfo chaininfo in _termparentchain) { string id = chaininfo.IdentityColumnName; if(id!=elsotablaid) { int j = osszesbeallitottid.IndexOf(id); if (j != -1) { SzuksegesIndexek.Add(j); SzuksegesIdk.Add(id); } } } for (int i = 0; i < SzuksegesIdk.Count; i++) ElozoBeallitottIdertekek.Add("-1"); return SzuksegesIdk; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <returns></returns> public TablainfoCollection GetCegPluszCegalattiTermTablaInfok() { csakbase = true; Tablainfo egyinfo; ArrayList ar = new ArrayList(); for (int i = 0; i < termszarmok.Count; i++) { if (termszarmok[i].ToString().Trim() == "T" && tablanevek[i].ToString() != "TARTAL") { egyinfo = this[i]; if (("C" + egyinfo.Fak.Szintstring).Contains(szintek[i].ToString()) && egyinfo.TermParentTabinfo == null) ar = AddChildren(ar,egyinfo); } } TablainfoCollection tc = new TablainfoCollection(); for (int i = 0; i < ar.Count; i++) { if (tc.IndexOf((Tablainfo)ar[i]) == -1) tc.Add(ar[i]); } csakbase = false; return tc; }
/// <summary> /// szerkesztett listak/statisztikak-hoz /// </summary> /// <param name="elsotabinfoid"></param> /// <param name="elsotablainfo"></param> /// <param name="tabinfok"></param> /// <param name="osszesbeallitottid"></param> /// <param name="osszesbeallitottertek"></param> /// <returns></returns> public ArrayList BeallitandoIdkArray(string elsotabinfoid, Tablainfo elsotablainfo,TablainfoCollection tabinfok, ArrayList osszesbeallitottid, ArrayList osszesbeallitottertek) { string id; if (elsotablainfo == this) { BeallitandoIdk.Add(_identity); if (_firsttermparent == null) id = _identity; else id = _firsttermparent.IdentityColumnName; BeallitandoIdk.Add(id); elsotabinfoid = id; foreach(string beallid in BeallitandoIdk) { int i = osszesbeallitottid.IndexOf(beallid); if (i == -1) { i = osszesbeallitottid.Add(beallid); osszesbeallitottertek.Add(-1); } BeallitottIndexek.Add(i); } } else SzuksegesIdkArray(elsotablainfo, elsotabinfoid, tabinfok, osszesbeallitottid); foreach(Tablainfo chaininfo in _termparentchain) { id = chaininfo.IdentityColumnName; if (id != elsotabinfoid ) { int j = osszesbeallitottid.IndexOf(id); if (j == -1) { BeallitandoIdk.Add(id); j = osszesbeallitottid.Add(id); osszesbeallitottertek.Add(-1); BeallitottIndexek.Add(j); } } } if (elsotablainfo != this) { id = _identity; BeallitandoIdk.Add(id); int k = osszesbeallitottid.IndexOf(id); if (k != -1) BeallitottIndexek.Add(k); else { k= osszesbeallitottid.Add(id); BeallitottIndexek.Add(k); osszesbeallitottertek.Add(-1); } } OsszesBeallitandoId = osszesbeallitottid; OsszesBeallitottIdErtek = osszesbeallitottertek; return osszesbeallitottid; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <param name="tablanev"></param> /// <returns></returns> public TablainfoCollection GetByTablanev(string tablanev) { csakbase = true; TablainfoCollection ar = new TablainfoCollection(); for (int i = 0; i < this.Count; i++) { if (tablanev == tablanevek[i].ToString()) ar.Add(this[i]); } csakbase = false; return ar; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <param name="szint"></param> /// <returns></returns> public TablainfoCollection GetBySzint(string szint) { csakbase = true; TablainfoCollection ar = new TablainfoCollection(); for (int i = 0; i < this.Count; i++) { if (szint.Contains(szintek[i].ToString())) ar.Add(this[i]); } csakbase = false; return ar; }
private bool TobbiOszlopTabinfoSelect(int aktoszlind) { ArrayList ar = (ArrayList)Listainfok.Oszlopfeltetelinfok.FeltetelinfoCollection.Reszelemek[aktoszlind]; Feltetelinfo[] feltinfok = (Feltetelinfo[])ar.ToArray(typeof(Feltetelinfo)); TablainfoCollection tc = new TablainfoCollection(); for (int i = 0; i < feltinfok.Length; i++) tc.Add(feltinfok[i].Tabinfo); for (int k = 0; k < tc.Count; k++) { Tablainfo tabinfo = tc[k]; int j = tabinfok.IndexOf(tabinfo); string savfilt = SaveFilterek[j]; if (tabinfo == elsotabinfo) savfilt = tabinfo.DataView.RowFilter; tabinfo.DataView.RowFilter = ""; if (savfilt != "") { if (savfilt.Contains("OR") && !savfilt.EndsWith(")")) savfilt = "(" + savfilt + ")"; savfilt += " AND "; } string filt = tabinfo.GetOszlopRowFilter(aktoszlind); if (filt != "") { if (filt.Contains("OR")) filt = "(" + filt + ")"; tabinfo.DataView.RowFilter = savfilt + filt; } uresek[j] = tabinfo.DataView.Count == 0; if (uresek[j]) tabinfo.ViewSorindex = -1; else tabinfo.ViewSorindex = 0; tabinfo.IdErtekBeallitasok(tabinfo.AktualViewRow, OsszesBeallitottIdErtek); } ures = false; for (int j = 0; j < tabinfok.Count; j++) { if (uresek[j]) { ures = true; break; } } return ures; }
private void Listazas() { //if (VanDatum) //{ FakUserInterface.SetUserSzamitasokKellSzamitasDatum(true); FakUserInterface.SetUserSzamitasokDatumHatarok(Convert.ToDateTime(Datum1), Convert.ToDateTime(Datum2)); //} //else //{ // Datum1 = FakUserInterface.DatumToString(DateTime.Today); // Datum2 = Datum1; //} prop = report.PrintOptions; bool portop = true; if (listae && Listainfok.Oszlopinfok.Mezoinfok.Count > 7 || !listae && 1 + Listainfok.Matrixpontinfok.Mezoinfok.Count * (Listainfok.Matrixpontinfok.OszlopokSzama + 1) > 6) portop = false; if (portop) prop.PaperOrientation = PaperOrientation.Portrait; else prop.PaperOrientation = PaperOrientation.Landscape; foreach (DataTable dt in dataset.Tables) dt.Rows.Clear(); dr = null; for (int i = 1; i < ig; i++) { DataView view = (DataView)osszesview[i]; DataTable table = view.Table; if (view.Count != 0) { egysor = ""; bool first = true; int count = 1; for (int j = 0; j < view.Count; j++) { if (j != 0) egysor += newline[0].ToString(); DataRow row = view[j].Row; for (int k = 2; k < table.Columns.Count; k++) { if (i != 1) { if (first) { egysor += count.ToString(); count++; first = false; } } if (row[k].ToString() != "") { if (egysor != "") egysor += " "; egysor += row[k].ToString(); } if (i != -1 && table.Columns[k].ColumnName == "ESVAGY" && row[k].ToString() == "") first = true; } } switch (i) { case 1: parfeltetel = egysor; break; case 2: parsormeghatarozas = egysor; break; case 3: paroszlopmeghatarozas = egysor; break; } } } elsotabinfo = Listainfok.ElsoTabinfo; DataTable dt1 = dataset.DataTable2; dr = dt1.NewRow(); fotabla = elsotabinfo.DataView; OsszesBeallitandoId = Listainfok.OsszesBeallitandoId; OsszesBeallitottIdErtek = Listainfok.OsszesBeallitottIdErtek; tabinfok = Listainfok.Tablainfok; int tablainfoindex = Listainfok.Tablainfok.IndexOf(elsotabinfo); string tablanev = elsotabinfo.TablaTag.Azonositok.Szoveg; elsotabinfo.Adattabla.Rows.Clear(); string selstring = elsotabinfo.GetTablainfoSelect(OsszesBeallitottIdErtek); string orderstring = elsotabinfo.Sort; ValtozasBeallit(); elsotabinfo.DataView.Sort = orderstring; FakUserInterface.Select(fotabla.Table, FakUserInterface.AktualCegconn, fotabla.Table.TableName, selstring, "", false); elsotabinfo.Tartalmaktolt(); if (!listae) { SorokSzama = Listainfok.Matrixpontinfok.SorokSzama; OszlopokSzama = Listainfok.Matrixpontinfok.OszlopokSzama; } SaveFilterek = new string[tabinfok.Count]; SaveViewIndexek = new int[tabinfok.Count]; sorokszama = new int[tabinfok.Count]; int focount = fotabla.Table.Rows.Count; bool folytassuk = focount != 0; int rekszam = focount; int feldrekszam = 0; int fofilcount = elsotabinfo.RowFilterek.Count; int olvasdb = 0; int tabinfocount = tabinfok.Count - 1; if (tabinfocount == 0) tabinfocount++; if (fofilcount > 0) { string savfilt = ""; elsotabinfo.RowFilterIndex = -1; int kulsociklusdb = 0; do { //Datumbeallitasok(); //if (elsotabinfo.SpecDatumNevekArray.Count != 0) // elsotabinfo.DatumString= for (int i = 0; i < fofilcount; i++) { elsotabinfo.SetRowFilter(); if (savfilt != elsotabinfo.DataView.RowFilter) { olvasdb += elsotabinfo.DataView.Count * tabinfocount; feldrekszam += elsotabinfo.DataView.Count; savfilt = elsotabinfo.DataView.RowFilter; } } elsotabinfo.RowFilterIndex = -1; kulsociklusdb++; } while (kulsociklusdb < elsotabinfo.SpecDatumNevekArray.Count); olvasdb += 1; } else { feldrekszam = rekszam; olvasdb = focount * tabinfocount; } if (!folytassuk) MessageBox.Show(tablanev + " beolvasott rekordszáma: 0\nA feltételek megfogalmazásában esetleg ellentmondás van!"); else if (this.Name == "Altlistazoalap") { string figy = ""; if (rekszam < feldrekszam) figy = "\nA feltételek megfogalmazásában redundacia van!"; olvasdb = olvasdb * Datumtomb.Count; feldrekszam = feldrekszam * Datumtomb.Count; folytassuk = MessageBox.Show(tablanev + " beolvasott rekordszáma:" + rekszam.ToString() + "\nFeldolgozott rekordok:" + feldrekszam.ToString() + figy + "\nVárható lemezműveletek száma:" + olvasdb.ToString() + "\nFolytassuk?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == MessageBox.DialogResult.Igen; } if (folytassuk) { dataset.DataTable3.Rows.Clear(); sorrendtabinfo = null; if (Listainfok.Sorrendinfok.Mezoinfok.Count != 0) sorrendtabinfo = (Tablainfo[])Listainfok.Sorrendinfok.Mezoinfok.Tablainfok.ToArray(typeof(Tablainfo)); if (Listainfok.Oszlopinfok.Mezoinfok.Count != 0) oszloptabinfok = (Tablainfo[])Listainfok.Oszlopinfok.Mezoinfok.Tablainfok.ToArray(typeof(Tablainfo)); if (Listainfok.Matrixpontinfok.Mezoinfok.Count != 0) matrixponttabinfok = (Tablainfo[])Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok.ToArray(typeof(Tablainfo)); egysor = ""; uresek = new bool[tabinfok.Count]; ures = false; for (int j = 0; j < tabinfok.Count; j++) uresek[j] = false; firsttime = true; dt = dataset.DataTable2; elsotabinfo.DataView.RowFilter = ""; elsotabinfo.SetRowFilter(); string savfilt = elsotabinfo.DataView.RowFilter; SaveFilterek[tabinfok.IndexOf(elsotabinfo)] = savfilt; int datumtombcount = 0; do { if (Datumtomb.Count != 0) { string[] datumok = (string[])Datumtomb[datumtombcount]; string elem1 = datumok[0]; string elem2 = datumok[1]; DateTime[] datetimeok = new DateTime[] { Convert.ToDateTime(datumok[0]), Convert.ToDateTime(datumok[1]) }; DateTime ujdatum; if (mindatum.CompareTo(elem1) > 0) ujdatum = Convert.ToDateTime(mindatum); else ujdatum = Convert.ToDateTime(elem1); FakUserInterface.Cegadatok(ujdatum); Datumtoligfeltetel = "(DATUMTOL IS NULL AND (DATUMIG IS NULL OR DATUMIG >= '" + elem1 + "') OR DATUMTOL IS NOT NULL AND DATUMTOL <= '" + elem2 + "' AND (DATUMIG IS NULL OR DATUMIG >= '" + elem1 + "')) "; Kezdetefeltetel = "(KEZDETE IS NULL OR KEZDETE <= '" + elem2 + "') AND (VEGE IS NULL OR VEGE >= '" + elem1 + "') "; foreach (Tablainfo egyinfo in tabinfok) { string datumstring = ""; if (egyinfo.TablaColumns.IndexOf("DATUMTOL") != -1) egyinfo.DatumString = Datumtoligfeltetel; else if (egyinfo.TablaColumns.IndexOf("KEZDETE") != -1) egyinfo.DatumString = Kezdetefeltetel; else if (egyinfo.SpecDatumNevekArray.Count != 0) { for (int i = 0; i < egyinfo.SpecDatumNevek.Length; i++) { if (egyinfo.SpecDatumNevSzerepel[i] || egyinfo == elsotabinfo) { if (datumstring == "") datumstring += "("; else datumstring += " OR "; string nev = egyinfo.SpecDatumNevek[i]; datumstring += nev + " <= '" + elem2 + "' AND " + nev + " >= '" + elem1 + "'"; } } if (datumstring != "") datumstring += ")"; egyinfo.DatumString = datumstring; } if (egyinfo == elsotabinfo) { selstring = elsotabinfo.GetTablainfoSelect(OsszesBeallitottIdErtek); FakUserInterface.Select(fotabla.Table, FakUserInterface.AktualCegconn, fotabla.Table.TableName, selstring, "", false); elsotabinfo.Tartalmaktolt(); } //if (egyinfo != ElsoTabinfo) //{ // egyinfo.BeallitandoIdkArray(elsotabinfoid, ElsoTabinfo, Tablainfok, OsszesBeallitandoId, OsszesBeallitottIdErtek); //} } } do { elsotabinfo.RowFilterIndex = -1; elsotabinfo.DataView.RowFilter = ""; elsotabinfo.SetRowFilter(); savfilt = elsotabinfo.DataView.RowFilter; SaveFilterek[tabinfok.IndexOf(elsotabinfo)] = savfilt; for (int i = 0; i < fotabla.Count; i++) { elsotabinfo.ViewSorindex = i; SaveViewIndexek[0] = elsotabinfo.ViewSorindex; dr = fotabla[i].Row; elsotabinfo.Tartalmaktolt(i); elsotabinfo.IdErtekBeallitasok(dr, OsszesBeallitottIdErtek); ures = TobbiTabinfoSelect(); if (!ures) { if (firsttime) ReportHeaderOsszeallit(); do { sorrendvaltozasszint = SorrendValtozasok(); kellcsakosszegsorba = false; if (sorrendvaltozasszint != -1) { int tol = Listainfok.Sorrendinfok.Mezoinfok.Count - 1; if (listae) count = Listainfok.Oszlopinfok.Mezoinfok.Count - 1; else count = (Listainfok.Matrixpontinfok.OszlopokSzama + 1) * Listainfok.Matrixpontinfok.Mezoinfok.Count; if (listae && (Listainfok.Oszlopinfok.Osszegzendok.Count != 0 || Listainfok.Oszlopinfok.Atlagolandok.Count!=0) || !listae) { do { dr = dt.NewRow(); s = Listainfok.Sorrendinfok.Mezoinfok[tol].ElozoSorrendTartalom; if (s != "") { if (listae || tol != Listainfok.Sorrendinfok.Mezoinfok.Count - 1) s += " összesen:"; dr[0] = s; dt.Rows.Add(dr); if (listae) Listainfok.Oszlopinfok.OsszegsorOsszeallit(tol, dt); else Listainfok.Matrixpontinfok.OsszegsorOsszeallit(tol, dt); if (!listae) { dr = dt.NewRow(); for (int j = 0; j <= count; j++) dr[j] = "__________"; dt.Rows.Add(dr); } } tol = tol - 1; } while (sorrendvaltozasszint <= tol); } if (listae) { dr = dt.NewRow(); for (int j = 0; j <= count; j++) dr[j] = "__________"; dt.Rows.Add(dr); } } foreach (Mezoinfo info in Listainfok.Sorrendinfok.Mezoinfok) { string tart = info.ColumnInfo.Tablainfo.GetSorrendtartalom(info); if (tart != "") { kellcsakosszegsorba = true; if (listae) { dr = dt.NewRow(); dr[0] = tart; dt.Rows.Add(dr); } } } if (listae) { foreach (Tablainfo egytabinfo in oszloptabinfok) { if (egytabinfo.ViewSorindex != -1) egytabinfo.Tartalmaktolt(egytabinfo.ViewSorindex); } if (egysor != "") egysor += newline[0]; dr = dt.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { if (j < Listainfok.Oszlopinfok.Mezoinfok.Count) { Mezoinfo info = Listainfok.Oszlopinfok.Mezoinfok[j]; string tart = ""; if (!info.CsakOsszegsorba || kellcsakosszegsorba) tart = info.ColumnInfo.Tablainfo.GetOszlopTartalom(info); if (!info.CsakOsszegsorba) { split = tart.Split(vesszo); if (split.Length == 2) { if (split[1].Length > 2) { split[1] = split[1].Substring(0, 2); tart = split[0] + "," + split[1]; } } dr[j] = tart; } else dr[j] = ""; if (info.Osszegzendo || info.Atlagolando) Listainfok.Oszlopinfok.Osszegfeladasok(info); } else dr[j] = ""; } dt.Rows.Add(dr); ures = TobbiTabinfoKovsor(); } else { for (int j = 0; j < tabinfok.Count; j++) { tabinfok[j].ViewSorindex = SaveViewIndexek[j]; tabinfok[j].IdErtekBeallitasok(tabinfok[j].AktualViewRow, OsszesBeallitottIdErtek); } for (int j = 0; j < SorokSzama; j++) { // elsotabinfo.DataView.RowFilter = ""; elsotabinfo.ViewSorindex = i; ures = ElsoTabinfoSorVizsg(j); if (!ures) { ures = TobbiSorTabinfoSelect(j); bool elso = true; if (!ures) { do { if (!elso) { Tablainfo tabinfo; for (int l = 0; l < Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok.Count; l++) { tabinfo = Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok[l]; int id = tabinfok.IndexOf(tabinfo); tabinfo.ViewSorindex = SaveViewIndexek[id] + 1; tabinfo.Tartalmaktolt(tabinfo.ViewSorindex); tabinfo.IdErtekBeallitasok(tabinfo.AktualViewRow, OsszesBeallitottIdErtek); SaveViewIndexek[id] = tabinfo.ViewSorindex; } ures = true; for (int l = 0; l < Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok.Count; l++) { tabinfo = Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok[l]; if (tabinfo.ViewSorindex != -1) ures = false; } } else { for (int l = 0; l < Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok.Count; l++) { Tablainfo tabinfo = Listainfok.Matrixpontinfok.Mezoinfok.Tablainfok[l]; int id = tabinfok.IndexOf(tabinfo); SaveViewIndexek[id] = tabinfo.ViewSorindex; } elso = false; } if (!ures) { for (int k = 0; k < OszlopokSzama; k++) { // elsotabinfo.DataView.RowFilter = ""; if (i > elsotabinfo.DataView.Count - 1) elsotabinfo.ViewSorindex = elsotabinfo.DataView.Count - 1; else elsotabinfo.ViewSorindex = i; ures = ElsoTabinfoOszlopVizsg(k); if (!ures) { ures = TobbiOszlopTabinfoSelect(k); if (!ures) { Listainfok.Matrixpontinfok.Osszegfeladasok(j, k); Listainfok.Matrixpontinfok.Osszegfeladasok(j, OszlopokSzama); Listainfok.Matrixpontinfok.Osszegfeladasok(SorokSzama, k); Listainfok.Matrixpontinfok.Osszegfeladasok(SorokSzama, OszlopokSzama); } } } for (int k = 0; k < tabinfok.Count; k++) tabinfok[k].ViewSorindex = SaveViewIndexek[k]; } } while (!ures); } } for (int k = 0; k < tabinfok.Count; k++) { tabinfok[k].ViewSorindex = SaveViewIndexek[k]; tabinfok[k].DataView.RowFilter = SaveFilterek[k]; } } for (int k = 0; k < tabinfok.Count; k++) { tabinfok[k].ViewSorindex = SaveViewIndexek[k]; tabinfok[k].DataView.RowFilter = SaveFilterek[k]; } ures = true; } } while (!ures); } } } while (elsotabinfo.SetRowFilter()); datumtombcount++ ; } while (datumtombcount < Datumtomb.Count); if (listae) count = Listainfok.Oszlopinfok.Mezoinfok.Count - 1; else count = (Listainfok.Matrixpontinfok.OszlopokSzama + 1) * Listainfok.Matrixpontinfok.Mezoinfok.Count; if (sorrendtabinfo != null) { int tol = Listainfok.Sorrendinfok.Mezoinfok.Count - 1; if (listae && (Listainfok.Oszlopinfok.Osszegzendok.Count != 0 || Listainfok.Oszlopinfok.Atlagolandok.Count!=0 )|| !listae) { do { dr = dt.NewRow(); string s; if (listae) s = Listainfok.Sorrendinfok.Mezoinfok[tol].ElozoSorrendTartalom; else s = Listainfok.Matrixpontinfok.Sorrendszovegek[tol]; if (listae || tol != Listainfok.Sorrendinfok.Mezoinfok.Count - 1) s += " összesen:"; dr[0] = s; dt.Rows.Add(dr); if (listae) Listainfok.Oszlopinfok.OsszegsorOsszeallit(tol, dt); else Listainfok.Matrixpontinfok.OsszegsorOsszeallit(tol, dt); tol = tol - 1; if (!listae) { dr = dt.NewRow(); for (int j = 0; j <= count; j++) dr[j] = "__________"; dt.Rows.Add(dr); } } while (tol >= 0); } if (Listainfok.Oszlopinfok.Osszegzendok.Count != 0 || Listainfok.Oszlopinfok.Atlagolandok.Count!=0) { dr = dt.NewRow(); for (int j = 0; j <= count; j++) dr[j] = "__________"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "Végösszesen:"; dt.Rows.Add(dr); Listainfok.Oszlopinfok.OsszegsorOsszeallit(Listainfok.Sorrendinfok.Mezoinfok.Count, dt); } } if (!listae) { if (sorrendtabinfo != null) { dr = dt.NewRow(); dr[0] = "Végösszesen:"; dt.Rows.Add(dr); } Listainfok.Matrixpontinfok.OsszegsorOsszeallit(Listainfok.Matrixpontinfok.SorrendmezokSzama, dt); } // datumtombcount++ ; //} while (datumtombcount < Datumtomb.Count); report.SetDataSource(dataset); string szov = ""; report.SetParameterValue("cegnev", FakUserInterface.AktualCegnev); report.SetParameterValue("megnevezes", Tabinfo.Szoveg); report.SetParameterValue("feltetel", parfeltetel); if (parfeltetel != "") szov = "Feltétel:"; else szov = ""; report.SetParameterValue("feltszov", szov); if (paroszlopmeghatarozas != "") szov = "Oszlopmeghatározások:"; else szov = ""; report.SetParameterValue("oszlopmeghszov", szov); report.SetParameterValue("oszlopmeghatarozas", paroszlopmeghatarozas); if (parsormeghatarozas != "") szov = "Sormeghatározások:"; else szov = ""; report.SetParameterValue("sormeghszov", szov); report.SetParameterValue("sormeghatarozas", parsormeghatarozas); if (Datum2 == "") report.SetParameterValue("datum", Datum1); else report.SetParameterValue("datum", Datum1 + " - " + Datum2); if (listae) { for (int i = 0; i < Listainfok.Oszlopinfok.Mezoinfok.Count; i++) { Mezoinfo info = Listainfok.Oszlopinfok.Mezoinfok[i]; if (!info.ColumnInfo.Comboe && info.ColumnInfo.Numeric(info.ColumnInfo.DataType)) { report.Section2.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.RightAlign; } else { report.Section2.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.LeftAlign; report.Section3.ReportObjects[i].ObjectFormat.HorizontalAlignment = Alignment.LeftAlign; } } } crystalReportViewer1.ReportSource = report; crystalReportViewer1.Enabled = false; crystalReportViewer1.Enabled = true; } else tabControl1.SelectedIndex = 0; }