select d.Year_Int, d.Month_Int, d.Year_Month_String, sum(di.Qty) as
Sum_Qty, sum(di.Qty*di.Price) as Sum_Product
from vw_Documents d, Operations o, Docum_Items di, Products p
where (d.ID_Operation = o.ID_Operation)
and (o.State in (3,7))
and (d.Flag_Virtual = 0)
and (d.ID_Docum = di.ID_Docum)
and (di.ID_Product = p.ID_Product)
group by d.Year_Int, d.Month_Int, d.Year_Month_String
having (sum(di.Qty*di.Price)<>0) or (sum(di.Qty)<>0)
order by d.Year_Int, d.Month_Int
into :Year_Int, :Month_Int, :Year_Month_String, :Sum_Qty, :Sum_Product
CREATE VIEW VW_DOCUMENTS(
ID_DOCUM,
ID_OPERATION,
FLAG_VIRTUAL,
ID_STORE,
ID_FIRM,
DATE_DOCUM,
YEAR_INT,
MONTH_INT,
DAY_INT,
YEAR_MONTH_STRING)
AS
select d.ID_Docum, d.ID_Operation, d.Flag_Virtual, d.ID_Store, d.ID_Firm,
d.Date_Docum,
extract(year from d.Date_Docum) as Year_Int,
extract(month from d.Date_Docum) as Month_Int,
extract(day from d.Date_Docum) as Day_Int,
DateToStr(d.Date_Docum,'%Y %B') as Year_Month_String
from Documents d
;