Имя: Пароль:
1C
 
Срочно.. помогите пожалуйста (запрос)
0 TemkaTV
 
27.07.16
22:47
Всем привет, пишу отчёт. нужно получить последнего поставщика по последнему документу ПоступлениеТоваровУслуг. При том при всём получив также номенклатуру, чтобы связать потом таблицы.. Запрос следующий..
1 TemkaTV
 
27.07.16
22:47
ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПоступлениеТоваровУслугТовары.Ссылка.Партнер
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Ссылка.Партнер
2 TemkaTV
 
27.07.16
22:49
при выборе только номенклатуры - берет правда на последнюю дату контрагента по поступлению, но как добавляю контрагента в запрос - все выползают(
3 TemkaTV
 
27.07.16
22:52
при этом запросе та же фигня... Условие Где - просто для отладки конкретной номенклатуры сделано...   ВЫБРАТЬ
    МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПоступлениеТоваровУслугТовары.Ссылка.Партнер
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Партнер
4 TemkaTV
 
27.07.16
22:55
кто что по этому поводу думает?
5 Asmody
 
27.07.16
22:58
Все думают, что тема не отражает суть сообщения
6 jsmith
 
27.07.16
22:58
фигня какая-то
7 TemkaTV
 
27.07.16
22:59
(6) то есть?
8 TemkaTV
 
27.07.16
22:59
(5) ну мучаюсь уже денек...
9 RomanYS
 
27.07.16
22:59
(4) сначала максимум по дате, а потом соединение по дате.

Или коррелированный запрос.
10 TemkaTV
 
27.07.16
23:02
(9) пробовал..
11 jsmith
 
27.07.16
23:04
ВЫБРАТЬ ИЗ
    Документы.Документ КАК документ,
    Документы.Партнер КАК Партнер,
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Товар
ИЗ
(ВЫБРАТЬ ПЕРВЫЕ 1
    ПоступлениеТоваровУслугТовары.Ссылка КАК Документ,
    ПоступлениеТоваровУслугТовары.Ссылка.Партнер
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Дата УБЫВ) КАК Документы
ЛЕВОЕ СОЕДИНЕНИЕ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ПО Документы.Документ = ПоступлениеТоваровУслугТовары.Ссылка
12 youalex
 
27.07.16
23:08
(1) Так ты получишь последнее поступление для каждого партнера. А тебе, как я понял, нужно получить, наоборот, последнего партнера, для каждой номенклатуры.

А что за срочность, если не секрет? Конкурс какой-то? Экзамен сдаешь на спеца?
13 TemkaTV
 
27.07.16
23:12
(12) дедлайн)
14 youalex
 
28.07.16
00:34
(13) убери из группировки Партнера. Заливай это в вт, и далее - цепляй с той же таблицей по Номенклатура и Дата - внутренним соединением (но тут еще могут быть поступления с одинаковой
датой, если разово, можно забить)

Смысл такой - в первом запросе ты получаешь дату последнего поступления по каждой номенклатуре. Во втором, цепляясь по дате и номенклатуре.  - получаешь все возможные поступления за эту дату, в которых есть искомая номенклатура. (Их может быть больше одного, если одинаковая дата)


И это, признаком хорошего тона - является использование РН, а не ТЧ документов. Или, хотя бы  условие Док.Проведен