Campos da Consulta no Resumo

(Régis Matos) #1

Seria muito bom se tivesse para o usuário final o botão (CAMPOS DA CONSULTA) no Resumo.

Assim o usuário podeira tirar os campos desnecessário do RESUMO

(Eduardo Alves) #2

Muito boa ideia…Estou com um problema serio, não consigo apresentar no resumo um campo VIRTUAL da soma de 2 campos da consulta.

(Cleyton Euler) #3

Eu já disse, mas vou dizer novamente.

Modelar o banco de forma que na camada de aplicação sejam minimizados algum problemas é sempre válido. Os DBAs me jogam pedra quando digo que é melhor ter na tabela um campo que guarda um total do que fazer a soma na aplicação.

Em se tratando de SC, várias vezes temos que fugir da conveções para aproveitar melhor a ferramenta. Um caso típo são formulários com várias selects com ajax. Exemplo, carregar cidade em função de estado. No banco, se vc não redundar o campos, no formulário, em modo de atualização, as selects não vem carregada, em função da construção das selects com carregamento ajax.

Em caso de campos com totais, prefiro persistir o total de uma linha no banco do que fazer o cálculo na aplicação. Assim, só preciso fazer um cálculo a cada inserção ou atualização e não em cada onRecord sempre que executo uma consulta.

(Eduardo Alves) #4

Olá grande Brother… em partes concordo contigo, é muito melhor voce “quebrar a cabeça” no BD bem estruturado do que tudo recorrer a ferramenta. Mais as vezes a gente deixa o BD certinho, roda no Mysql conforme voce quer e se depara com alguns problemas (que não tem jeito de não se deparar) quando vai usar o SC. Meu caso por exemplo. Tenho um SQL da seguinte forma:

SELECT
adm_os.id
, adm_os.id_unidade
, adm_os.id_cliente
, adm_os.id_pagamento
, adm_os.data_atendimento
, adm_os.hora_atendimento
, adm_os.valor_faturado
, adm_os.valor_pagamento
, SUM(adm_os.valor_faturado) AS total_fatur
, SUM(adm_os.valor_pagamento) AS total_pagto
, adm_clientes.qtde_contrato_m
, adm_clientes.valor_contrato_m
, (SUM(adm_os.valor_faturado) + (adm_clientes.valor_contrato_m)) as total_bruto
FROM
adm_os
INNER JOIN adm_clientes
ON (adm_os.id_cliente = adm_clientes.ClienteId)
WHERE (adm_os.id_pagamento <> ‘2’)
AND (adm_os.status <> ‘C’) GROUP BY adm_os.id_cliente

No banco, apresenta tudo do jeitinho que eu quero. Quando coloco no SC, a consulta vem perfeita ( na verdade so quero NOME DA EMPRESA, VALOR FATURADO, VALOR PAGAMENTO, QTDE CONTRATOS
Ai começa minha luta. Para eu fazer um resumo perfeito (para totalização), eu precisava da SOMA(VALOR FATURADO), SOMA(VALOR PAGAMENTO), CAMPO(VALOR CONTRATO) (não usando as opções disponíveis no SC) somente APRESENTAR ESSE CAMPO NO RESUMO. A partir daí, travou, onde seria interessante uma opção de CAMPO DA CONSULTA (PURO) NO RESUMO.

as vezes um serviço simples se torna complexo… entende ???