|
убрать строки с одинаковой ценой, если она осталась на следующих датах (СКД) | ☑ | ||
---|---|---|---|---|
0
leobrn
08.12.16
✎
11:06
|
Подскажите, как реализовать...
Нужно убрать строки с одинаковой ценой, если она осталась на следующих датах. Допустим есть следэ. данные: Дата Цена 01.01.2016 5460 03.01.2016 5460 04.01.2016 5630 05.01.2016 5460 13.01.2016 7200 15.01.2016 7200 Нужно, чтобы выводилось так: 01.01.2016 5460 04.01.2016 5630 05.01.2016 5460 13.01.2016 7200 Запрос: ВЫБРАТЬ ПриходнаяНакладнаяЗапасы.Ссылка.Дата КАК Дата, ПриходнаяНакладнаяЗапасы.Ссылка.Контрагент, ПриходнаяНакладнаяЗапасы.Количество, ПриходнаяНакладнаяЗапасы.Цена, ПриходнаяНакладнаяЗапасы.Количество * ПриходнаяНакладнаяЗапасы.Цена КАК Сумма, ПриходнаяНакладнаяЗапасы.Номенклатура ИЗ Документ.ПриходнаяНакладная.Запасы КАК ПриходнаяНакладнаяЗапасы {ГДЕ (ПриходнаяНакладнаяЗапасы.Ссылка.Дата МЕЖДУ &Начало И &Конец)} УПОРЯДОЧИТЬ ПО Дата УБЫВ |
|||
1
kumena
08.12.16
✎
11:33
|
Выбрать
Цена Поместить ВсеЦены Из Таблица Сгруппировать по Цена ; Выбрать ВсеЦены.Цена ,Минимум(Таблица.Дата) КАК Дата Из ВсеЦены Левое соединение Таблица КАК Таблица По ВсеЦены.Цена = Таблица.Цена Сгруппировать по ВсеЦены.Цена |
|||
2
Вафель
08.12.16
✎
11:39
|
(1) цена может снова такой же стать, так что не сработает
|
|||
3
leobrn
08.12.16
✎
12:32
|
(2) да попробовал таким способом , не выводит строку, когда цена снова такая же
|
|||
4
leobrn
08.12.16
✎
12:32
|
ВЫБРАТЬ
ПриходнаяНакладнаяЗапасы.Цена ПОМЕСТИТЬ ВсеЦены ИЗ Документ.ПриходнаяНакладная.Запасы КАК ПриходнаяНакладнаяЗапасы СГРУППИРОВАТЬ ПО ПриходнаяНакладнаяЗапасы.Цена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеЦены.Цена, МИНИМУМ(ПриходнаяНакладнаяЗапасы.Ссылка.Дата) КАК Дата, ПриходнаяНакладнаяЗапасы.Количество, ПриходнаяНакладнаяЗапасы.Номенклатура, ПриходнаяНакладнаяЗапасы.Ссылка.Контрагент, ВсеЦены.Цена * ПриходнаяНакладнаяЗапасы.Количество КАК Сумма ИЗ ВсеЦены КАК ВсеЦены Левое СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Запасы КАК ПриходнаяНакладнаяЗапасы ПО ВсеЦены.Цена = ПриходнаяНакладнаяЗапасы.Цена {ГДЕ (ПриходнаяНакладнаяЗапасы.Ссылка.Дата МЕЖДУ &Начало И &Конец)} СГРУППИРОВАТЬ ПО ВсеЦены.Цена, ПриходнаяНакладнаяЗапасы.Количество, ПриходнаяНакладнаяЗапасы.Номенклатура, ПриходнаяНакладнаяЗапасы.Ссылка.Контрагент УПОРЯДОЧИТЬ ПО Дата УБЫВ |
|||
5
leobrn
08.12.16
✎
18:15
|
Может еще есть какой-нибудь вариант ?
|
|||
6
Мышка
09.12.16
✎
00:37
|
это ж вроде СКД? зачем тогда пытаться все сделать в запросе?
можно через вычисляемые поля: ВЫБОР КОГДА ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Цена",,,"Предыдущая","Предыдущая")=Цена Тогда 0 ИНАЧЕ Цена КОНЕЦ а те строки, в которых ПредыдЦена = 0, скрыть. |
|||
7
leobrn
09.12.16
✎
06:14
|
(6) получилось, но не могу скрыть поля. Ставлю отбор цена не равно 0 не реагирует и почему то итог по контрагенту допустим рассчитывается, как будто остались старые значение, а не с 0.
|
|||
8
leobrn
09.12.16
✎
08:33
|
попробовал сделать новое поле в вычисляемых выражениях, назвал ПредЦена и задал ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Цена",,,"Предыдущая","Предыдущая"). Потом в отборе ставлю , что Цена не равна ПредЦены и выдает Выражение не может быть вычислено НаборДанных1.Цена
|
|||
9
Dotoshin
09.12.16
✎
08:51
|
(0) А какова конечная цель этого мероприятия?
|
|||
10
AceVi
09.12.16
✎
09:31
|
(0) Это стандартная задачка - выбор срез последних\первых на дату в запросе. Получается что цена у тебя выступает как одно из измерений. загугли пример запроса.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |