Имя: Пароль:
1C
 
1C Получить последнию цену из документов
0 tatoshka0403
 
09.02.18
13:44
Помогите сделать запрос по документам поступления, который вытянет последнею цену номенклатуры.
1 okSYS
 
09.02.18
13:45
ищи сначала сам документ (группировка ссылка в максимум) потом связывай его с тч и бери номенклатуру из тч
2 famnam
 
09.02.18
13:47
(1) Разве максимум ссылки работает?
3 tatoshka0403
 
09.02.18
13:48
(1) вот так не работает

ВЫБРАТЬ
    ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ПриобретениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица.Номенклатура КАК Номенклатура,
    ВременнаяТаблица.Дата КАК Дата,
    ПоступлениеТоваровТовары.Цена КАК Цена
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
        ПО ВременнаяТаблица.Номенклатура = ПоступлениеТоваровТовары.Номенклатура
            И ВременнаяТаблица.Дата = ПоступлениеТоваровТовары.Ссылка.Дата
4 _Дайвер_
 
09.02.18
13:48
(0) РС в помощь, документ оставляет движения, оттуда и дергай
5 Малыш Джон
 
09.02.18
13:48
(2) работает. правда не всегда он совпадает смаксимумом по дате.
6 tatoshka0403
 
09.02.18
13:51
(1)(5) Вот так тоже не работает

ВЫБРАТЬ
    ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ПриобретениеТоваровУслугТовары.Ссылка) КАК Ссылка
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица.Номенклатура КАК Номенклатура,
    ПоступлениеТоваровТовары.Цена КАК Цена
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
        ПО ВременнаяТаблица.Номенклатура = ПоступлениеТоваровТовары.Номенклатура
7 okSYS
 
09.02.18
13:52
Выбери сам документ пту (не таб часть) сгруппируй его в максимум по ссылке, сделай порядок по возрст (или по убыв, не помню) выбирай 1 запись, помещай все это в вт. дальше связывай с тч товары по номенклатуре и харак-тике.
8 okSYS
 
09.02.18
13:53
хм
9 Малыш Джон
 
09.02.18
13:56
(6) а так и не должно работать. Так что, все правильно

тебе уже посоветовали в (4) - ищи движения этого документа, по регистрам, касающихся цен,а уже по регистрам - собирай информацию
10 tatoshka0403
 
09.02.18
13:57
(9) РС не записываются при проведении документов, РН подойдет?
11 Малыш Джон
 
09.02.18
13:58
(10) "РН подойдет?"

мне??
12 Малыш Джон
 
09.02.18
13:59
(10) если нет движений по ценам - ну че, хреново

тогда собирай инфу по документам и ручками срез последних делай
13 _Дайвер_
 
09.02.18
14:00
(10) Он и нужен, я опечатался
14 _Дайвер_
 
09.02.18
14:01
(13) В Бух 3.0 это РеализацияУслуг.Обороты
15 _Дайвер_
 
09.02.18
14:03
(12) От конфы зависит, где то цены регистрируются в РС где-то нет, поэтому нужно смотреть какие есть, и там плясать дальше
16 tatoshka0403
 
09.02.18
14:08
ВЫБРАТЬ
    МАКСИМУМ(ЗакупкиОбороты.Регистратор) КАК Регистратор,
    ЗакупкиОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица.Регистратор КАК Регистратор,
    ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
    ПоступлениеТоваровТовары.Цена КАК Цена,
    ВременнаяТаблица.АналитикаУчетаНоменклатурыНоменклатура КАК АналитикаУчетаНоменклатурыНоменклатура
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
        ПО ВременнаяТаблица.АналитикаУчетаНоменклатурыНоменклатура.Ссылка = ПоступлениеТоваровТовары.Номенклатура.Ссылка
            И ВременнаяТаблица.Регистратор.Ссылка = ПоступлениеТоваровТовары.Ссылка.Ссылка
17 tatoshka0403
 
09.02.18
14:08
Так не хочет.
(15) Это УТ 11, цены поставщиков не регистрировались.
18 Малыш Джон
 
09.02.18
14:12
(17) забудь про максимум по регистратору

тебе нужна таблица вида "период номенклатура цена" (ну или "период номенклатура количество сумма", тогда цену как сумма/количество возьмешь) - это первая вт

делаешь максимум по периоду(с группировкой по номенклатуре) - это вторая вт

соединяешь по номенклатуре и по периоду вт1 и вт2 -  и берешь значения цен из неё
19 tatoshka0403
 
09.02.18
14:18
(18) Спасибо! Хорошо объяснил. вот результат
ВЫБРАТЬ
    ПриобретениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
    ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
    ПриобретениеТоваровУслугТовары.Цена КАК Цена
ПОМЕСТИТЬ ВременнаяТаблица1
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(ПриобретениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВременнаяТаблица2
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица1.Дата КАК Дата,
    ВременнаяТаблица1.Номенклатура КАК Номенклатура,
    ВременнаяТаблица1.Цена КАК Цена,
    ВременнаяТаблица2.Дата КАК Дата1,
    ВременнаяТаблица2.Номенклатура КАК Номенклатура1
ИЗ
    ВременнаяТаблица2 КАК ВременнаяТаблица2
        ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица1 КАК ВременнаяТаблица1
        ПО ВременнаяТаблица2.Дата = ВременнаяТаблица1.Дата
            И ВременнаяТаблица2.Номенклатура = ВременнаяТаблица1.Номенклатура
20 Малыш Джон
 
09.02.18
14:20
(19) только я бы все же данные для первой вт - из какого нибудь регистра брал

а если уж по табличным частям документов собираешь, то ставь условие на то чтоб только проведенные документы брались, а не все
21 dezss
 
09.02.18
14:22
(19) и не надо дату через 2 точки тянуть, присоедини в ВТ2 Документ.ПриобретениеТоваровУслуги оттуда уже тяни дату...
а то на быстродействии скажется...

первую вт я бы вообще не создавал, а брал бы сразу в основном запросе.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn