|
Бух 3.0. СКД Как сгруппировать поля? | ☑ | ||
---|---|---|---|---|
0
Ugra
26.10.16
✎
13:48
|
Бух 3.0. Помогите разобраться с отчетом. Есть отчет на СКД выводит номенклатуру и цены документа Поступление товаров и услуг. Как сделать группировку по одинаковым ценам и одинаковой номенклатуре?Но если цена через какое то время вернулась старая, то ее нужно вывести. Знаю как общую группировку сделать- ПоступлениеТоваровУслугТовары.Цена - Минимум, но если в конце месяца вернется старая цена, не выводит уже эту цену отчет.
|
|||
1
Naf_kultura
26.10.16
✎
13:50
|
последние цены что-ли вывести?
|
|||
2
Naf_kultura
26.10.16
✎
13:52
|
ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Номенклатура, МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата ПОМЕСТИТЬ Временная ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Временная.Номенклатура, ПоступлениеТоваровУслугТовары.Цена ИЗ Временная КАК Временная ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ПО Временная.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура И Временная.Дата = ПоступлениеТоваровУслугТовары.Ссылка.Дата |
|||
3
Ugra
26.10.16
✎
14:04
|
Последние цены просто в группировке выводятся вот так: ПоступлениеТоваровУслугТовары.Цена - Максимум
а мне нужно чтоб списком выводились цены именно когда менялись цены. в основном цена одна и та же. потом может поменяться через неделю на другую цену,а потом через день вернуться на старую. вот в группировке не получается сделать вывод цены если она вернулась старая. |
|||
4
Naf_kultura
26.10.16
✎
14:07
|
>> Последние цены просто в группировке выводятся вот так: ПоступлениеТоваровУслугТовары.Цена - Максимум
это НЕПРАВДА >>а мне нужно чтоб списком выводились цены именно когда менялись цены. в основном цена одна и та же. потом может поменяться через неделю на другую цену,а потом через день вернуться на старую. вот в группировке не получается сделать вывод цены если она вернулась старая Список всех цен поступлений за период? различных или всех? |
|||
5
Ugra
26.10.16
✎
14:16
|
Список только меняющихся цен. Если по поступлениям была неделю одна и та же цена, то выводить не нужно. Нужно выводить дату и номенклатуру по которой сменилась цена.она можнт смениться, а через 2 недели вернуться старая..ее тоже нужно вывести(т.к. она изменилась по отношению к вчерашнему дню )
|
|||
6
Ugra
26.10.16
✎
14:26
|
Вот допустим обычный отчет по документам поступления без никаких группировок
|ДАТА | НОМЕНКЛАТУРА | ЦЕНА |01/01/2016 | Ручка | 1 руб |10/01/2016 | Ручка | 2 руб |11/01/2016 | Ручка | 2 руб |12/01/2016 | Ручка | 3 руб |20/01/2016 | Ручка | 1 руб Нужно чтобы вывелось только вот так: |ДАТА | НОМЕНКЛАТУРА | ЦЕНА |01/01/2016 | Ручка | 1 руб |10/01/2016 | Ручка | 2 руб |12/01/2016 | Ручка | 3 руб |20/01/2016 | Ручка | 1 руб |
|||
7
Ugra
26.10.16
✎
14:27
|
Выводит только строки в отчете когда менялась цена. и если она через какое то время вернулась старая, то тоже должен выводить
|
|||
8
catena
26.10.16
✎
14:36
|
Выводит дату смены цены:
Выбрать Минимум(ТЗ.Дата), ТЗ.Номенклатура, ТЗ.Цена из (ВЫБРАТЬ ТЗ.Дата, ТЗ.Номенклатура, ТЗ.Цена, Минимум(тз2.Дата) как д2 ИЗ тз КАК ТЗ левое соединение ТЗ как тз2 по тз.Номенклатура=тз2.Номенклатура и тз.Дата<=тз2.Дата и тз.Цена<>тз2.Цена Сгруппировать по ТЗ.Дата, ТЗ.Номенклатура, ТЗ.Цена ) как ТЗ Сгруппировать по ТЗ.Номенклатура, ТЗ.Цена, ТЗ.д2 |
|||
9
Ugra
27.10.16
✎
07:59
|
ВЫБРАТЬ
МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата, ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена ИЗ (ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата, ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена, МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг ПО Документ.ПоступлениеТоваровУслуг.Товары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура И Документ.ПоступлениеТоваровУслуг.Товары.Дата <= ПоступлениеТоваровУслугТовары.Дата И Документ.ПоступлениеТоваровУслуг.Цена <> ПоступлениеТоваровУслугТовары.Цена СГРУППИРОВАТЬ ПО Документ.ПоступлениеТоваровУслуг.Дата, Документ.ПоступлениеТоваровУслуг.Номенклатура, Документ.ПоступлениеТоваровУслуг.Цена) КАК Документ.ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена, ПоступлениеТоваровУслугТовары.Ссылка.Дата НЕ Работает этот запрос. Подскажите как исправить ошибку? Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(21, 46)}: Неправильный псевдоним "Документ.ПоступлениеТоваровУслуг" Документ.ПоступлениеТоваровУслуг.Цена) КАК <<?>>Документ.ПоступлениеТоваровУслуг |
|||
10
Ugra
27.10.16
✎
08:02
|
или как сделать такой запрос с моими данными как выше catena написала?
Взапрос берется док ПоступлениеТоваровУслуг. Дата,Номеклатура, Цена. больше никакие поля не нужны |
|||
11
ЧеловекДуши
27.10.16
✎
08:14
|
(0) Используй функции СКД
http://catalog.mista.ru/public/86764/ |
|||
12
catena
27.10.16
✎
08:18
|
"Неправильный псевдоним "Документ.ПоступлениеТоваровУслуг""
Нужно написать синтаксически-правильный псевдоним. Например, убрать точку. |
|||
13
Ugra
27.10.16
✎
09:40
|
Ошибка "Повторяющийся псевдоним"
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары Как поменять в левом соединении? |
|||
14
Ugra
27.10.16
✎
11:52
|
catena, а вы делали две ТЗ с одинаковыми параметрами? возможно я в коде что то неверно прописываю.выбирала в запросе одну ТЗ
|
|||
15
Ugra
27.10.16
✎
15:04
|
Отчет формирует, по новым ценам, но если цена вернулась старая не выводит по ней строку.. Подскажите что еще исправить в запросе?
ВЫБРАТЬ МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата, ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена, ПоступлениеТоваровУслугТовары.Ссылка.Организация, ПоступлениеТоваровУслугТовары.Ссылка.Склад ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары, (ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена, МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена) КАК ВложенныйЗапрос ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена, ПоступлениеТоваровУслугТовары.Ссылка.Организация, ПоступлениеТоваровУслугТовары.Ссылка.Склад |
|||
16
catena
28.10.16
✎
06:54
|
(15)Если брать просто минимальную дату, то любой повторение цен вылетает из выборки.
Идея такая: сначала убираем из таблицы повторяющиеся строки, которые идут подряд. Для этого соединяем таблицу саму с собой и ищем следующую дату с другой ценой по тз.Номенклатура=тз2.Номенклатура и тз.Дата<=тз2.Дата и тз.Цена<>тз2.Цена У повторяющихся строк эти даты будут одинаковые и вот тут уже в разрезе следующих дат можно группировать по минимальной дате. Может начать с задач попроще, если даже с псевдонимами проблемы? |
|||
17
Ugra
28.10.16
✎
08:17
|
С псевдонимами никаких проблем нет, ошибку исправила.. делаю запрос как вы описали..
все без ошибок сохраняется отчет, но когда запускаю в режиме предприятия выдает ошибку при формировании - Запрос невозможно исполнить В условиях соединения запроса не допускается обращение к табличным частям. (1) Ошибка в условии соединения таблиц получается..вот весь запрос. ВЫБРАТЬ МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата, ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена, ПоступлениеТоваровУслугТовары.Ссылка.Организация, ПоступлениеТоваровУслугТовары.Ссылка.Склад ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары, (ВЫБРАТЬ МИНИМУМ(ПоступлениеТоваровУслуг.Дата) КАК Дата, ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПоступлениеТоваровУслугТовары.Цена КАК Цена ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= ПоступлениеТоваровУслуг.Товары.Ссылка.Дата И ПоступлениеТоваровУслугТовары.Цена <> ПоступлениеТоваровУслуг.Товары.Цена СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена) КАК ВложенныйЗапрос ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.Цена, ПоступлениеТоваровУслугТовары.Ссылка.Организация, ПоступлениеТоваровУслугТовары.Ссылка.Склад |
|||
18
catena
28.10.16
✎
08:43
|
ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура
Вот в этом месте он с какой номенклатурой справа должен соединять? Хоть с какой-нибудь? |
|||
19
Ugra
28.10.16
✎
09:03
|
мы же соединяем таблицу саму с собой и потом сравниваем номенклатуру и цену каждую строчку с последующей..и таки далее.
|
|||
20
catena
28.10.16
✎
09:10
|
(19)Не приплетайте мои слова к своему запросу. Вы делаете выборку из документа, а потом пытаетесь обратиться к реквизитам ТЧ. Это две разные таблицы.
|
|||
21
Ugra
28.10.16
✎
09:35
|
чет туплю, поняла что нужно исправить правую часть
ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура но из какой таблицы брать Номенклатуру не могу понять |
|||
22
Ugra
28.10.16
✎
15:47
|
Подскажите пожалуйста как исправить это условие соединения таблиц?
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= ПоступлениеТоваровУслуг.Товары.Ссылка.Дата И ПоступлениеТоваровУслугТовары.Цена <> ПоступлениеТоваровУслуг.Товары.Цена |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |