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

1С:Предприятие ::

Метки: 

УТ11 Получить последний заказ по партнеру

Я
   ildary
 
16.11.17 - 15:38
Уважаемые специалисты, скажите пожалуйста, что надо поправить в этом запросе, чтобы он вернул и партнера и последний заказ:

ВЫБРАТЬ
    Партнеры.Ссылка КАК Ссылка,
    ЗаказКлиента.Ссылка КАК Ссылка1
ИЗ
    Справочник.Партнеры КАК Партнеры
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
            ЗаказКлиента.Ссылка КАК Ссылка,
            ЗаказКлиента.Партнер КАК Партнер
        ИЗ
            Документ.ЗаказКлиента КАК ЗаказКлиента
        
        УПОРЯДОЧИТЬ ПО
            ЗаказКлиента.Дата УБЫВ) КАК ЗаказКлиента
        ПО (Партнеры.Ссылка = ЗаказКлиента.Партнер)
ГДЕ
    Партнеры.Ссылка = &Ссылка
 
 
   DrShad
 
1 - 16.11.17 - 15:40
все изменить
   DrShad
 
2 - 16.11.17 - 15:41
сделай запрос к регистру заказов
   ildary
 
3 - 16.11.17 - 15:42
(2) Извините, но мне нужен любой, даже непроведенный и помеченный на удаление заказ. Поэтому регистр вряд ли поможет.
   Renium
 
4 - 16.11.17 - 15:51
МАКСИМУМ (... .Ссылка) - не то? Ну, или .Дата
   ildary
 
5 - 16.11.17 - 15:59
(4) скажите пожалуйста, речь идет о вложенном запросе? Я добавил туда - запрос стал вылетать с ошибкой SDBL: Запрос содержит UNION или DISTINCT, поле .....DATE_TIME отсутствует в разделе SELECT
   lodger
 
6 - 16.11.17 - 16:02
Справочник.Партнеры И СОЕДИНЕНИЕ не нужны.

сам заказ (его ссылка)
Дата заказа
и партнерссылка
уже есть в таблице документа заказ.

ВЫБРАТЬ ПЕРВЫЕ 1 
            ЗаказКлиента.Ссылка КАК Ссылка,
            ЗаказКлиента.Партнер КАК Партнер
        ИЗ
            Документ.ЗаказКлиента КАК ЗаказКлиента
        УПОРЯДОЧИТЬ ПО
            ЗаказКлиента.Дата УБЫВ
   DexterMorgan
 
7 - 16.11.17 - 16:04
(6) Может тс надо выводить всех партнеров, которые и делали заказ
   DexterMorgan
 
8 - 16.11.17 - 16:04
(7) + НЕ делали заказов
   DexterMorgan
 
9 - 16.11.17 - 16:05
епт 10 лет, че ни разу похожей задчи не было?)
   DexterMorgan
 
10 - 16.11.17 - 16:06
(6) и вообще в твоем варианте только 1 запись будет
 
  Рекламное место пустует
   DexterMorgan
 
11 - 16.11.17 - 16:09
ВЫБРАТЬ
    МАКСИМУМ(ЗаказКлиента.Дата) КАК Дата,
    ЗаказКлиента.Партнер
ПОМЕСТИТЬ вт
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента

СГРУППИРОВАТЬ ПО
    ЗаказКлиента.Партнер
;

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

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

СГРУППИРОВАТЬ ПО
    Партнеры.Ссылка
   lodger
 
12 - 16.11.17 - 16:10
(10) в (0) дословно прочитал "чтобы он вернул и партнера и последний заказ:"
ну да, про &Ссылка то я забыл.
в (6) дописать ГДЕ ЗаказКлиента.Партнер = &Ссылка
   DexterMorgan
 
13 - 16.11.17 - 16:12
(12) а сорри тебе по одному партнеру надо, тогда это вообще легко
   DexterMorgan
 
14 - 16.11.17 - 16:13
(12) в (11) для всех партнеров вывел)
   ildary
 
15 - 16.11.17 - 16:14
(8) мне нужны все партнеры, которых я отобрал ранее и поместил в некую ВТ (временную таблицу) и (если есть) - самый последний заказ клиента.

Для простоты - я не стал описывать получение всей ВТ, поэтому по быстрому написал запрос к справочнику Партнеры  с отбором по ссылке.

Мне нельзя обращаться в первую очередь к документу Заказы или регистру заказы - потому что первичный запрос - именно по партнерам (я пишу искалку проблемных партнеров - например партнеров, к которым не привязаны юр.лица).
   DexterMorgan
 
16 - 16.11.17 - 16:15
(15) ну тогда замени в (11) спр Партнеры на твою вт
   ildary
 
17 - 16.11.17 - 16:15
Вот исходный запрос, к которому хочется добавить одну колонку - последний заказ (если есть):

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Контрагенты.Партнер КАК Партнер
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.Контрагенты КАК Контрагенты
;

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

ВЫБРАТЬ
    Партнеры.Ссылка КАК БезКонтр_Ссылка,
    Партнеры.Код КАК БезКонтр_Код
ИЗ
    Справочник.Партнеры КАК Партнеры
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ
        ПО (Партнеры.Ссылка = ВТ.Партнер)
ГДЕ
    ВТ.Партнер ЕСТЬ NULL
   DexterMorgan
 
18 - 16.11.17 - 16:17
(17) ---- (11) + (16)
   ildary
 
19 - 16.11.17 - 16:22
(16) спасибо, получилось!


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