Пример #1
0
        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);

        }
Пример #2
0
 /// <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();
 }
Пример #3
0
        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);
                }
            }
        }
Пример #4
0
//        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;
        }
Пример #5
0
        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();
            }
        }
Пример #6
0
 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;
 }
Пример #7
0
        /// <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();
        }
Пример #8
0
 /// <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;
 }
Пример #9
0
 /// <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;
 }
Пример #10
0
        /// <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;
        }
Пример #11
0
 /// <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;
 }
Пример #12
0
 /// <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;
 }
Пример #13
0
        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;
        }
Пример #14
0
        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;
        }