Вопрос по СКД: как получить количество дней за период? #447757


#0 by DSSS
Всем доброго дня! Подскажите, как в СКД получить за период количество дней, когда конечный остаток товара на складе был больше нуля. Т.е нужна таблица с колонками нач. остаток, приход, расход, конечный остаток и колич. дней. Количество дней сейчас пытаюсь получить через вычисляемое поле по формуле: Выбор когда КоличествоКонечныйОстаток>0 тогда 1 иначе 0 конец В настройках отчета для колонки "ПериодДень" задан тип дополнения "День", чтобы получить запись для всех дней, если движений по регистру не было. В таком виде отчет работает неправильно. Запрос: ВЫБРАТЬ    ТоварыНаСкладахОстаткиИОбороты.Регистратор,    ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток Спасибо.
#1 by DSSS
ап...
#2 by Икогнито
в наборе данных роль "период" прописана?
#3 by DSSS
Для какого поля?
#4 by DSSS
апну еще разок
#5 by IronDemon
#6 by DSSS
Сделал такие же настройки. Результат тот же. как заставить вычисляемое поле считать Выбор когда КоличествоКонечныйОстаток>0 тогда 1 иначе 0 конец ?
#7 by bvn13
РАЗНОСТЬДАТ юзай
#8 by RomaH
я правильно понимаю - т.е. в таблице запроса мы прото не имеем в наличии записей для определенного условия? т.е. надо дополнять запрос этими записями внутри его ... тут недавно тема пробегала да и в БЗ есть - как заполнить запрос всеми датами внутри промежутка времени
#9 by DSSS
причем тут разность дат? мне нужно получить количество дней, когда количество конечный остаток > 0
#10 by RomaH
например:
#11 by Мигрень
+ РАЗНОСТЬДАТ
#12 by DSSS
Спасибо, возможно подойдет вот это. Только мне думается можно как-то проще обрулить эту задачу - т.е у меня есть колонка конечныйОстаток, и нужно чтобы рядом была колонка "Колич. дней", в которую всегда подставляется 1 если конечный остаток >0 Допустим перед нами стоит задача, сгенерировать последовательность дат месяца. В качестве параметра в запрос мы будем передавать первую дату месяца.    (ВЫБРАТЬ        1 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6) КАК t1        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ        1 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6) КАК t2 Во вложенном запросе мы формируем числовую последовательность от 0 до 35, далее в запросе верхнего уровня мы генерируем последовательность дат, ограничивая её последним числом месяца. как в разность дат добавить условие КонечныйОстаток>0?
#14 by Мигрень
->Запрос вычисляет интервалы. Вышестоящий запрос вычисляет количество дней в интервале и суммирует результат.
#15 by DSSS
Видимо то что нужно. Благодарю.
#16 by DSSS
Пытаюсь использовать запрос, указанный в , но работает не совсем правильно. Может все-таки кто-нить знает другой способ получения количества дней, когда товар был на складе используя возможности СКД?
#17 by DSSS
ап
#18 by DSSS
Апну еще раз
#19 by TormozIT
Что значит "не совсем правильно"?
#20 by DSSS
Вот текст запроса: ВЫБРАТЬ РАЗЛИЧНЫЕ    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,            ТоварыНаСкладахОстаткиИОбороты1.Период КАК Период, Результат: Номенклатура    КоличествоДнейНаСкладе    КоличествоКонечныйОстаток    Период Товар А        1    03.03.2009 0:00:00 Товар А        1    06.03.2009 0:00:00 Товар А    3        06.03.2009 0:00:00 Товар А    6        12.03.2009 0:00:00 Товар А        10    23.03.2009 0:00:00 Товар А        1    25.03.2009 0:00:00 Товар А    2    9    25.03.2009 0:00:00 Товар А    1    2    26.03.2009 0:00:00 Товар А    1    8    26.03.2009 0:00:00 Товар А    1    1    27.03.2009 0:00:00 Товар А    1    7    27.03.2009 0:00:00 Товар А    5    1    31.03.2009 0:00:00 Товар А    5    7    31.03.2009 0:00:00 Дублируются некоторые строки: 27.03.2009 31.03.2009,
#21 by DSSS
TormozIT, Подскажи, плиз, что нужно изменить в запросе?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С