[ОТВЕТИТЬ]
Опции темы
18.02.2016 11:02  
akonev
В очередной раз коммерческому понадобилось разобраться почему просела рентабельность по конкретной позиции в определенном магазине.

Пришлось подправить запрос, который они обычно гоняли для этого в Query Reporter. Пусть тут полежит :)

!!! Сейчас всё это есть в бизнес-анализе в модели "Товародвижение FIFO".
Так сложилось исторически, что часть отчетов у нас снаружи супермага живут и понемногу мутируют под текущие потребности.

Код:
-- детализация себестоимости
select lf.name as магазин, ff.article as артикул
       ,oo.typename as тип_расхода
       ,ff.saleid as расход, ff.saledate as дата_расхода
       ,ff.salesum as сумма_расхода_полная
       ,ff.quantity as количество_расхода
       ,round(ff.salesum/ff.saleq,4) as цена_расхода
       ,round(ff.quantity*ff.salesum/ff.saleq,4) as сумма_расхода
       ,oi.typename as тип_прихода
       ,(select op.name from saoperation op, smdocuments od where od.doctype=ff.incometype and od.id=ff.incomeid and op.id = od.opcode) as операция
--       ,(select nvl(uo.title,' ') from smuserop uo, smdocuments ud where ud.doctype=ff.incometype and ud.id=ff.incomeid and uo.id = ud.userop(+)) as польз_операция -- пользовательские операции стали использовать мало
       ,ff.incomeid as приход, ff.incomedate as дата_прихода
       ,round(ff.incomesum/ff.incomeq,4) as цена_сс
       ,round(ff.quantity*ff.incomesum/ff.incomeq,4) as сумма_сс
--       , round(ff.incomenovat/ff.incomeq,4) as цена_СС_без_НДС, ff.salenovat as сумма_без_ндс -- цена и сумма себестоимости без НДС пока оказались не нужны
       ,decode(ff.primecostforced, 0, ' ', 'Неустановленная СС') as неустановленная_сс
 from ffmaprep ff -- в ffmaprep только открытый период. заменить на fvmaprep, если нужны и закрытые периоды тоже
      , ssobjecttypes oi, ssobjecttypes oo, smstorelocations lf
where oi.objtype=ff.incometype
  and oo.objtype=ff.saletype
  and lf.id=ff.salelocationfrom
  and ff.saletype in ('CS','WO') -- нам были интересны только расходные накладные и кассовые документы. можно добавить другие типы документов или совсем убрать строку.
  and ff.salelocationfrom in (select l.id from smstorelocations l where upper(name) like upper('%&МЕСТО_ХРАНЕНИЯ%')) -- тут по запросу напишем часть названия магазина, как оно в супермаге
  and ff.article in ('&АРТИКУЛ') -- тут по запросу укажем артикул ТОЧНО (!!!) как в супермаге
--  and ff.saledate>=to_date('&Дата_расхода_начиная_с','DD.MM.YYYY') -- тут можно добавить фильтр по дате
order by ff.saledate asc
 
"Спасибо" akonev от:
 
Опции темы



Часовой пояс GMT +3, время: 03:49.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.