Autor Tópico: [RESOLVIDO] - Como fazer para mostrar o saldo no rodapé  (Lida 861 vezes)

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
[RESOLVIDO] - Como fazer para mostrar o saldo no rodapé
« Online: Maio 26, 2016, 03:51:37 pm »
Olá pessoal,

Criei uma tabela no banco de dados para controle financeiro, nessa tabela tenho vários campos entre eles estão.
1- ID
2- Descrição da Despesa
3- Data da Despesa
4- Tipo
5-  Valor

Vou me ater aos dois últimos onde são inseridos os seguintes dados:

“tipo” recebe as strings RF, RV, DF, DV, ou seja, receitas e despesas fixas e variáveis.

“valor” recebe os valores dessas receitas e despesas em Real $

Usando o scriptcase 8.1 fiz a quebra pelo campo “tipo” e somei esses valores que a título ilustrativo suponhamos que tenha sido:
soma de RF= 2.280,00 +
soma de RV=   771,00 +
soma de DF= 1.440,00 -
soma de DV=      89,19 -

Criei um campo extra em minha aplicação chamado saldo que deveria exibir no rodapé o seguinte valor: Saldo= 1.521,81 mas não tenho ideia como posso fazer isso, gostaria muito de poder contar com ajuda de vocês.

Ver imagem abaixo:
« Última modificação: Junho 01, 2016, 11:53:32 am por Ronyan Alves »
Programadores são ferramentas para converter cafeína em código.

Ronyan Alves

  • Administrator
  • Avançado
  • *****
  • Mensagens: 353
Re:Como fazer para mostrar o saldo no rodapé
« Responder #1 Online: Maio 26, 2016, 04:09:27 pm »
Na configuração de layout da aplicação Consulta, vai em Cabeçalho e rodapé.
Lá em rodapé, tem algumas variáveis de linha e coluna, utiliza o tipo "campo" e seleciona teu campo.
Lembre-se de marcar para exibir o rodapé.
--

Ronyan Alves
Equipe Scriptcase

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #2 Online: Maio 26, 2016, 05:58:11 pm »
Na configuração de layout da aplicação Consulta, vai em Cabeçalho e rodapé.
Lá em rodapé, tem algumas variáveis de linha e coluna, utiliza o tipo "campo" e seleciona teu campo.
Lembre-se de marcar para exibir o rodapé.

Olá Ronyan, isso está feito conforme mostra a imagem, quero saber como "transformar" - "juntar" as Strings RF, RV... etc com os valores e efetuar a operação soma subtração apresentando o resultado.
Sei que é alguma coisa relacionado as macros e os eventos mas não sei como montar esse quebra cabeça.
Desde já muito obrigado.
Programadores são ferramentas para converter cafeína em código.

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Como fazer para mostrar o saldo no rodapé
« Responder #3 Online: Maio 27, 2016, 08:51:28 am »
1) Primeiro
Na configuração de layout da aplicação Consulta, vai em Cabeçalho e rodapé.
Lá em rodapé, tem algumas variáveis de linha e coluna, utiliza o tipo "valor"
Ai coloca: Saldo R$ [glo_Saldo]
Lembre-se de marcar para exibir o rodapé.


2) Segundo
Depois você vai entrar na consulta em Eventos: onFooter

E digitar:
[glo_Saldo]={sum_valor};  // Pode usar o que tiver aqui de variáveis para fazer os cálculos.
[glo_Saldo]=sc_format_num([glo_Saldo], '.', ',', 2, 'S', '1', '');


Formatando um valor com 2 casas decimais, prenchendo com zeros.
sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', '');
Valor de entrada = .9
Valor de saída = 0,90



Mais detalhes como funciona:
Abre o WebHELP do SC: pressiona CTRL+F e procura: Variáveis de Totalização
http://127.0.0.1:8081/scriptcase/doc/manual_mp/manual_mp.htm
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #4 Online: Maio 27, 2016, 10:41:39 am »
1) Primeiro
Na configuração de layout da aplicação Consulta, vai em Cabeçalho e rodapé.
Lá em rodapé, tem algumas variáveis de linha e coluna, utiliza o tipo "valor"
Ai coloca: Saldo R$ [glo_Saldo]
Lembre-se de marcar para exibir o rodapé.


2) Segundo
Depois você vai entrar na consulta em Eventos: onFooter

E digitar:
[glo_Saldo]={sum_valor};  // Pode usar o que tiver aqui de variáveis para fazer os cálculos.
[glo_Saldo]=sc_format_num([glo_Saldo], '.', ',', 2, 'S', '1', '');


Formatando um valor com 2 casas decimais, prenchendo com zeros.
sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', '');
Valor de entrada = .9
Valor de saída = 0,90



Mais detalhes como funciona:
Abre o WebHELP do SC: pressiona CTRL+F e procura: Variáveis de Totalização
http://127.0.0.1:8081/scriptcase/doc/manual_mp/manual_mp.htm


Olá Jailton, agradeço imensamente a disposição para me ajudar tentei esse procedimento mas não funcionou, será que fiz algo errado?

Acontece que o campo "valor" hospeda tanto os créditos quanto os despesas com duas variáveis cada.

Para os créditos tenho as variáveis RF E RV e para os despesas tenho DF e DV como varável, então eu precisaria separar os valores que são "receitas" e "despesas" em blocos para proceder com a operação.
Programadores são ferramentas para converter cafeína em código.

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Como fazer para mostrar o saldo no rodapé
« Responder #5 Online: Maio 27, 2016, 10:48:15 am »
1) Primeiro
Na configuração de layout da aplicação Consulta, vai em Cabeçalho e rodapé.
Lá em rodapé, tem algumas variáveis de linha e coluna, utiliza o tipo "valor"
Ai coloca: Saldo R$ [glo_Saldo]
Lembre-se de marcar para exibir o rodapé.


2) Segundo
Depois você vai entrar na consulta em Eventos: onFooter

E digitar:
[glo_Saldo]={sum_valor};  // Pode usar o que tiver aqui de variáveis para fazer os cálculos.
[glo_Saldo]=sc_format_num([glo_Saldo], '.', ',', 2, 'S', '1', '');


Formatando um valor com 2 casas decimais, prenchendo com zeros.
sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', '');
Valor de entrada = .9
Valor de saída = 0,90



Mais detalhes como funciona:
Abre o WebHELP do SC: pressiona CTRL+F e procura: Variáveis de Totalização
http://127.0.0.1:8081/scriptcase/doc/manual_mp/manual_mp.htm


Olá Jailton, agradeço imensamente a disposição para me ajudar tentei esse procedimento mas não funcionou, será que fiz algo errado?

Acontece que o campo "valor" hospeda tanto os créditos quanto os despesas com duas variáveis cada.

Para os créditos tenho as variáveis RF E RV e para os despesas tenho DF e DV como varável, então eu precisaria separar os valores que são "receitas" e "despesas" em blocos para proceder com a operação.

Sim isso que passei foi o exemplo, ai onFooter você prepara elas para aparecer no rodapé do jeito que desejar.
Pode até colocar la rodapé assim:
Despesas R$ [glo_Despesa] / Receitas R$ [glo_Receitas] > Saldo R$ [glo_Saldo]                << - Viu você monta de jeito que quiser.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #6 Online: Maio 30, 2016, 07:43:03 pm »
Infelizmente não tive sucesso com as respostas apresentadas, conversando com um amigo que trabalha com PHP mas não conhece de Scriptcase ele me disse que acredita que isso tenha que ser tratado através Array mas não soube me passar por onde eu poderia começar.

Também tentei resolver direto no SQL mas não obtive sucesso... o SQL usado foi:

Código: [Selecionar]
SELECT valor,
       IF(tipo = 'DF',valor, valor*-1) AS SALDO,valor
FROM tabela_receitas_despesas
ORDER BY tipo DESC

Infelizmente o código SQL não funcionou adequadamente e também não sei como inserir 'DF' e 'DV' no mesmo SQL
Programadores são ferramentas para converter cafeína em código.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #7 Online: Maio 30, 2016, 10:34:32 pm »
noelreis faça o seguinte, no onScriptInit faça os cálculos de despesa, receita e saldo por query com sc_lookup
armazene o resultado nas variáveis como o Jailton citou e no rodapé exiba tipo valor com aquela frase junto com as variáveis.
lembrando que no onScriptInit você pode recuperar o where com a macro sc_where_current

Exemplo:

////////////
onScriptInit

//receita
$sqlR = "select sum(Valor) from despesas where Tipo like 'R%' "
sc_lookup(lookupR,$sqlR);
[glo_Receita] = (empty({lookupR})) ? 0 : {lookupR[0][0];

//despesa
$sqlD = "select sum(Valor) from despesas where Tipo like 'D%' "
sc_lookup(lookupD,$sqlD);
[glo_Despesa] = (empty({lookupD})) ? 0 : {lookupD[0][0];

[gloSaldo] = [glo_Receita] - [glo_Despesa];

////////////
Vá em aplicação variáveis globais
marque essas 3 acima como saída e configuração opcional

////////////
Layout -> Cabeçalho e Rodapé

Exibir Rodapé = Sim

campo1 || Valor || Receitas R$ [glo_Receitas] - Despesas R$ [glo_Despesa] = Saldo R$ [glo_Saldo]

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #8 Online: Maio 31, 2016, 09:33:30 pm »
A informação de Rodrigo Padovezzi junto com a informação de Jailton me pareceram coerentes, mas após as configurações com os nomes das tabelas, tenho como retorno o seguinte erro:

Parse error: syntax error, unexpected '$nm_select' (T_VARIABLE) in C:\Program Files\NetMake\v81\wwwroot\scriptcase\app\meuprojeto\grid_receitas_despesas\grid_receitas_despesas_grid.class.php on line 409

Tentei manter o Modo Debug ligado para ver se descobria alguma coisa, mas o erro não permite chegar mo Debug.
Programadores são ferramentas para converter cafeína em código.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #9 Online: Maio 31, 2016, 11:23:44 pm »
O meu exemplo está faltando ; nas querys. Segue corrigido

$sqlR = "select sum(Valor) from despesas where Tipo like 'R%' ";
sc_lookup(lookupR,$sqlR);
[glo_Receita] = (empty({lookupR})) ? 0 : {lookupR[0][0];

//despesa
$sqlD = "select sum(Valor) from despesas where Tipo like 'D%' ";
sc_lookup(lookupD,$sqlD);
[glo_Despesa] = (empty({lookupD})) ? 0 : {lookupD[0][0];

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #10 Online: Junho 01, 2016, 09:46:40 am »
Rodrigo Padovezzi, muito obrigado, espero poder contar sempre com sua ajuda e ajuda dos demais membros, de forma análoga espero poder corresponder à ajuda que tenho obtido aqui no fórum.

Apenas para compor vou repetir o código inserindo as " }" que foram esquecidas e uma pequena alteração que fiz no rodapé.

Código: [Selecionar]
//com o fechamento da "}" e alterações na variável "saldo"
$sqlR = "select sum(valor) from tabela_receitas_despesas where Tipo like 'R%' ";
sc_lookup(lookupR,$sqlR);
[glo_Receita] = (empty({lookupR})) ? 0 : {lookupR[0][0]}; // corrigido de: {lookupD[0][0];

//despesa
$sqlD = "select sum(valor) from tabela_receitas_despesas where Tipo like 'D%' ";
sc_lookup(lookupD,$sqlD);
[glo_Despesa] = (empty({lookupD})) ? 0 : {lookupD[0][0]}; //corrigido de: {lookupD[0][0];

{saldo} = [glo_Receita] - [glo_Despesa]; //modificado de: [gloSaldo] = [glo_Receita] - [glo_Despesa];

No rodapé selecionei "campo" e trouxe o campo criado que chamei de "saldo"



O meu exemplo está faltando ; nas querys. Segue corrigido

$sqlR = "select sum(Valor) from despesas where Tipo like 'R%' ";
sc_lookup(lookupR,$sqlR);
[glo_Receita] = (empty({lookupR})) ? 0 : {lookupR[0][0];

//despesa
$sqlD = "select sum(Valor) from despesas where Tipo like 'D%' ";
sc_lookup(lookupD,$sqlD);
[glo_Despesa] = (empty({lookupD})) ? 0 : {lookupD[0][0];
Programadores são ferramentas para converter cafeína em código.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #11 Online: Junho 01, 2016, 10:06:17 am »
Verdade, havia esquecido rsrs.

Legal que ajudou!

Estamos aqui para isso!

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:Como fazer para mostrar o saldo no rodapé
« Responder #12 Online: Junho 01, 2016, 12:30:02 pm »
Galera mais um pedido de clemência, me desculpem, é falta de raciocínio lógico mesmo, mas como faço para esse código obedecer as condições do filtro?

Meu filtro tem dois campos "dt_recdec" e "unidade" onde dt_recdec é a data de lançamento e unidade é a loja que cadastrou.

Já tentei inserir o código nos eventos do filtro mas não funcionou, também fiz tentativas na cláusula WHERE adicionando o que encontra-se em negrito.
Para um filtro com apenas uma data funciona normalmente, mas se usar um filtro do tipo especial ex: "ultimo mes" não funciona.

$sqlR = "select sum(valor) from tabela_receitas_despesas WHERE tipo like 'R%' AND dt_recdec='{dt_recdec}'";
$sqlD = "select sum(valor) from tabela_receitas_despesas WHERE tipo like 'D%' AND dt_recdec='{dt_recdec}'";
Programadores são ferramentas para converter cafeína em código.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:[RESOLVIDO] - Como fazer para mostrar o saldo no rodapé
« Responder #13 Online: Junho 01, 2016, 01:24:16 pm »
Teste com sc_where_current http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_where_current

no onScriptInit
$sqlR = "select sum(valor) from tabela_receitas_despesas ".{sc_where_current}." and tipo like 'R%' ";

noelreis

  • Novato
  • *
  • Mensagens: 35
  • CUIDADO APRENDIZ...
    • Email
Re:[RESOLVIDO] - Como fazer para mostrar o saldo no rodapé
« Responder #14 Online: Junho 01, 2016, 04:48:07 pm »
RESOLVIDO!... Muito obrigado mesmo, de coração.
Programadores são ferramentas para converter cafeína em código.