[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 594: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 650: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
Fórum Xmaker • Script no FreeReport
Página 1 de 1

Script no FreeReport

Enviado: Julho 12th, 2011, 4:49 pm
por José Ricardo
Como usar o script no free report ? Ou seja,
Se o campo DATA_VENCIMENTO estiver preenchido então escreve a data.

Re: Script no FreeReport

Enviado: Julho 12th, 2011, 5:03 pm
por José Ricardo
Estou usando assim, mais ocorre um erro caso o campo PA_DATA esteja com algum valor (com a data preenchida)

if [MascData([DT_PARC_BOLETOS."PA_DATA"], 'dd/mm/yyyy')] <> 0 then
Memo21.Text := 'Vencimento : '+[MascData([DT_PARC_BOLETOS."PA_DATA"], 'dd/mm/yyyy')]
else
Memo21.Text := 'Vencimento : '+'___/___/_____.'

Alguma solução ?

Re: Script no FreeReport

Enviado: Julho 13th, 2011, 11:28 am
por Suporte
olá,

Manipular datas sempre foi uma tarefa que parece simples, mas sempre tem os seus complicadores...
resolvemos os problemas de campos datas em relatórios com campos calculados com fómulas.

Crie um campo calculado na sua tabela de boletos com uma instrução semelhante a baixo:

{ inicio do código campo datarelcalc}
result:='___/___/_____';

if TabGlobal.DT_PARC_BOLETOS.PA_DATA.Conteudo<>null then
result:='___/___/_____';


if TabGlobal.DT_PARC_BOLETOS.PA_DATA.Conteudo='' then
result:='___/___/_____';

try

if (TabGlobal.DT_PARC_BOLETOS.PA_DATA.Conteudo<>'') and
(TabGlobal.DT_PARC_BOLETOS.PA_DATA.Conteudo<>null) then
result:=copy(DT_PARC_BOLETOS.PA_DATA.Conteudo,1,2)+'/'+
copy(DT_PARC_BOLETOS.PA_DATA.Conteudo,3,2)+'/'+
copy(DT_PARC_BOLETOS.PA_DATA.Conteudo,5,4);

except
result:='___/___/_____';

end;

{ fim código }


Pode ser feito via Script, porém a margem de erros em tempo de execução é grande devido a falta de tratamento de erros.

Recomendo usar o método acima.

Caso algum usuário conheça alguma forma mais "elegante" de transpor o uso de datas em relatórios( mesmo sendo nulas ou "em branco" ), sinta-se a vontade para continuar este tópico, expondo suas sugestões e experiências.

if

Enviado: Julho 15th, 2011, 2:01 pm
por José Ricardo
Não sei dizer se é mais "elegante", agora que que a função abaixo é mais prática "Sim", e "Funciononal".

Resolvi da seguinte forma:

if [MascData([DT_PARC_BOLETOS."PA_DATA"], 'dd/mm/yyyy')] <> '0' then
Memo21.text := 'Vencimento : '+[MascData([DT_PARC_BOLETOS."PA_DATA"], 'dd/mm/yyyy')]
else
Memo21.text := 'Vencimento : ___/___/_____'