public TVALUES_DB Calculate(Variable var, int indx)
        {
            //TODO: ContainerINtegration
            //  return default(TVALUES_DB);
            //if (var.Achives == null) return new TVALUES_DB(VALUES_FLAG_DB.IsFormulaNotCorrectEvaluated, 0);


            //if (TypeFormulasFunction == EnumTypeFormulasFunction.Archive)
            //{
            //    return FormulaArchivesPrecalculator.GetArchive(var.Achives.HierarchyId, indx, DiscreteType, var.Achives.GetValues())
            //           ?? new TVALUES_DB(VALUES_FLAG_DB.IsFormulaNotCorrectEvaluated, 0);
            //}

            //var h = FormulaArchivesPrecalculator.Ччи(var.Achives.HierarchyId, indx, DiscreteType);
            //return new TVALUES_DB(VALUES_FLAG_DB.None, h);

            if (var.Achives == null)
            {
                return(new Servers.Calculation.DBAccess.Interface.Data.TVALUES_DB(VALUES_FLAG_DB.IsFormulaNotCorrectEvaluated, 0));
            }


            if (TypeFormulasFunction == EnumTypeFormulasFunction.Archive)
            {
                return(FormulaArchivesPrecalculator.GetArchive(var.Achives.HierarchyId, indx, DiscreteType, (List <Servers.Calculation.DBAccess.Interface.Data.TVALUES_DB>)var.Achives.GetValues())
                       ?? new Servers.Calculation.DBAccess.Interface.Data.TVALUES_DB(VALUES_FLAG_DB.IsFormulaNotCorrectEvaluated, 0));
            }

            var h = FormulaArchivesPrecalculator.Ччи(var.Achives.HierarchyId, indx, DiscreteType);

            return(new Servers.Calculation.DBAccess.Interface.Data.TVALUES_DB(VALUES_FLAG_DB.None, h));
        }