Microsoft SQL

Mapa recapitulativo

Este é um exemplo rápido para fazer uam consulta numa base de dados PHC no SQL Management Studio. A não ser que tenhamos instalado a licença para usar o módulo de contabilidade é possível construir uma análise rápida com base na tabela de contas-correntes e extrair os clientes com facturação acima dos 25.000 euros.

select cc.no, cl.nome,
cl.ncont, ‘Deb’=sum(cc.edeb),
‘Cred’=sum(cc.ecred),
‘Final’=sum(edeb-ecred)
from cc
inner join cl on cl.no=cc.no and cc.estab=cl.estab
where datepart(yy, datalc)=2009 and cc.origem=’FT’
group by cc.no, cl.ncont, cl.nome
having sum(cc.edeb)>25000

A análise começa por extrair o número do cliente, nome e contribuinte seguido do somatório de todos documentos a débito, crédito e o total da tabela de contas correntes. Em seguida faz um join pelo cliente e estabelecimento para poder “casar” o número de contribuinte correctamente. Filtramos com a syntax datepart no ano 2009 e no final having sum nos documentos a débito maior que 25000 euros.

Análises “batalha naval”

Adoro fazer análises em forma de “batalha naval”… Perguntam vocês o que é isso de análises em “batalha naval”? É aquele tipo de relatórios de Business Intelegence em que numa só e simples análise temos a informação útil e pertinente à nossa consulta. Eis aqui um exemplo:

Uma das análises frequentes são as feitas nos documentos de facturação, em concreto as vendas. Os relatórios em que agregamos as vendas por referência entre datas é quase o pão nosso de cada dia. É aquele tipo de informação que temos que ter sempre à mão. Num dos monitores que desenvolvi para uma cadeia hoteleira criei um exemplo de um desses relatórios sempre actual graças às tecnologias Microsoft SQL Server e ASP! É uma simples query em que estratifico os movimentos entre 180, 90, 60, 30, 15 e 8 dias a contar da data actual para trás. Simples e eficaz.

Quem utilizar o software PHC pode criar as suas próprias análises avançadas de utilizador. Para tal podem experimentar fazer um “copy & paste”:

SELECT ‘REF’=fi.ref, ‘DESIGN’=st.design, ‘UN’=st.unidade, ‘Stock’=st.stock,
SUM(CASE WHEN ft.fdata >=getdate()-180 THEN fi.qtt
ELSE NULL END) AS dias180,
SUM(CASE WHEN ft.fdata >=getdate()-90 THEN fi.qtt
ELSE NULL END) AS dias90,
SUM(CASE WHEN ft.fdata >=getdate()-60 THEN fi.qtt
ELSE NULL END) AS dias60,
SUM(CASE WHEN ft.fdata >=getdate()-30 THEN fi.qtt
ELSE NULL END) AS dias30,
SUM(CASE WHEN ft.fdata >=getdate()-15 THEN fi.qtt
ELSE NULL END) AS dias15,
SUM(CASE WHEN ft.fdata >=getdate()-8 THEN fi.qtt
ELSE NULL END) AS dias8
FROM fi
inner join st on st.ref=fi.ref
inner join ft on ft.ftstamp=fi.ftstamp
where ft.ndoc in (1, 2)
GROUP BY fi.ref, st.design, st.unidade, st.stock
Como vêem a query é bem simples. As coisas simples são quase sempre as mais eficazes. De modo a tornar esta query compatível com qualquer base de dados PHC simplifiquei as cláusulas WHERE onde obviamente podemos especificar clientes, famílias, etc…

Lacteonectar.pt

Para exercitar o meu intelecto comecei um novo projecto a pensar no iPad. Um monitor virado para consulta de preços e suporte de vendas pensado para coexistir com a intranet da empresa.

Bom e barato a pronto pagamento

Estou a desenvolver um pequeno monitor para consulta de artigos por famílias e respectivos PVR.

Eis aqui do que se trata:

O maravilhoso mundo do Microsoft SQL e software PHC

Tempo é dinheiro e perder tempo a fazer uma tabela de preços no EXCEL é perder muito dinheiro quando se tem uma base de dados Microsoft SQL e o software de gestão PHC ADVANCED.

Tabela de preços com ligação à base de dados Microsoft

More >