Relatórios

Gostaria de um relatório personalizado, não desses que são pré programados no Sc: html ou Pdf. Infelizmente no Sc parece não ter como fazer isso sem um pouco de código, mas alguém poderia dar uma dica ou um exemplo?

É que as ferramentas de desenvolvimento completas devem pensar nas consultas, formulários e RELATÓRIOS. Acho que seria uma boa idéia colocar no próprio Sc uma ferramenta para o usuário desenvolver seus relatórios personalizados.
Se tiver falando besteira me desculpem!

é possivel sim, você pode usar uma ferramenta sua de geraçãode relatório, e inbutir no SC3.
pode ser numa aplicação de controle um campo do tipo label, voce inclui um iframe para acessar seu script gerado. Uso essa forma para exbir graficos meus, pois os do scriptcase, são muito sem graça.
Se quiser alguma ferramenta para gerar relatórios aconselho o agata report, do Pablo: http://www.agata.org.br/

Para publicar seus script´s junto com o SC3, inclua-os como bibliotecas no SC3.

Obrigado pela dica,
preciso gerar uma proposta de compra (várias páginas) com muitos de seus campos são das tabelas. Ainda não sei como fazer a partir do Sc, mas vou pesquisar e contar com a ajuda dos amigos do forum.

valeu!

Ola Haroldo

Possui o sc3 instalado em um debian com php5 mysql apache

rodando okk
vou instalar esse php-gtk para instalar o agata…terá algum problema com o sc3 instlado?

grato
Fernando

Não, absolutamente não.
O php-gtk não roda no servidor web, pode instalar sem preocupação, na verdade o php-gtk é apenas uma pasta descompactada em seu disco com um atalho.
Quanto a integração dos relatórios do agata com o sc3 funciona com iframe, na verdade não é um integração e sim uma forma de rodar um script totalmente independente dentro do SC3.
Você pode instalar numa máquina windows, criar os relatórios, e os scripts incluir no sc3 no debian.

Harold,

Me tira uma dúvida que tb tenho a respeito desse tópico. Como passo o parametro para um relatorio atraves de url no SC ?

Explicando melhor, fiz um relatorio no agata e quero fazer uma ligaçao entre uma consulta do SC para o relatorio feito no agata.

Como vc disse acima crio campo label, com a URL, correto ? mas e o paramentro, no meu caso preciso passar um valor para o relatorio.

Tb gostaria de saber como passar parametros de um filtro ou aplicação de controle para o agata report e outros geradores de relatorios…

Um grande abraço a todos e aguardo retorno de quem puder ajudar…

O SC tem seus recursos internos de comunicação entre aplicações, usando sessões, parâmetros passodos por get ou post.

Para saber como esses parâmetros são passados são válidos conhecimentos em HTML.

http://dominio.com/script.php?parmetro=valor&parametro2=valor

Aqui segue um exemplo passando parametros para script.php via GET.

as váriaveis $parmetro e $parametro2 estarão disponíveis dentro do script

A partir da versão 4.1.0 dp PHP, resgata-se os valores passados por get através do array global $_GET, ou seja: echo $_GET[‘parametro’];

No meu ver devemos usar um recurso extra ao SC, somente em último caso, esgotando-se todas opções do SC não conseguir cumprir o objetivo desejado.

Seguindo mais adiante, seu eu tiver 2 ou mais paginas de relatorio (ids diferentes), teria algum modo de passar esses parametros (imprimindo um relatorio sequencial de 2 ou mais paginas) ???

O que acontece, consigo passar uma linha de parametros:

http://dominio.com/script.php?id=1&parametro2=valor

Se eu tiver 2 ids difentes:

http://dominio.com/script.php?id=1&parametro2=valor
http://dominio.com/script.php?id=2&parametro2=valor

por exemplo, teria algum modo de eu dizer para o SC que ele tem que pegar todos os IDS e liberar pagina a pagina, parametros por ID ???

Vlw a todos !!!

http://dominio.com/script.php?id=1&parametro2=valor
http://dominio.com/script.php?id=2&parametro2=valor

–>

http://dominio.com/script.php?id=1,2&parametro2=valor

no select vc usá na clausula WHERE você usa o comparador IN.

Não entendi, brother… nesse modo que voce citou, ele vai colocar todos os IDs no mesmo endereço (link) ??? Isso fará com que ele abra por exemplo (se tiver 2 ids diferentes), 2 paginas iguais, mudando somente os parametros ??? Não entendi usar o comparador IN. vi esse exemplo mais não entendi muito bem http://data.agaric.com/node/1930

Segue como está meu onvalidate:

$dat1 = {datainic};
$dat2 = {datafin};
sc_set_global($dat1, $dat2);

/* Macro sc_lookup */

sc_select(meusdados, “SELECT id_cliente, SUM(valor_faturado) FROM adm_os WHERE data_atendimento BETWEEN ‘$dat1’ AND ‘$dat2’ GROUP BY id_cliente”);

if (FALSE === {meusdados}) { sc_erro_mensagem(“Ocorreu um erro no acesso ao banco de dados.
”);
} else { while (!$meusdados->EOF) {

/* Utilize a linha abaixo como exemplo para atribuir os valores do banco a seus campos. */

$chave=$meusdados->fields[0];
$valorfechado=$meusdados->fields[1];

/* Macro sc_exec_sql */

sc_exec_sql("INSERT INTO adm_fechamento (id_cliente, valor_fechamento) VALUES (’$chave’, ‘$valorfechado’)

");

$meusdados->MoveNext(); }
$meusdados->Close(); }

sc_redir (http://intranet/boleto/boleto_itau.php?id=$chave&,"","_blank");

Vlw

usei um metodo temporario (meio tosco) mais tá lá…

$id_boleto = trim({id_cliente});
$valorfechado = trim({valor_fechamento});

sc_redir (http://intranet/boleto/boleto_itau.php?f_id=$id_boleto&f_valortotal=$valorfechado,"","_blank");

se tiver 10 ids ele abre 10 navegadores…

fico na “espectativa” de imprimir na sequencia (no mesmo navegador) pra não dar o azar de ter 800 ids risos…

Usei tb o COMPARADOR IN mais ele so pega o primeiro ID

Exemplo:

sc_lookup(FECHADO, "SELECT id_cliente FROM adm_fechamento WHERE id_cliente IN (‘1,2,3,29,37,72,73’) ");

$id_boleto = $FECHADO[0][0];

$valorfechado = trim({valor_fechamento});

sc_redir (http://intranet/boleto/boleto_itau.php?f_id=$id_boleto&f_valortotal=$valorfechado,"","_self");

RESULTADO (PASSAGEM DE PARAMENTROS):

http://intranet/boleto/boleto_itau.php?f_id=1&f_valortotal=2112.68