[ОТВЕТИТЬ]
18.01.2011 06:00
Pblcb
 
Доброго времени суток.
Я в недоумении, коллеги.
Сипользуем sm1026.1 без СП, Oracle 9.2.0.8 и собственный фронтофис.
такой запрос:
Код:
SELECT 'docs', SUM (totalsum)
  FROM smDocuments
 WHERE doctype = 'CS' AND createdat BETWEEN '01.12.2010' AND '31.12.2010'
UNION ALL
SELECT 'checks', SUM (totalsum)
  FROM smCashChecks
 WHERE printtime BETWEEN '01.12.2010' AND '31.12.2010'
дает такой результат:
Код:
docs	3495546,67
checks	3447733,27
Как может быть сумма в кассовых документов больше сумм кассовых чеков?
Сверил с данными кассы, сумма по чекам совпадает.
18.01.2011 07:20
Mtirt
 
Чеки на возврат прибавляются к чекам на продажу.
Такой ответ устроит?
18.01.2011 08:45
Pblcb
 
Mtirt, проверил, чеков на возврат нет.
18.01.2011 08:48
Mtirt
 
Тогда попадают чеки из других Z-отчетов - следующей или предыдущей датой.
18.01.2011 08:48
student
 
а не может такого быть что в одном случае сумма со скидкой, а вдругом нет? я просто структур таблиц не знаю - как предположение...
18.01.2011 11:12
Dim
 
а почему так?
Цитата:
WHERE printtime BETWEEN
18.01.2011 11:48
Pblcb
 
Цитата:
student а не может такого быть что в одном случае сумма со скидкой, а вдругом нет? я просто структур таблиц не знаю - как предположение...
не. туда всегда ложатся уплаченные деньги
18.01.2011 11:48
Pblcb
 
Цитата:
Dim а почему так?
не нашел другого поля типа дата в таблице
18.01.2011 11:53
Pblcb
 
Цитата:
Mtirt Тогда попадают чеки из других Z-отчетов - следующей или предыдущей датой.
то есть один чек лёг в два кассовых документа?
18.01.2011 11:54
Dim
 
Цитата:
Pblcb не нашел другого поля типа дата в таблице
ну да... согласен...
18.01.2011 12:00
Mtirt
 
Цитата:
Pblcb то есть один чек лёг в два кассовых документа?
Нет. Такого не бывает.
Бывает следующее:
У тебя есть чек, пробитый в 23:52 31.12.2010.
И Z-отчет по этой смене снят уже 01.01.2011
В результате, по кассовым документам, эта сумма попадет в документ с датой 01.01.2011
А по чекам, по твоему запросу попадет, куда надо.

Но и еще, в твоем запросе between '01.12.2010' and '31.12.2010' для оракла означает между '01.01.2010 00:00:00' и '31.12.2010 00:00:00'
Т.е. во втором запросе ты день потерял :(

Рекомендую идти читать интернет по поводу функции to_date()
18.01.2011 14:36
Pblcb
 
Цитата:
Mtirt Нет. Такого не бывает.
Бывает следующее:
У тебя есть чек, пробитый в 23:52 31.12.2010.
И Z-отчет по этой смене снят уже 01.01.2011
В результате, по кассовым документам, эта сумма попадет в документ с датой 01.01.2011
А по чекам, по твоему запросу попадет, куда надо.

Но и еще, в твоем запросе between '01.12.2010' and '31.12.2010' для оракла означает между '01.01.2010 00:00:00' и '31.12.2010 00:00:00'
Т.е. во втором запросе ты день потерял :(
Огромное спасибо! затупил. во втором подзапросе рассуждал по аналогии с первым, в котором createdat, без времени :)
Опции темы


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

 

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