|
v7: Нужна помощь с запросом | ☑ | ||
---|---|---|---|---|
0
zenon46
24.12.19
✎
19:08
|
Есть запрос,который подсчитывает количество дней в периоде когда товар был на складе, но вот есть одно НО, когда товар пришел и ушел в тот же день, в результате получаем 0, что не совсем верно, где ошибка ?
|SELECT | SUM( | CASE WHEN ВлЗапрос.НачОст>0 THEN | CASE WHEN ВлЗапрос.Период=convert(datetime,:НачДата,112) THEN | CASE WHEN ВлЗапрос.КонОст<=0 THEN | 1 | ELSE | DATEDIFF(day, ВлЗапрос.Период,convert(datetime,:КонДата,112)) + 1 | END | ELSE | CASE WHEN ВлЗапрос.КонОст<=0 THEN | -DATEDIFF(day, ВлЗапрос.Период,convert(datetime,:КонДата,112)) | END | END | ELSE | CASE WHEN ВлЗапрос.КонОст>0 THEN | DATEDIFF(day, ВлЗапрос.Период,convert(datetime,:КонДата,112)) + 1 | END | END) as ДнейНаСкладе |FROM( | SELECT ОстаткиТМЦОстаткиОбороты.Фирма | , ОстаткиТМЦОстаткиОбороты.Номенклатура | , ОстаткиТМЦОстаткиОбороты.Период as Период | , ОстаткиТМЦОстаткиОбороты.КоличествоКонечныйОстаток КонОст | , ОстаткиТМЦОстаткиОбороты.КоличествоНачальныйОстаток НачОст | FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,:КонДата~,День,ДвиженияИГраницыПериода, | ,(Фирма = :ВбрФирма) AND (Номенклатура = :ВбрТовар) | ,(Номенклатура, Фирма),) AS ОстаткиТМЦОстаткиОбороты | ) AS ВлЗапрос | GROUP BY ВлЗапрос.Фирма | , ВлЗапрос.Номенклатура | ORDER BY ВлЗапрос.Номенклатура |
|||
1
mikecool
24.12.19
✎
19:14
|
нет анализа оборота
|
|||
2
zenon46
24.12.19
✎
19:46
|
(1) как прикрутить?
|
|||
3
zenon46
24.12.19
✎
20:08
|
Нужно анализировать : ОстаткиТМЦОстаткиОбороты.КоличествоПриход Приход И ОстаткиТМЦОстаткиОбороты.КоличествоРасход Расход я правильно понимаю ?
|
|||
4
zenon46
24.12.19
✎
20:46
|
Не получается и так и эдак, может есть более лучшее решение как подсчитать количество дней в интервале, когда товар был на складе.
|
|||
5
zenon46
25.12.19
✎
09:02
|
Апну темку, пока так и не решил...
|
|||
6
trad
25.12.19
✎
09:16
|
не к вопросу:
вместо convert(datetime,:НачДата,112) можно написать :НачДата~~ |
|||
7
trad
25.12.19
✎
09:18
|
ошибка тут
CASE WHEN ВлЗапрос.НачОст>0 THEN если, как ты говоришь, товар пришел в этот день, то НачОст = 0 |
|||
8
zenon46
25.12.19
✎
09:24
|
(7) так вообще ерунду выдал "-25"
|
|||
9
Kigo_Kigo
25.12.19
✎
09:28
|
В чем сакраментальный смысл сделать подсчет дней именно в запросе? моя не понимать, если не знаешь как это сделать в запросе, выгрузи в ТЗ и крути как хошь и что хощь, а это наверно не по каконам 1С? Да плевать все хотели на эти каконы, если результат достигнут....
|
|||
10
zenon46
25.12.19
✎
09:30
|
(9) хотелось бы разобраться и научиться.
|
|||
11
Kigo_Kigo
25.12.19
✎
09:33
|
(10) ну если дата прихода = дате расхода, сколько дней должно получиться? прально нуль
соответсвенно просто в отчете ?(КолвоДней = 0, 1,Колводней) делов то |
|||
12
trad
25.12.19
✎
09:51
|
(8) ну я не говорил что других ошибок нет))
но это первое что бросается в глаза |
|||
13
toypaul
гуру
25.12.19
✎
10:01
|
если подзапрос возвращает данные на каждую дату, то
сумма(выбор когда начост + приход > 0 тогда 1 иначе 0 конец) если не на каждую, то вообще не понятно как ты собираешься считать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |