26.06.2009 10:51
CM 26.1 УКМ 44.1

Хочу обратиться к пользователям форума за помощью:
нужно с помощью запроса с данным УКМ отобрать кассовые чеки за определенный период, которые могут содержать операции в чеках "СТАРНИРОВАНИЕ" "ОШИБКА" "АННУЛЯЦИЯ ПОЗИЦИИ В ЧЕКЕ" и если
возможно чеки которые не содержат информацию (поле) сдача или принятые деньги от покупателя.

Прошу помощи в создании запроса т.к. версия укм используемая нами не может стандартными свойствами фильтра отобрать данные чеки.

При обращении в тех поддержку посоветовали следующее:

Свяжите в любом менеджере Mysql 2-3 таблички, и все. Мне видится связь следующих таблиц : trm_out_receipt_ item, trm_out_receipt_footer, trm_out_receipt_header.

type BIGINT 20 0 Not Null 0 тип товарной позиции (0 - нормальная; 1- аннулированная; 2-позиция на сторнирование)
26.06.2009 10:53
Так давай пример запроса, а дальше мы поможем...
26.06.2009 11:02
в том то и проблема что в этом направлении опыта нет.. по этому и обращаюсь =( и еще уточнить хотел бы в более поздних версиях что нибудь похожее в фильтрах поиска имеется или тоже только запросами искать нужно
26.06.2009 12:04
Вот все поля для отбора чеков в УКМ46сп2
В скобках возможные варианты.

Глобальный номер чека
Дата создания чека с по
Артикул
Штрих код
Название товара (начинается с, содержит, оканчивается на)
Цена товарной позиции в чеке
Сумма чека от до
Номер дисконтной карты
Номер карты клиента
Кассир
Магазин
Номер кассы
Номер смены
Номер чека в смене
Тип продажи (розничная, оптовая, не определен)
Результат операции

Как я понял для запросов тебе достаточно знать несколько команд.
Пример: select * from trm_out_receipt_item where item="002154" отберет все позиции где артикуль равен 002154.
26.06.2009 12:53
нужно отобрать № чеков... которые содержаться операции ну или артикула который старнировался или удалялся из чека и № чека в котором они лежат.. просто артикулы не подойдут.. придется опять все в ручную проверять по чекам.
26.06.2009 13:15
тебе не кто не говорил, что отбератся будут только артикулы.
Если можно обойтись артикулами, которые странировались или анулировались, то тебе нужно:
select * from trm_out_receipt_item where XXX = ''0,1,2"
таблица отображает товарная позиция в чеке
а XXX-это имя столбца в котором хранится код операции, сейчас не помню как называется,
26.06.2009 14:10
Для v46, но должно и в 44 работать, вряд ли менялось.

Код:
select rf.date, hd.pos kassa, sf_o.id smena, hd.local_number ch_num
from trm_out_receipt_header hd
inner join trm_out_receipt_footer rf on (hd.cash_id=rf.cash_id) and (hd.id=rf.id)
inner join trm_out_shift_open sf_o on (hd.cash_id=sf_o.cash_id) and (hd.shift_open=sf_o.id)
inner join trm_out_receipt_item itm on (hd.cash_id=itm.cash_id) and (hd.id=itm.receipt_header)
where  ((rf.date>='2009-06-25 00:00:00') and (rf.date<='2009-06-26 23:59:59'))
  and  ((itm.type = 1) or (itm.type = 2))
order by rf.date, hd.pos  
;
itm.type= 1 - аннулированные позиции, 2 - сторнированные

По доп. условию - нужны чеки вообще без оплаты ?
29.06.2009 19:51
проверил запрос... все работает. СПАСИБО!
03.07.2009 12:01
В 46-й в стандартных фильтрах встроена при поиске чека.
03.07.2009 13:52
Цитата:
KozzZaNoVa В 46-й в стандартных фильтрах встроена при поиске чека.
Там есть фильтр по результату всего чека в целом.
Но не по аннулированным позициям.
Часовой пояс GMT +3, время: 06:59.

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