select
cast(adoc.date_doc as date) 'Дата',
sk.n_kontr 'Наименование клиента',
sTerritory.nTerritory 'Территория',
shipk.n_kontr 'Компания',
sstatedoc.nStateDoc 'Статус',
cast(sum(tov.kol * price) as numeric(18, 2)) 'Сумма',
count(distinct adoc.id_doc) 'Кол-во',
adoc.name_user 'Продавец'
from
tov_doc adoc (nolock)
inner join Tov (nolock) on tov.id_doc = adoc.id_doc
inner join sstatedoc (nolock) on sstatedoc.idStateDoc = adoc.id_status_doc
inner join spr_kontr sk (nolock) on sk.id_kontr = adoc.id_kontr_db and sk.Retail = 1 --- розничный клиент
inner join spr_kontr shipk (nolock) on shipk.id_kontr = adoc.idShipper
inner join spr_kontr d (nolock) on d.id_kontr = adoc.id_firm
inner join rKontrTerritory (nolock) on rKontrTerritory.id_kontr = sk.id_kontr
inner join sTerritory (nolock) on sTerritory.idTerritory = rKontrTerritory.idTerritory and sTerritory.idTerritory = 7
where
adoc.in_tax <> 10 --не равно - фиктивный
and adoc.id_type_doc in (8, 19) -- тип документа - отпуск, отгругка изпод отчета
and adoc.date_doc between '2024.06.03' and '2024.06.09' -- здесь вставляем даты для отчета, c какого по какое.
group by
sk.n_kontr,
sTerritory.nTerritory,
adoc.date_doc,
sk.n_kontr,
adoc.id_doc,
shipk.n_kontr,
nStateDoc,
adoc.name_user
order by
cast(adoc.date_doc as date),
sk.n_kontr