![]() |
Внешний отчет
Подскажите как можно сделать в данном отсчете так, чтобы выводились строчки только с отрицательным объемом топлива.
|
Использовать обработчик OnBeforePrint и не выводить строки, которые не соответствуют Вашему условию.
Нажмите для просмотра содержимого...
![]() ![]() |
Вложений: 1
При двойном по пустому полю onbeforeprint выскакивает ошибка. Скриншот во вложении.
|
Цитата:
Код:
var Код:
var |
Все правильно была ошибка в коде исправил, заработало. Но конечный результат так и не достигнут.
procedure MasterData3OnBeforePrint(Sender: TfrxComponent); begin if Copy(<Memo22>) >0 then MasterData3.Visible := True else MasterData3.Visible := False; end; Посмотрите пожалуйста тут наверно явно где-то я ошибся. |
TOOP, функция Copy (string, x, y) - возвращает y символов строки string начиная с символа номер x
Она не подходит для Вашей задачи. Скорее это: Код:
Отпишитесь по результату. |
Так и не работает, что то с типом чисел. Числа там дробные с 1 знаком после запятой целое часть не превышает 4 символов.
Выводилась ошибка стала выводится вот эта |
Не видим, что выводится.
|
Вложений: 2
Ошибки по порядку
|
TOOP, отчет какой ?
|
![]() что содержится в указанной строке ? Приведите здесь весь код со вкладки "Код". |
Отчет по автозаправщикам.
var Days: array[1..7] of string; procedure FastReportOnStartReport(Sender: TfrxComponent); begin BDEQuery2.Sql.Clear(); BDEQuery2.Sql.Add('SELECT t1.S_LATITUDE as LAT, t1.S_LONGITUDE as LON, t1.S_ADDRESS as ADDR, ' + 't1.S_REAL_TIME as S_TIME, t1.E_REAL_TIME as E_TIME, t1.REAL_CONT as CONT, t1.T1_E_LEVEL as E_LEVEL, t1.T1_S_LEVEL as S_LEVEL, ' + ' t2.NUMBER as Number1, t2.id as id1 FROM ''temp0.dbf'' t1 LEFT JOIN ''Соответствие.dbf'' t2 on t1.DRIVER_ID = t2.id order by S_TIME'); BDEQuery2.Open(); end; procedure MasterData3OnBeforePrint(Sender: TfrxComponent); begin if StrToFloat (Memo22.Text) > 0 then begin MasterData3.Visible := True; end else begin MasterData3.Visible := False; end; end; begin Days[1] := 'Воскресенье'; Days[2] := 'Понедельник'; Days[3] := 'Вторник'; Days[4] := 'Среда'; Days[5] := 'Четверг'; Days[6] := 'Пятница'; Days[7] := 'Суббота'; end. |
Код:
procedure MasterData3OnBeforePrint(Sender: TfrxComponent); |
Вложений: 1
Вот что сейчас выводит. Если выбрать транспортное средство у которого нету отрицательных значений то выводит пустой отчет без ошибки.
|
TOOP, пришлите мне данные (бинарники) и карлист.
|
TOOP, пожалуй правильнее будет заменить
if StrToFloat(Memo22.Text) > 0 then на if (Round(10 * (<BDEQuery2."E_LEVEL"> - <BDEQuery2."S_LEVEL">)) / 10) > 0 then Проверьте пожалуйста и отпишитесь по результату ! |
Цитата:
|
Не за что.
|
Текущее время: 07:08. Часовой пояс GMT. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot