|
Условие в запросе для регистра накопления | ☑ | ||
---|---|---|---|---|
0
Ilqarupup
12.09.14
✎
15:56
|
Всем привет! Такой вопрос, в запросе в оборотном регистре накопления прописал дату начала и дату конца:
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&Datebegin, ГОД), ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ), СЕКУНДА, -1), , , ) КАК ТоварыНаСкладахОстаткиИОбороты Можно ли сюда впихнуть условие, типа если Dateend у нас январь, то так и оставь, а не вычисляй конец предыдущего месяца? |
|||
1
Джинн
12.09.14
✎
15:59
|
Хрень какая-то :(
Что вообще нужно сделать с точки зрения бизнес-задачи? |
|||
2
Kamas
12.09.14
✎
16:02
|
в запросе есть МЕСЯЦ() а еще есть выбор когда тогда дальше думаю догадаешся
|
|||
3
Зеленый пень
12.09.14
✎
16:05
|
(0) покажи поля запроса
|
|||
4
Ilqarupup
12.09.14
✎
16:06
|
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ВЫБОР КОГДА ЗакупкиОбороты.КоличествоОборот ЕСТЬ NULL ИЛИ ЗакупкиОбороты.КоличествоОборот = 0 ТОГДА 0 ИНАЧЕ ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот КОНЕЦ КАК Price, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот КАК КоличествоОборот1, ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&Datebegin, ГОД), ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ), СЕКУНДА, -1), , , ) КАК ТоварыНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(НАЧАЛОПЕРИОДА(&Datebegin, ГОД), ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ), СЕКУНДА, -1), , Организация = &Организация) КАК ЗакупкиОбороты ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЗакупкиОбороты.Номенклатура) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(НАЧАЛОПЕРИОДА(&Datebegin, ГОД), ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура ; |
|||
5
Ilqarupup
12.09.14
✎
16:07
|
нужен период начало года - конец предыдущего месяца. Баг выходит на первом месяце.
|
|||
6
Ilqarupup
12.09.14
✎
16:09
|
(2) это знаю, хотелось знать наперед, есть ли такая возможность для моего случая
|
|||
7
Ilqarupup
12.09.14
✎
16:11
|
выбор когда месяц(&Dateend)=1 тогда &Dateend иначе ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ), СЕКУНДА, -1) конец
|
|||
8
Ilqarupup
12.09.14
✎
16:11
|
(7) так не идет
|
|||
9
Wobland
12.09.14
✎
16:11
|
>КАК Price,
выпендрился, молодец |
|||
10
Зеленый пень
12.09.14
✎
16:12
|
А нафига так коряво Dataend в запрос передавать?
|
|||
11
Ilqarupup
12.09.14
✎
16:12
|
(10) я же сказал, из-за бага в январе
|
|||
12
Джинн
12.09.14
✎
16:12
|
(6) Возможность есть всегда. Только не нужно это в запрос пихать. Рассчитайте период и потом готовые цифры в запрос передавайте. Только без безумных секунд - есть конец периода для этого.
|
|||
13
Wobland
12.09.14
✎
16:13
|
(11) ответь на (1)
|
|||
14
Шапокляк
12.09.14
✎
16:13
|
Выбор Когда НачалоПериода(&Dateend,Месяц)=НачалоПериода(&Dateend,ГОД) Тогда....
|
|||
15
Ilqarupup
12.09.14
✎
16:14
|
(13) нужно получить оборот товара со связкой с закупками за период начало года - конец предыдущего месяца.
|
|||
16
Ilqarupup
12.09.14
✎
16:15
|
(12) с границами времени определились, это вспомогательный запрос.
|
|||
17
Ilqarupup
12.09.14
✎
16:16
|
отсюда данные идут в основной запрос
|
|||
18
Ilqarupup
12.09.14
✎
16:23
|
(14)
выбор когда НАЧАЛОПЕРИОДА(&Datebegin, ГОД)=НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ) тогда &Dateend иначе ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Dateend, МЕСЯЦ), СЕКУНДА, -1) конец , не пашет, говорит Неверные параметры "РегистрНакопления.Закупки.Обороты. 1" |
|||
19
Зеленый пень
12.09.14
✎
16:24
|
(11) Так баг в январе - из-за передаваемого параметра. Так?
Почему нельзя запрос написать так: РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ) КАК ТоварыНаСкладахОстаткиИОбороты |
|||
20
Ilqarupup
12.09.14
✎
16:26
|
(19) так точно.
Это в основном запросе так. А мне еще нужны от начала года до конца пред месяца. |
|||
21
Джинн
12.09.14
✎
16:34
|
(20) И какая религия запрещает передать не два параметра, а четыре?
|
|||
22
Крошка Ру
12.09.14
✎
17:28
|
(20)А так кто мешает сделать?:
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&ТекМесяц,Год), НАЧАЛОПЕРИОДА(&ТекМесяц,Месяц)-1, , , ) |
|||
23
Крошка Ру
12.09.14
✎
17:32
|
+(22) А, ну да, без -1
|
|||
24
barrgand
12.09.14
✎
17:39
|
(22) Ему мешает январь, он же вначале написал. Предлагаю в январе не работать...
|
|||
25
Крошка Ру
12.09.14
✎
17:43
|
Я так и не понял, а в январе-то данные за какой период должны браться?
|
|||
26
barrgand
12.09.14
✎
17:45
|
(25) Ну что непонятного, все же написано: если январь, то так и оставь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |