[ОТВЕТИТЬ]
Опции темы
27.02.2012 08:52  
alex_K
Доброго времени суток всем. Подскажите пожалуйста как в УКМ-4 версия 4705, вывести список всех товаров и кол-во из аннулированных чеков. Проблема в том, что чеков таких за 20 дней 146 штук, если заходить в каждый и копировать оттуда данные в ворд, то уйдет много времени. Заранее спасибо.
 
27.02.2012 09:57  
Starter
А что мешает получить это в супермаг+ с помощью бизнес анализа ?
 
27.02.2012 09:59  
Mtirt
То, что аннулированные чеки не выгружаются в Супермаг.
 
27.02.2012 11:07  
alex_K
Скопировали уже ручками, но вопрос актуален.
 
27.02.2012 11:08  
Mtirt
Только аннулированные чеки? Аннулированые позиции не нужны?
 
27.02.2012 14:46  
alex_K
Цитата:
Сообщение от Mtirt
Только аннулированные чеки? Аннулированые позиции не нужны?
Хотя бы только аннулированные чеки. Если можно позиции, то будет вообще супер. Девочку на краже поймали, чеки аннулирует, деньги в карман. Вот теперь все что можно собираем для полиции.
 
27.02.2012 16:45  
Mtirt
Как-то так.
К стыду своему, не знаю, как правильно передавать параметры в mysql.
Надо задать номер кассы и номер z-отчета.

Код:
 
SELECT
  `trm_out_receipt_item`.`item`, `trm_out_receipt_item`.`name`,
  Sum(`trm_out_receipt_item`.`quantity`)
FROM
  `trm_out_shift_open` INNER JOIN
  `trm_out_receipt_header` ON `trm_out_shift_open`.`cash_id` =
    `trm_out_receipt_header`.`cash_id` AND `trm_out_shift_open`.`id` =
    `trm_out_receipt_header`.`shift_open` INNER JOIN
  `trm_out_receipt_footer` ON `trm_out_receipt_header`.`cash_id` =
    `trm_out_receipt_footer`.`cash_id` AND `trm_out_receipt_header`.`id` =
    `trm_out_receipt_footer`.`id` INNER JOIN
  `trm_out_receipt_item` ON `trm_out_receipt_footer`.`cash_id` =
    `trm_out_receipt_item`.`cash_id` AND `trm_out_receipt_header`.`id` =
    `trm_out_receipt_item`.`receipt_header` AND `trm_out_receipt_footer`.`id` =
    `trm_out_receipt_item`.`receipt_header` INNER JOIN
  `trm_in_pos` ON `trm_in_pos`.`cash_id` = `trm_out_shift_open`.`cash_id`
WHERE
  `trm_out_receipt_footer`.`result` = 1 AND
  `trm_out_shift_open`.`number` = :Z_number AND
  `trm_in_pos`.`number` = :Cash_number
GROUP BY
  `trm_out_receipt_item`.`item`, `trm_out_receipt_item`.`name`;
 
"Спасибо" Mtirt от:
27.02.2012 18:54  
vdm
Ну и до кучи подкину, по периоду.

Аннулированные и сторнированные позиции в нормально завершенных чеках (суммы)
Код:
SELECT @StartTime := '2012-01-01 00:00:00';
SELECT @FinishTime := '2012-01-02 23:59:59';
-- SELECT @CashLine := 123456; -- id магазина

SELECT cl.name 'Магазин'
     , usr.name 'Кассир'
     , it.item 'Артикул'
     , it.name 'Наименование'
     , count(*) AS 'Позиций'
     , sum(ifnull(it.total_quantity, 0)) AS 'Количество'
     , sum(ifnull(it.total + it.discount, 0)) AS 'Сумма'
FROM
  trm_in_store cl
INNER JOIN trm_in_pos c
ON c.store_id = cl.store_id
INNER JOIN trm_out_receipt_header h
ON h.cash_id = c.cash_id
INNER JOIN trm_out_receipt_footer f
ON (h.cash_id = f.cash_id AND h.id = f.id)
INNER JOIN trm_out_receipt_item it
ON (h.cash_id = it.cash_id AND h.id = it.receipt_header)
INNER JOIN trm_out_shift_open s
ON (h.cash_id = s.cash_id AND h.shift_open = s.id)
LEFT JOIN trm_out_login lg
ON (h.cash_id = lg.cash_id AND h.login = lg.id)
LEFT JOIN trm_in_users usr
ON (c.store_id = usr.store_id AND lg.user_id = usr.id)
WHERE
  (f.date BETWEEN @StartTime AND @FinishTime)
  AND (f.result = 0)
  AND (h.type IN (0, 5))
  AND (it.type IN (1, 2))
--  AND (c.store_id = @CashLine)
GROUP BY
  c.store_id, usr.name, c.number, it.item, it.name
ORDER BY
  count(*) DESC
;
Аннулированные и сторнированные позиции в нормально завершенных чеках (список)
Для всех подряд позиций из аннулированных чеков - раскомментировать соответствующие условия и убрать аналогичные
Код:
SELECT @StartTime := '2012-01-01 00:00:00';
SELECT @FinishTime := '2012-01-02 23:59:59';
-- SELECT @CashLine := 123456; -- id магазина

SELECT cl.name 'Магазин'
     , usr.name 'Кассир'
     , f.date 'Время'
     , c.number 'Касса'
     , s.number 'Смена'
     , h.local_number 'Чек'
     , it.item 'Артикул'
     , it.name 'Наименование'
     , it.total_quantity 'Количество'
     , it.total + it.discount 'Сумма'
FROM
  trm_in_store cl
INNER JOIN trm_in_pos c
ON c.store_id = cl.store_id
INNER JOIN trm_out_receipt_header h
ON h.cash_id = c.cash_id
INNER JOIN trm_out_receipt_footer f
ON (h.cash_id = f.cash_id AND h.id = f.id)
INNER JOIN trm_out_receipt_item it
ON (h.cash_id = it.cash_id AND h.id = it.receipt_header)
INNER JOIN trm_out_shift_open s
ON (h.cash_id = s.cash_id AND h.shift_open = s.id)
LEFT JOIN trm_out_login lg
ON (h.cash_id = lg.cash_id AND h.login = lg.id)
LEFT JOIN trm_in_users usr
ON (c.store_id = usr.store_id AND lg.user_id = usr.id)
WHERE
  (f.date BETWEEN @StartTime AND @FinishTime)
  AND (h.type IN (0, 5))
  AND (f.result = 0)
  AND (it.type IN (1, 2))
  --  AND (f.result = 1)
  --  AND (it.type IN (0, 1, 2))
ORDER BY
  f.date, c.number, s.number, h.local_number, it.position
;
 
"Спасибо" vdm от:
28.02.2012 09:09  
alex_K
Всем спасибо.
 
03.12.2013 13:40  
Aligator
Цитата:
Сообщение от vdm
Ну и до кучи подкину, по периоду.
Подскажите пожалуйста, что я делаю не так, вот пытаюсь 2 ранее описанных запроса выполнить, указываю id магазина (та даже если и не указываю), а мне йог вот что лепит в результате:
Миниатюры
Нажмите на изображение для увеличения
Название: Image 539.png
Просмотров: 393
Размер:	36.9 Кб
ID:	2867  
 
 


Опции темы



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

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