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

Помогите оптимизировать запрос (Информация о продажах товара по кассовым чекам) : Супермаг Плюс (Супермаг 2000)

23.11.2024 5:24


13.09.2007 16:06
Цитата:
Mtirt Ага, а потом замучаешься отвечать на вопросы, почему отчеты не идут друг с другом, если в магазине просто сняли на кассе Z-отчет за 2 часа до окончания работы магазина, а потом продолжили на ней работать...
Наверное поэтому вот такие отчеты и нужны:) Всегда актуальная информация.
Хотя лично я придерживаюсь твоей точки зрения.
13.09.2007 16:09
А что ты понимаешь под актуальностью?
И smcashchecks и smtimespansale заполняются ПОСЛЕ снятия Z-отчета.
Надеюсь тебе не по онлайн-чекам надо было продажи анализировать?
14.09.2007 07:00
Цитата:
Mtirt А что ты понимаешь под актуальностью?
И smcashchecks и smtimespansale заполняются ПОСЛЕ снятия Z-отчета.
Надеюсь тебе не по онлайн-чекам надо было продажи анализировать?
Я понял, там же ссылки на кассовые документы.
А что такое онлайн-чеки? Где о них почитать?
14.09.2007 07:19
В документации естественно...
14.09.2007 07:34
Цитата:
dmware Я понял, там же ссылки на кассовые документы.
А что такое онлайн-чеки? Где о них почитать?
касса может выкладывать информацию о каждом чеке сразу же, как только он отбит.
речь об укм2 и укм4. если у тебя другие - с ними разбирайся сам :)

соответственно см2000 может эту инфу подбирать и складывать в таблички оперативных чеков.
это и будет самая-самая оперативная информация.
без оперчеков у тебя в базе только те продажи, котоые были в закрытых сменах.

ну а подробности, как верно заметила Таня - в документации.
14.09.2007 07:36
Спасибо! Буду разбираться.
04.03.2008 03:04
Добрый день!

Твой селект очень быстро работает - 13 секунд! Можно сказать влет. Убери из подселектов клаузу "ORDER BY" - сам убедишься.

SELECT SMSTORELOCATIONS_NAME as "Место хранения",
SACARDCLASS.TREE as "Код узла",
SACARDCLASS.NAME as "Классификатор",
SMCASHCHECKITEMS_ARTICLE as "Артикул",
SMCARD.NAME as "Наименование товара",
SUM(SMCASHCHECKITEMS_TOTALSUM) as "Общая сумма по артикулу",
TIME_INTERVAL as "Интервал"
FROM (
SELECT SMSTORELOCATIONS.NAME as SMSTORELOCATIONS_NAME,
SMCASHCHECKS.CHECKNUM as SMCASHCHECKS_CHECKNUM,
SMCASHCHECKS.PRINTTIME as SMCASHCHECKS_PRINTTIME,
SMCASHCHECKS.ZNUM as SMCASHCHECKS_ZNUM,
SMCASHZ.DESKNUM as SMCASHZ_DESKNUM,
SMCASHZ.CLOSEDATE as SMCASHZ_CLOSEDATE,
('с &DatBeg по &DatEnd') as TIME_INTERVAL
FROM SMCASHCHECKS,
SMSTORELOCATIONS,
SMCASHZ
WHERE SUBSTR(SMCASHCHECKS.PRINTTIME, 0, 10) >=
to_date('&DatBeg', 'DD.MM.YYYY')
AND SUBSTR(SMCASHCHECKS.PRINTTIME, 0, 10) <=
to_date('&DatEnd', 'DD.MM.YYYY')
AND SMCASHCHECKS.OPCODE IN(1)
AND SMSTORELOCATIONS.ID = SMCASHCHECKS.LOCID
AND SMCASHCHECKS.ZNUM = SMCASHZ.ZNUM
AND SMCASHZ.LOCID = SMCASHCHECKS.LOCID
AND SMCASHCHECKS.DESKNUM = SMCASHZ.DESKNUM
AND SUBSTR(SMCASHZ.CLOSEDATE, 0, 10) >=
to_date('&DatBeg', 'DD.MM.YYYY')
AND SUBSTR(SMCASHZ.CLOSEDATE, 0, 10) <=
to_date('&DatEnd', 'DD.MM.YYYY')
GROUP BY SMSTORELOCATIONS.NAME,
SMCASHCHECKS.CHECKNUM,
SMCASHCHECKS.PRINTTIME,
SMCASHCHECKS.ZNUM,
SMCASHZ.DESKNUM,
SMCASHZ.CLOSEDATE
),
(
SELECT SMSTORELOCATIONS.NAME as SMSTORELOCATIONS_NAME_1,
SMCASHCHECKITEMS.CHECKNUM as SMCASHCHECKITEMS_CHECKNUM,
SMCASHCHECKITEMS.ARTICLE as SMCASHCHECKITEMS_ARTICLE,
(SMCASHCHECKITEMS.TOTALSUM) as
SMCASHCHECKITEMS_TOTALSUM,
SMCASHCHECKITEMS.ZNUM as SMCASHCHECKITEMS_ZNUM,
SMCASHZ.DESKNUM as SMCASHZ_DESKNUM_1,
SMCASHZ.CLOSEDATE as SMCASHZ_CLOSEDATE_1
FROM SMCASHCHECKITEMS,
SMSTORELOCATIONS,
SMCASHZ
WHERE SMSTORELOCATIONS.ID = SMCASHCHECKITEMS.LOCID
AND SMCASHCHECKITEMS.ZNUM = SMCASHZ.ZNUM
AND SMCASHCHECKITEMS.DESKNUM = SMCASHZ.DESKNUM
AND SMCASHZ.LOCID = SMCASHCHECKITEMS.LOCID
AND SUBSTR(SMCASHZ.CLOSEDATE, 0, 10) >=
to_date('&DatBeg', 'DD.MM.YYYY')
AND SUBSTR(SMCASHZ.CLOSEDATE, 0, 10) <=
to_date('&DatEnd', 'DD.MM.YYYY')
GROUP BY SMSTORELOCATIONS.NAME,
SMCASHCHECKITEMS.ARTICLE,
SMCASHCHECKITEMS.TOTALSUM,
SMCASHCHECKITEMS.CHECKNUM,
SMCASHCHECKITEMS.ZNUM,
SMCASHZ.DESKNUM,
SMCASHZ.CLOSEDATE
),
SACARDCLASS,
SMCARD
WHERE SMSTORELOCATIONS_NAME = SMSTORELOCATIONS_NAME_1
AND SACARDCLASS.ID = SMCARD.IDCLASS
AND SMCARD.ARTICLE = SMCASHCHECKITEMS_ARTICLE
AND SMCASHCHECKS_CHECKNUM = SMCASHCHECKITEMS_CHECKNUM
AND SMCASHCHECKS_ZNUM = SMCASHCHECKITEMS_ZNUM
AND SMCASHZ_DESKNUM = SMCASHZ_DESKNUM_1
AND SMCASHZ_CLOSEDATE = SMCASHZ_CLOSEDATE_1

GROUP BY SMSTORELOCATIONS_NAME,
SACARDCLASS.TREE,
SACARDCLASS.NAME,
SMCASHCHECKITEMS_ARTICLE,
SMCARD.NAME,
TIME_INTERVAL
ORDER BY SMCASHCHECKITEMS_ARTICLE

С Уважением Владимир.
Часовой пояс GMT +3, время: 05:24.

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