Страница 1 из 1

Проблемы при определении пользовательских функций

Добавлено: 26 июл 2020, 20:22
alexeyfressko
Здравствуйте.

Мне нужно сделать пользовательскую функцию. Делаю так:

Код: Выделить всё

public class CustomFunctions {

        public static Int32 DateToInt(DateTime date) {
            return (int)(date - new DateTime(1970, 1, 1)).TotalSeconds;
        }
}

	StiFunctions.AddFunction("Date/Time", "DateToInt", "", typeof(CustomFunctions), typeof(Int32), "", new Type[] { typeof(DateTime)}, new String[] { "date" });
Все работает.

Но если сделаю так:

Код: Выделить всё

public class CustomFunctions {

        public static Int32 DateToInt(DateTime date) {
            return (int)(date - new DateTime(1970, 1, 1)).TotalSeconds;
        }

        public static Int32 DateToInt(DateTime date, String format) {
            return (int)(date - new DateTime(1970, 1, 1)).TotalSeconds;
        }
}


            StiFunctions.AddFunction("Date/Time", "DateToInt", "", typeof(CustomFunctions), typeof(Int32), "", new Type[] { typeof(DateTime)}, new String[] { "date" });
            StiFunctions.AddFunction("Date/Time", "DateToInt", "", typeof(CustomFunctions), typeof(Int32), "", new Type[] { typeof(DateTime), typeof(String) }, new String[] { "date", "format" });
То перестает работать. Мне нужно чтобы функция с одним именем могла принимать разное количество параметров (так как работает в Reports.Java).

Версия отчета последняя, скачана сегодня.

Спасибо.

Re: Проблемы при определении пользовательских функций

Добавлено: 26 июл 2020, 20:48
alexeyfressko
Оказывается уже задавал такой вопрос, но проблема есть.

Испробовано в дизайнере Flash и HTML5

Re: Проблемы при определении пользовательских функций

Добавлено: 26 июл 2020, 22:48
alexeyfressko
Нашел почему так происходит.

Если в XML отчета отсутствует определение:

Код: Выделить всё

<CalculationMode>Interpretation</CalculationMode>
то все работает как надо.

Вопрос: могу ли я для всех отчетов удалить этот параметр из Xml? На что это повлияет?

Re: Проблемы при определении пользовательских функций

Добавлено: 28 июл 2020, 12:10
Aleksey
Здравствуйте,

Уточните, пожалуйста, где вы добавляете функцию - в коде отчета или из своего кода?

Спасибо.

Re: Проблемы при определении пользовательских функций

Добавлено: 28 июл 2020, 15:34
alexeyfressko
Свои пользовательские функции я добавляю в коде .NET так:

Код: Выделить всё

    public partial class DesignerFx : System.Web.UI.Page {

        static DesignerFx() {
            CustomFunctions.RegisterFunctions();
        }

Re: Проблемы при определении пользовательских функций

Добавлено: 30 июл 2020, 13:26
Aleksey
Здравствуйте,

> Вопрос: могу ли я для всех отчетов удалить этот параметр из Xml? На что это повлияет?

Да, можете. Во флэш версии нет данной опции.

Спасибо.