Страница 2 из 3

Re: Большая пустая строка в конце таблицы

Добавлено: 25 янв 2022, 17:59
Klogo
Это порождает множество различных ошибок

Re: Большая пустая строка в конце таблицы

Добавлено: 26 янв 2022, 02:01
Aleksey
Здравствуйте,

В данном отчете используются скрипты в событиях отчета. В веб дизайнере, они не поддерживаются и работать не будут.

Спасибо.

Re: Большая пустая строка в конце таблицы

Добавлено: 26 янв 2022, 11:27
Klogo
Для чего тогда был этот пример со скриптом, если он не поддерживается?

Ок. Тогда такой вопрос: можно ли это сделать средствами javascript?
Всегда ли библиотека генерирует одинаковую структуру таблицы?
В данном случае она такая:
1. Сама таблица отчета
2. Большая пустая строка, дополняющая до полной страницы
3. строка высотой в 1px в которой определены широты столбцов (как я понял)

Можно было бы находить п.2 и удалять его из таблицы. Но всегда ли п.2 генерируется? Чтобы не получилось, что я удалю строку из п.1
Или есть какой-то еще способ отличить эту строку от остальных?

Re: Большая пустая строка в конце таблицы

Добавлено: 26 янв 2022, 18:47
Klogo
на сервере я тоже пробовал это событие установить, но это также не помогло.
Возможно это нужно делать как-то иначе?
Screenshot_12.png
Screenshot_12.png (58.94 КБ) 1814 просмотров

Re: Большая пустая строка в конце таблицы

Добавлено: 27 янв 2022, 01:18
Aleksey
Здравствуйте,

Данный отчет и скрипты будут работать пригенерации на серверной стороне (MVC) в режиме компиляции.

Спасибо.

Re: Большая пустая строка в конце таблицы

Добавлено: 27 янв 2022, 13:41
Klogo
добрый день.
В режиме компиляции появляется много ошибок, которых ранее не было.
Например, ошибка сравнения строки с числом.
Но это я еще смог исправить.
Возникает еще ряд ошибок, которые я не понимаю, как решить. Возможно вы мне подскажите как их можно исправить?

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

1) error CS0103: Имя "GetLocalizedString" отсутствует в текущем контексте
2) error CS0266: Неявное преобразование типа "object" в "int" невозможно. Существует явное преобразование (возможно, отсутствует приведение
3) error CS0266: Неявное преобразование типа "object" в "double" невозможно. Существует явное преобразование (возможно, отсутствует приведение)

1) GetLocalizedString - кастомная функция. Определена и зарегистрирована на сервере. Без компиляции она работала
сама функция
сама функция
Screenshot_13.png (34.97 КБ) 1805 просмотров
"регистрация"
"регистрация"
Screenshot_14.png (36.71 КБ) 1805 просмотров
2) и 3) это вычисляемы столбцы fn_operations и fn_profit в которых содержится выражение IIF() и имеют типы int и double
как я понимаю, проблема в том, что IIF возвращает object. Это как-то можно приводить к правильному типу данных?

пример этого отчета прилагаю, если это поможет.

Также если все же есть какой-то другой способ убрать пустое место, то мы можем рассмотреть его. Потому как это не единственный отчет в котором предстоит исправлять все эти ошибки

Re: Большая пустая строка в конце таблицы

Добавлено: 27 янв 2022, 17:17
Aleksey
Здравствуйте,

Вместо IIF() можете использовать тернарный оператор:
{(Условие ? Истина : Ложь)}

Спасибо.

Re: Большая пустая строка в конце таблицы

Добавлено: 28 янв 2022, 11:42
Klogo
Добрый день.
Тернарный оператор помогает.
А что делать с кастомными функциями?

Re: Большая пустая строка в конце таблицы

Добавлено: 28 янв 2022, 12:00
Klogo
Ошибка возникает только на эту функцию, хотя в шаблоне есть множество других.
Также, заметил, что если всключить режим копиляции в дизайнере и проверить на ошибки, то я получу ошибки на все кастомные функции.

Возможно, я их неправильно объявляю/регистрирую?
Сейчас это реализовано в виде статического класса, внутри которого объявлены все эти функции, а также метод для их регистрации, который вызывается при запуске сервера.

Re: Большая пустая строка в конце таблицы

Добавлено: 28 янв 2022, 12:30
Aleksey
Здравствуйте,

В режиме компиляции они не должны вызывать ошибок.
Вышлите простой пример проекта, который воспроизводит проблему, для анализа.

Спасибо.