Объектно-реляционная БД Ultima-S

Примеры запросов к проводкам и сальдо

 

Запрос к проводкам

Данный запрос используется при вычислении рентабельности реализации товаров. Приводится его упрощенный вид: вывести по подразделениям все проводки в дебет по указанному @Acc2, плану счетов @AccId, при этом показать аналитику "Товар" с артикулом и документ-основание.

 

select

D1.Name as _ПОДРАЗДЕЛЕНИЕ,

D3.Name as _ТОВАР,

D3.No as _АРТ,

D2.Name as _НАКЛ ,

sum(C.s) as _ОТПУСКНСУММА,

sum(C.i) as _КОЛИЧЕСТВО

from Pass P, Complect C, Docs D1, Docs D2, Docs D3, Docs DP

where

P.Processed=1 and -- Проведенные проводки

P.AccId=@AccId and – По указанному плану счетов

DP.UDN=P.UDN and -- Свяжем заголовок проводки Pass с описанием проводки

D2.UDN=P.Doc and – Cвяжем код документа-основания с Docs, для получения его Name

C.UDN=P.UDN and -- Свяжем заголовок проводки и комплект ее аналитики

P.Acc2=@Acc2 and – Будем брать проводки только с кредитом счета @Acc2

C.u6=D1.UDN and C.u2=D3.UDN and – Найдем Name и No для объектов аналитики

DP.Date>='1.1.1999' and DP.Date<='12.31.1999' – Будем брать проводки за указанный интервал

group by D1.Name, D3.Name, D3.No, D2.Name

 

Запрос в сальдо

Приводится упрощенный запрос для расчета себестоимости товара: вывести отношение сальдовой суммы к количеству для указанного счета @Acc2 и товара @Good на период @ToIdx

select sum(sct-sdt)/ sum(ict-idt) as СЕБЕСТОИМОСТЬ

from Saldo S

where

UDN=@Acc2 and – Будем брать сальдо по указанному счету @Acc2

u2=@Good -- Будем брать сальдо по указанному товару @Good

and u1=(select max(u1) from Saldo where u1<=@ToIdx and UDN=S.UDN and u2=S.u2)

-- Будем брать сальдо для периода до @ToIdx