Отчеты в FastReport

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Отчеты в FastReport

Сообщение edward_K »

Два одинаковых элемента разных строк? или разных в одной строке?
Там в суммировании есть еще флаг - нарастающим итогом - он стоит?
Ну можно либо в два прохода прогнать - в свойствах отчета - EnginePass - DoublePass.
Либо в функции накопить в переменную.
Еще бывает, что в поле выводится не совсем число - тогда только функцией с _try.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в FastReport

Сообщение RAJAH »

edward_K писал(а):Два одинаковых элемента разных строк?
Да.
edward_K писал(а):Там в суммировании есть еще флаг - нарастающим итогом - он стоит?
Нет, мне не нужно нарастающим.
edward_K писал(а):Ну можно либо в два прохода прогнать
:-( "Access violation", однако, на втором проходе.
edward_K писал(а):Либо в функции накопить в переменную.
И так пробовал. Аналогично - в первый раз берёт только одно значение, затем правильно.
edward_K писал(а):Еще бывает, что в поле выводится не совсем число
Число. Только в первый раз пропускает элемент.
Ещё заметил, что в случае, если проблемные элементы не первые в отчёте, то выходит верно сразу.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Отчеты в FastReport

Сообщение edward_K »

В функции вы можете поставить точку останова и потом отрасирровать.
Интересно все так увидеть сии проблемные элементы.
Двойной проход я как то юзал - нормально. Очень полезно, когда нужно сумму видеть в шапке. У LaaLaa на ютубе вроде пример был.
И суммируйте так

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

var _kol: Longint;
var _SUM : double;                                  

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  _kol:=0;            
  _SUM:=0;                             
end;
...
procedure Child1_TMP_Table_BeforePrint(Sender: TfrxComponent);
begin
    try                       
      _SUM:=_SUM+StrToFloat(<TMP_Table."SUMMA">);
    except 
    end;              
end;
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

LaaLaa писал(а):
Алексей писал(а):Есть ли техническая возможность из випа вызвать не генератор отчётов Fastreport, а указав конкретный отчёт послать его сразу на принтер, минуя диалоговое окно?
Набор таких функций почти готов. Планируется выпустить в Атлантисе 5.5.23.0
Приветствую! Официально вышел dll с этим набором функций?
Интересует как раз:
1. вывод на принтер
2. отсылка по почте (желательно экспортированную версию в эксель).
3. чтобы показывался автоматически не в формате FR а сразу открывался эксель.
ded_gambit
Сообщения: 18
Зарегистрирован: 21 май 2015, 13:10
Откуда: Слободской, Кировская обл.

Не доходит до .endform

Сообщение ded_gambit »

Из прототипа 'STVPLDOC' сделал отчет, из потока беру данные, работаю с ними НО внезапно выяснилось, что где-то в процессе последнего цикла идет выход из формы, т.е. последняя строка перед .endform, не обрабатывается.

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

.LinkForm 'NewForm' Prototype is 'STVPLDOC'
.NameInList 'Новая форма'
.var
.endvar
.fields
.endfields
.{
1
.{
2
.{
3
.}
4
.}
5
.}
6
.endform       
6 не выводит. Как это? Почему? (у меня в этом месте должен быть xlKillExcel)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Не доходит до .endform

Сообщение edward_K »

ded_gambit писал(а):Из прототипа 'STVPLDOC' сделал отчет, из потока беру данные, работаю с ними НО внезапно выяснилось, что где-то в процессе последнего цикла идет выход из формы, т.е. последняя строка перед .endform, не обрабатывается.
Вы на тему посмотрите - вы про FCOM, а тут FASTREPORT. Ответ знаю, но здесь его не приведу, и все равно без помощи ТП или докомпиляции вам сие не решить.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в FastReport

Сообщение RAJAH »

Так, наконец-то, все срочные отчёты доделал, вернёмся к нашим баранам.
edward_K писал(а):в два прохода прогнать
Да, так хорошо (с ошибкой разобрался). Непонятно, правда, почему всё же с первого раза одну строку пропускает.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Обновился до 5.5.23, получил новый ДЛЛ с FR для экспорта и почты... но в поставке отсутствовал файл FRRecordDefinition.vih, может быть есть у кого, выложите сюда, пожалуйста.
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

Алексей писал(а):Обновился до 5.5.23, получил новый ДЛЛ с FR для экспорта и почты... но в поставке отсутствовал файл FRRecordDefinition.vih, может быть есть у кого, выложите сюда, пожалуйста.
Проверьте он есть в обновленном дистрибутиве Випера?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Да, нашел нужный файл. Никогда бы не подумал искать там vih файлы... по хорошему надо в сборку компонент так же включить...

Ещё нашел ошибку в документации параметров экспорта, в описание типа frxBiffExportParam.
написано
PageBreak : Boolean; // Ликвидировать разрывы страниц
но на деле в вихе и стоит
PageBreaks : Boolean; // Ликвидировать разрывы страниц

пропустили букву s
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Понимаю, что функционал новый, но вопрос такой:
Сделал отправку письма по e-mail - не уходит. Включаю диалог mailParam.showDialog := true;
Pапускаю ещё раз - вижу, outlook открывает файл - всё классно, в адресной строке два имени: user1@mail.ru; user2@mail.ru
Жму - отправить, получаю сообщение, что приложение microsoft outlook не может распознать имя.
Захожу в адресную строку, в конце добавляю пробел (либо любой символ), удаляю. Жму отправить - уходит.

В параметрах outlook почта-отправка сообщений снял галочку "автоматически проверять имена" - но проблема осталась... вопрос админам задал, но не уверен как быстро они возьмутся и решат ли...

Настройку "разделять получателей запятой" тоже пробовал - результат тот же.
Ощущение такое, что адреса как бы не инициализировались. Если в адрес написать один адрес - почта уходит.
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

Получил комментарии от коллег:
1) Для структуры frxBiffExportParam в справке поправил PageBreaks;
Обновленная справка будет в патче Freport3.dll 9.1.17.0

2) Для почтового клиента MS Outlook важен правильный формат списка адресатов, иначе будет возникать сообщение вида: "Проверка имен. Приложению Microsoft Outlook не удается распознать имя ..." и отправка будет невозможна. По умолчанию MS Outlook использует разделитель ';' (точка с запятой), но в настройках почтового клиента можно его переопределить.

Правильный формат списка адресатов (без кавычек) - ' test1@mail.com; test2@mail.com; test3@mail.com'. Первым символом должен быть пробел, а в качестве разделителя между адресатами необходимо использовать '; ' (точка с запятой и пробел).

Об этом также будет топик в справке exe/help/frhelp.ch к патчу Freport3.dll 9.1.17.0
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

Алексей писал(а):Да, нашел нужный файл. Никогда бы не подумал искать там vih файлы... по хорошему надо в сборку компонент так же включить...
Некоторые VIH являются частью поставки "Средства разработки Атлантис", а не компонент Галактики.
Те кто имеет подписку на "Средства разработки Атлантис" получают обновления комплекта, только по заявке в Техподдержку.

Часть этого инструментария поставляем в месте с Viper в папку BIN.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

LaaLaa писал(а):Получил комментарии от коллег:
1) Для структуры frxBiffExportParam в справке поправил PageBreaks;
Обновленная справка будет в патче Freport3.dll 9.1.17.0

2) Для почтового клиента MS Outlook важен правильный формат списка адресатов, иначе будет возникать сообщение вида: "Проверка имен. Приложению Microsoft Outlook не удается распознать имя ..." и отправка будет невозможна. По умолчанию MS Outlook использует разделитель ';' (точка с запятой), но в настройках почтового клиента можно его переопределить.

Правильный формат списка адресатов (без кавычек) - ' test1@mail.com; test2@mail.com; test3@mail.com'. Первым символом должен быть пробел, а в качестве разделителя между адресатами необходимо использовать '; ' (точка с запятой и пробел).

Об этом также будет топик в справке exe/help/frhelp.ch к патчу Freport3.dll 9.1.17.0
Вот это завтра попробую! Спасибо... пока что сделал рассылку по каждому адресу в отдельности.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Правильный формат списка адресатов (без кавычек) - ' test1@mail.com; test2@mail.com; test3@mail.com'. Первым символом должен быть пробел, а в качестве разделителя между адресатами необходимо использовать '; ' (точка с запятой и пробел).
Не сработало. Пробую " user1@mail.ru; user2@mail.ru" - outlook выдает сообщение что ему не удается распознать имена...
Ответить