Цитата: AlgolB ➤ Вот этого запроса должно хватить для вывода данных из УКМ
В связи с тестированием
разных форм расчета ККТ доработал запрос для группировки по видам оплаты. В JOIN добавил cash_id, т.к. при запросе по СГО receipt_header не уникален.
SQL код:
SET @DATE1 = '2019-09-04 00:00:00';
SET @DATE2 = '2019-09-04 23:59:59';
SET @SHOP_ID = 3004;
SELECT DATE(trm_out_receipt_subtotal.date) 'Дата',
-- trm_out_receipt_header.id,
trm_out_receipt_payment.payment_name 'Вид_оплаты',
-- trm_out_receipt_payment.kkt_payment_form 'Вид расчета ККТ',
SUM(trm_out_receipt_payment.amount) 'Сумма'
-- trm_out_receipt_subtotal.amount 'Итого по чеку'
FROM trm_in_store
INNER JOIN trm_out_shift_close ON (TRUNCATE((trm_out_shift_close.cash_id)/1000, 0) = trm_in_store.store_id)
INNER JOIN trm_out_receipt_subtotal ON (trm_out_receipt_subtotal.cash_id = trm_out_shift_close.cash_id)
AND (trm_out_receipt_subtotal.date BETWEEN @DATE1 AND @DATE2)
INNER JOIN trm_out_receipt_header ON (trm_out_receipt_header.id = trm_out_receipt_subtotal.id AND trm_out_receipt_header.cash_id = trm_out_shift_close.cash_id)
INNER JOIN trm_out_receipt_payment ON (trm_out_receipt_header.id=trm_out_receipt_payment.receipt_header AND trm_out_receipt_payment.cash_id = trm_out_shift_close.cash_id)
WHERE trm_in_store.store_id = @SHOP_ID
AND trm_out_shift_close.date BETWEEN @DATE1 AND @DATE2
AND trm_out_receipt_payment.type = 0 -- сдача не нужна
GROUP BY Дата, Вид_оплаты
ORDER BY Дата, Вид_оплаты;