Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

СуммуМаржи и Товарооборот Курс взял на FFMapRep : Супермаг Плюс (Супермаг 2000)

22.11.2024 10:59


10.11.2014 17:36
Где найти суммуМаржи и товарооборот.
в разбивке по магазам и группам.

Курс взял на FFMapRep верно?

SQL код:
select
CL.NAME,
CL.TREE,
SUM (F.SALESUM),
SUM (F.SALENOVAT), 
(SUM (F.SALESUM)*100/
SUM (F.SALENOVAT)-100) as proc
FROM supermag.FFMapRep F
left join supermag.SMCARD C ON C.ARTICLE = F.ARTICLE
left join supermag.SACardClass CL ON CL.ID = C.IDCLASS
WHERE 
    F.SALELOCATIONFROM = '55'
    AND (F.SALEOP in (1,3))
    AND (F.SALEDATE>=TO_DATE('01.09.14','DD.MM.YY'))
    AND (F.SALEDATE<=TO_DATE('28.09.14','DD.MM.YY'))
GROUP BY   CL.NAME,CL.TREE
ORDER BY  CL.NAME,CL.TREE 
11.11.2014 07:42
Только ты не маржу нашел, а ставку НДС.
SALENOVAT - это реализация без налогов...
19.03.2015 12:00
а товарооборот можно отсюда вытянуть за период времени?
19.03.2015 12:02
Можно. Пробуй.
19.03.2015 13:29
остаток товара будет равняться SUM(WI-WO)+SUM(CS-CR) от даты инвентаризации?
19.03.2015 14:16
Остатки еще удобно считать не по типу доков а по пришло/ушло, в свое время понравилось такое решение как пример, у кого то спионерил на форуме

Цитата:
select nvl(sum( S.Quantity * decode (D.LocationTo, 32, 1, decode (D.LocationFrom, 32 , -1, 0) ) ), 0) as остаток_на_начало
from Supermag.SmDocuments D, Supermag.SmSpec S
where D.DocType = S.DocType and
D.ID = S.DocID and
S.Article = '000273' and
D.DocState >= 2 and
D.CreatedAt < TO_DATE('20141018','YYYYMMDD') and
( D.LocationTo = 32 or D.LocationFrom = 32 )
красиво и элегантно, без перебора типов
23.03.2015 11:11
для движения это верно но если нужен именно товарооборот по реализации (продажи за минусом возвратов) - то без типов документов и/или операций не обойтись.
23.03.2015 11:12
Цитата:
BotMan остаток товара будет равняться SUM(WI-WO)+SUM(CS-CR) от даты инвентаризации?
вы путаете, похоже, тот остаток, который используется как стартовое сальдо в белорусском товарном отчете, с обычным остатком в СМ.
24.03.2015 21:49
Еще способ узнать, где и что взять - бизнес анализ.
Пример - нужно узнать как из супермага вытащить товарооборот, маржу, нач и кон. остаток.
Создаем задачу - реализация в закупочных ценах за период, добавляем поля - МХ, продажа, доход, остаток нач, остаток конечный.
Затем - меняем какую нибудь формулу, либо добавляем заведомо неправильную, чтобы получить ошибку.
И смотрим файл c:\SM2000\Data\SmAnalyticsErrorLog.txt

там находим результирующий запрос. Исправляем ошибку, получаем:

SELECT (LOC.Name) as Field6,round((SUM((nvl(D.SaleSum,0)-nvl(D.RetSum,0)))),4) as Field1,round((SUM(((nvl(D.SaleSum,0)-nvl(D.RetSum,0))-(nvl(D.SaleCP,0)-nvl(D.RetCP,0))))),4) as Field2,round((SUM(nvl(REMF.CP,0))),4) as Field3,round((SUM(nvl(REML.CP,0))),4) as Field4
FROM SMStoreLocations LOC,(SELECT StoreLoc, Article, sum(RetCP) RetCP, sum(RetSum) RetSum, sum(SaleCP) SaleCP, sum(SaleSum) SaleSum FROM (SELECT StoreLoc, Article,to_date('01012000','DDMMYYYY') RepDate,0 MeasNu, 0 RetCP, 0 RetSum, 0 SaleCP, 0 SaleSum FROM supermag.SVLocCard LC UNION ALL SELECT StoreLoc, Article,SaleDate RepDate,0 MeasNu, RetCP, RetSum, SaleCP, SaleSum FROM supermag.SVARealCostPriceOpenedPeriod R WHERE R.SaleDate between to_date('01.02.2015','DD.MM.YYYY') and to_date('28.02.2015','DD.MM.YYYY')) GROUP BY StoreLoc, Article) D,SVARemainsCP REMF,SVARemainsCP REML
WHERE D.Article=REMF.Article(+) and D.StoreLoc=REMF.StoreLoc(+) and to_date('31.01.2015','DD.MM.YYYY')=REMF.RemDate(+) and D.Article=REML.Article(+) and D.StoreLoc=REML.StoreLoc(+) and to_date('28.02.2015','DD.MM.YYYY')=REML.RemDate(+) and D.StoreLoc=LOC.ID
GROUP BY (LOC.Name);

Вот его и используем за основу, по крайней мере, чтобы узнать что и откуда берется.
24.03.2015 21:53
И в добавление - нужно учесть, что иногда перед вызовом самого запроса потребуется заполнить фильтры во временных таблицах, вызвать процедуры расчета остатков... То есть, вариант - сделали задачу бизнес анализа, выставили нужные фильтры, посмотрели запрос и его использовали - не всегда проходит. Но посмотреть что и откуда берется - очень даже неплохой вариант.
Часовой пояс GMT +3, время: 10:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.