Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Бух 3.0. СКД Как сгруппировать поля?

Бух 3.0. СКД Как сгруппировать поля?
Я
   Ugra
 
26.10.16 - 13:48
Бух 3.0. Помогите разобраться с отчетом. Есть отчет на СКД выводит номенклатуру и цены документа Поступление товаров и услуг. Как сделать группировку по одинаковым ценам и одинаковой номенклатуре?Но если цена через какое то время вернулась старая, то ее нужно вывести. Знаю как общую группировку сделать- ПоступлениеТоваровУслугТовары.Цена - Минимум, но если в конце месяца вернется старая цена, не выводит уже эту цену отчет.
 
 
   Naf_kultura
 
1 - 26.10.16 - 13:50
последние цены что-ли вывести?
   Naf_kultura
 
2 - 26.10.16 - 13:52
ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
ПОМЕСТИТЬ Временная
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Временная.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена
ИЗ
    Временная КАК Временная
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО Временная.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
            И Временная.Дата = ПоступлениеТоваровУслугТовары.Ссылка.Дата
   Ugra
 
3 - 26.10.16 - 14:04
Последние цены просто в группировке выводятся вот так: ПоступлениеТоваровУслугТовары.Цена - Максимум

а мне нужно чтоб списком выводились цены именно когда менялись цены. в основном цена одна и та же. потом может поменяться через неделю на другую цену,а потом через день вернуться на старую. вот в группировке не получается сделать вывод цены если она вернулась старая.
   Naf_kultura
 
4 - 26.10.16 - 14:07
>> Последние цены просто в группировке выводятся вот так: ПоступлениеТоваровУслугТовары.Цена - Максимум 

это НЕПРАВДА

>>а мне нужно чтоб списком выводились цены именно когда менялись цены. в основном цена одна и та же. потом может поменяться через неделю на другую цену,а потом через день вернуться на старую. вот в группировке не получается сделать вывод цены если она вернулась старая

Список всех цен поступлений за период? различных или всех?
   Ugra
 
5 - 26.10.16 - 14:16
Список только меняющихся цен. Если по поступлениям была неделю одна и та же цена, то выводить не нужно. Нужно выводить дату и номенклатуру по которой сменилась цена.она можнт смениться, а через 2 недели вернуться старая..ее тоже нужно вывести(т.к. она изменилась по отношению к вчерашнему дню )
   Ugra
 
6 - 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 руб
   Ugra
 
7 - 26.10.16 - 14:27
Выводит только строки в отчете когда менялась цена. и если она через какое то время вернулась старая, то тоже должен выводить
   catena
 
8 - 26.10.16 - 14:36
Выводит дату смены цены:

Выбрать
    Минимум(ТЗ.Дата),
    ТЗ.Номенклатура,
    ТЗ.Цена
 из (ВЫБРАТЬ
    ТЗ.Дата,
    ТЗ.Номенклатура,
    ТЗ.Цена,
    Минимум(тз2.Дата) как д2
ИЗ
    тз КАК ТЗ левое соединение ТЗ как тз2
    по тз.Номенклатура=тз2.Номенклатура
    и тз.Дата<=тз2.Дата
    и тз.Цена<>тз2.Цена
Сгруппировать по
    ТЗ.Дата,
    ТЗ.Номенклатура,
    ТЗ.Цена   ) как ТЗ
Сгруппировать по
    ТЗ.Номенклатура,
    ТЗ.Цена,
    ТЗ.д2
   Ugra
 
9 - 27.10.16 - 07:59
ВЫБРАТЬ
    МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена
ИЗ
    (ВЫБРАТЬ
        ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары            
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг        
            ПО Документ.ПоступлениеТоваровУслуг.Товары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
                И Документ.ПоступлениеТоваровУслуг.Товары.Дата <= ПоступлениеТоваровУслугТовары.Дата
                И Документ.ПоступлениеТоваровУслуг.Цена <> ПоступлениеТоваровУслугТовары.Цена
    
    СГРУППИРОВАТЬ ПО
        Документ.ПоступлениеТоваровУслуг.Дата,
        Документ.ПоступлениеТоваровУслуг.Номенклатура,
        Документ.ПоступлениеТоваровУслуг.Цена) КАК Документ.ПоступлениеТоваровУслуг

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена,
    ПоступлениеТоваровУслугТовары.Ссылка.Дата



НЕ Работает этот запрос. Подскажите как исправить ошибку?
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(21, 46)}: Неправильный псевдоним "Документ.ПоступлениеТоваровУслуг"
Документ.ПоступлениеТоваровУслуг.Цена) КАК <<?>>Документ.ПоступлениеТоваровУслуг
   Ugra
 
10 - 27.10.16 - 08:02
или как сделать такой запрос с моими данными как выше catena написала?
Взапрос берется док ПоступлениеТоваровУслуг. Дата,Номеклатура, Цена. больше никакие поля не нужны
 
 Рекламное место пустует
   ЧеловекДуши
 
11 - 27.10.16 - 08:14
(0) Используй функции СКД
http://catalog.mista.ru/public/86764/
   catena
 
12 - 27.10.16 - 08:18
"Неправильный псевдоним "Документ.ПоступлениеТоваровУслуг""

Нужно написать синтаксически-правильный псевдоним. Например, убрать точку.
   Ugra
 
13 - 27.10.16 - 09:40
Ошибка "Повторяющийся псевдоним"
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары        
 
Как поменять в левом соединении?
   Ugra
 
14 - 27.10.16 - 11:52
catena, а вы делали две ТЗ с одинаковыми параметрами? возможно я в коде что то неверно прописываю.выбирала в запросе одну ТЗ
   Ugra
 
15 - 27.10.16 - 15:04
Отчет формирует, по новым ценам, но если цена вернулась старая не выводит по ней строку.. Подскажите что еще исправить в запросе?


ВЫБРАТЬ
    МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена,
    ПоступлениеТоваровУслугТовары.Ссылка.Организация,
    ПоступлениеТоваровУслугТовары.Ссылка.Склад
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары,
    (ВЫБРАТЬ
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    
    СГРУППИРОВАТЬ ПО
        ПоступлениеТоваровУслугТовары.Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена) КАК ВложенныйЗапрос
ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена,
    ПоступлениеТоваровУслугТовары.Ссылка.Организация,
    ПоступлениеТоваровУслугТовары.Ссылка.Склад
   catena
 
16 - 28.10.16 - 06:54
(15)Если брать просто минимальную дату, то любой повторение цен вылетает из выборки.
Идея такая: сначала убираем из таблицы повторяющиеся строки, которые идут подряд. Для этого соединяем таблицу саму с собой и ищем следующую дату с другой ценой
 по тз.Номенклатура=тз2.Номенклатура
    и тз.Дата<=тз2.Дата
    и тз.Цена<>тз2.Цена
У повторяющихся строк эти даты будут одинаковые и вот тут уже в разрезе следующих дат можно группировать по минимальной дате.

Может начать с задач попроще, если даже с псевдонимами проблемы?
   Ugra
 
17 - 28.10.16 - 08:17
С псевдонимами никаких проблем нет, ошибку исправила.. делаю запрос как вы описали..
все без ошибок сохраняется отчет, но когда запускаю в режиме предприятия выдает ошибку при формировании - Запрос невозможно исполнить В условиях соединения запроса не допускается обращение к табличным частям. (1)

Ошибка в условии соединения таблиц получается..вот весь запрос.


ВЫБРАТЬ
    МИНИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена,
    ПоступлениеТоваровУслугТовары.Ссылка.Организация,
    ПоступлениеТоваровУслугТовары.Ссылка.Склад
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары,
    (ВЫБРАТЬ
        МИНИМУМ(ПоступлениеТоваровУслуг.Дата) КАК Дата,
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
            ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура
                И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= ПоступлениеТоваровУслуг.Товары.Ссылка.Дата
                И ПоступлениеТоваровУслугТовары.Цена <> ПоступлениеТоваровУслуг.Товары.Цена
    
    СГРУППИРОВАТЬ ПО
        ПоступлениеТоваровУслугТовары.Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена) КАК ВложенныйЗапрос
ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена,
    ПоступлениеТоваровУслугТовары.Ссылка.Организация,
    ПоступлениеТоваровУслугТовары.Ссылка.Склад
   catena
 
18 - 28.10.16 - 08:43
ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура

Вот в этом месте он с какой номенклатурой справа должен соединять? Хоть с какой-нибудь?
   Ugra
 
19 - 28.10.16 - 09:03
мы же соединяем таблицу саму с собой и потом сравниваем номенклатуру и цену каждую строчку с последующей..и таки далее.
   catena
 
20 - 28.10.16 - 09:10
(19)Не приплетайте мои слова к своему запросу. Вы делаете выборку из документа, а потом пытаетесь обратиться к реквизитам ТЧ. Это две разные таблицы.
   Ugra
 
21 - 28.10.16 - 09:35
чет туплю, поняла что нужно исправить правую часть
ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура
но из какой таблицы брать Номенклатуру не могу понять
   Ugra
 
22 - 28.10.16 - 15:47
Подскажите пожалуйста как исправить это условие соединения таблиц?
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
            ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслуг.Товары.Номенклатура
                И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= ПоступлениеТоваровУслуг.Товары.Ссылка.Дата
                И ПоступлениеТоваровУслугТовары.Цена <> ПоступлениеТоваровУслуг.Товары.Цена


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует