| 
    
        
     
     | 
    
  | 
УТ11 Получить последний заказ по партнеру | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        ildary    
     16.11.17 
            ✎
    15:38 
 | 
         
        Уважаемые специалисты, скажите пожалуйста, что надо поправить в этом запросе, чтобы он вернул и партнера и последний заказ:
 
        ВЫБРАТЬ Партнеры.Ссылка КАК Ссылка, ЗаказКлиента.Ссылка КАК Ссылка1 ИЗ Справочник.Партнеры КАК Партнеры ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1 ЗаказКлиента.Ссылка КАК Ссылка, ЗаказКлиента.Партнер КАК Партнер ИЗ Документ.ЗаказКлиента КАК ЗаказКлиента УПОРЯДОЧИТЬ ПО ЗаказКлиента.Дата УБЫВ) КАК ЗаказКлиента ПО (Партнеры.Ссылка = ЗаказКлиента.Партнер) ГДЕ Партнеры.Ссылка = &Ссылка  | 
|||
| 
    1
    
        DrShad    
     16.11.17 
            ✎
    15:40 
 | 
         
        все изменить     
         | 
|||
| 
    2
    
        DrShad    
     16.11.17 
            ✎
    15:41 
 | 
         
        сделай запрос к регистру заказов     
         | 
|||
| 
    3
    
        ildary    
     16.11.17 
            ✎
    15:42 
 | 
         
        (2) Извините, но мне нужен любой, даже непроведенный и помеченный на удаление заказ. Поэтому регистр вряд ли поможет.     
         | 
|||
| 
    4
    
        Renium    
     16.11.17 
            ✎
    15:51 
 | 
         
        МАКСИМУМ (... .Ссылка) - не то? Ну, или .Дата     
         | 
|||
| 
    5
    
        ildary    
     16.11.17 
            ✎
    15:59 
 | 
         
        (4) скажите пожалуйста, речь идет о вложенном запросе? Я добавил туда - запрос стал вылетать с ошибкой SDBL: Запрос содержит UNION или DISTINCT, поле .....DATE_TIME отсутствует в разделе SELECT     
         | 
|||
| 
    6
    
        lodger    
     16.11.17 
            ✎
    16:02 
 | 
         
        Справочник.Партнеры И СОЕДИНЕНИЕ не нужны.
 
        сам заказ (его ссылка) Дата заказа и партнерссылка уже есть в таблице документа заказ. ВЫБРАТЬ ПЕРВЫЕ 1 ЗаказКлиента.Ссылка КАК Ссылка, ЗаказКлиента.Партнер КАК Партнер ИЗ Документ.ЗаказКлиента КАК ЗаказКлиента УПОРЯДОЧИТЬ ПО ЗаказКлиента.Дата УБЫВ  | 
|||
| 
    7
    
        DexterMorgan    
     16.11.17 
            ✎
    16:04 
 | 
         
        (6) Может тс надо выводить всех партнеров, которые и делали заказ     
         | 
|||
| 
    8
    
        DexterMorgan    
     16.11.17 
            ✎
    16:04 
 | 
         
        (7) + НЕ делали заказов     
         | 
|||
| 
    9
    
        DexterMorgan    
     16.11.17 
            ✎
    16:05 
 | 
         
        епт 10 лет, че ни разу похожей задчи не было?)     
         | 
|||
| 
    10
    
        DexterMorgan    
     16.11.17 
            ✎
    16:06 
 | 
         
        (6) и вообще в твоем варианте только 1 запись будет     
         | 
|||
| 
    11
    
        DexterMorgan    
     16.11.17 
            ✎
    16:09 
 | 
         
        ВЫБРАТЬ
 
        МАКСИМУМ(ЗаказКлиента.Дата) КАК Дата, ЗаказКлиента.Партнер ПОМЕСТИТЬ вт ИЗ Документ.ЗаказКлиента КАК ЗаказКлиента СГРУППИРОВАТЬ ПО ЗаказКлиента.Партнер ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Партнеры.Ссылка КАК Партнер, МАКСИМУМ(ЗаказКлиента.Ссылка) КАК Заказ ИЗ Справочник.Партнеры КАК Партнеры ЛЕВОЕ СОЕДИНЕНИЕ вт КАК вт ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента ПО вт.Партнер = ЗаказКлиента.Партнер И вт.Дата = ЗаказКлиента.Дата ПО вт.Партнер = Партнеры.Ссылка СГРУППИРОВАТЬ ПО Партнеры.Ссылка  | 
|||
| 
    12
    
        lodger    
     16.11.17 
            ✎
    16:10 
 | 
         
        (10) в (0) дословно прочитал "чтобы он вернул и партнера и последний заказ:"
 
        ну да, про &Ссылка то я забыл. в (6) дописать ГДЕ ЗаказКлиента.Партнер = &Ссылка  | 
|||
| 
    13
    
        DexterMorgan    
     16.11.17 
            ✎
    16:12 
 | 
         
        (12) а сорри тебе по одному партнеру надо, тогда это вообще легко     
         | 
|||
| 
    14
    
        DexterMorgan    
     16.11.17 
            ✎
    16:13 
 | 
         
        (12) в (11) для всех партнеров вывел)     
         | 
|||
| 
    15
    
        ildary    
     16.11.17 
            ✎
    16:14 
 | 
         
        (8) мне нужны все партнеры, которых я отобрал ранее и поместил в некую ВТ (временную таблицу) и (если есть) - самый последний заказ клиента.
 
        Для простоты - я не стал описывать получение всей ВТ, поэтому по быстрому написал запрос к справочнику Партнеры с отбором по ссылке. Мне нельзя обращаться в первую очередь к документу Заказы или регистру заказы - потому что первичный запрос - именно по партнерам (я пишу искалку проблемных партнеров - например партнеров, к которым не привязаны юр.лица).  | 
|||
| 
    16
    
        DexterMorgan    
     16.11.17 
            ✎
    16:15 
 | 
         
        (15) ну тогда замени в (11) спр Партнеры на твою вт     
         | 
|||
| 
    17
    
        ildary    
     16.11.17 
            ✎
    16:15 
 | 
         
        Вот исходный запрос, к которому хочется добавить одну колонку - последний заказ (если есть):
 
        ВЫБРАТЬ РАЗЛИЧНЫЕ Контрагенты.Партнер КАК Партнер ПОМЕСТИТЬ ВТ ИЗ Справочник.Контрагенты КАК Контрагенты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Партнеры.Ссылка КАК БезКонтр_Ссылка, Партнеры.Код КАК БезКонтр_Код ИЗ Справочник.Партнеры КАК Партнеры ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ ПО (Партнеры.Ссылка = ВТ.Партнер) ГДЕ ВТ.Партнер ЕСТЬ NULL  | 
|||
| 
    18
    
        DexterMorgan    
     16.11.17 
            ✎
    16:17 
 | 
         
        (17) ---- (11) + (16)     
         | 
|||
| 
    19
    
        ildary    
     16.11.17 
            ✎
    16:22 
 | 
         
        (16) спасибо, получилось!     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |