|   |   | 
| 
 | Проблем с запросом. | ☑ | ||
|---|---|---|---|---|
| 0
    
        almarbam 16.05.13✎ 10:28 | 
        Привет. Нужна помощь или пример. Задача следующая:
  - информацию о контрагентах, которым осуществлялись продажи; - товары, которые продавались контрагентам; - цену с НДС, по которой последний раз продали товар контрагенту. Проблема собственно возникла на последнем этапе. Не могу сделать что бы выводилась цена по которой продавали КА последний раз товар. То есть если есть 2 продажи карандашей, то цена должна быть только та у которого договора больше дата. | |||
| 1
    
        salvator 16.05.13✎ 10:31 | 
        (0) Показывай, что уже написал     | |||
| 2
    
        almarbam 16.05.13✎ 10:37 | 
        "ВЫБРАТЬ
  | Продажа.КА, | ПродажаТовары.Товар, | ПродажаТовары.Сумма |ИЗ | Документ.Продажа.Товары КАК ПродажаТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа КАК Продажа | ПО ПродажаТовары.Ссылка = Продажа.Ссылка"; Собственно не могу написать еще 1 запрос... | |||
| 3
    
        salvator 16.05.13✎ 10:40 | 
        (2) 1. Этот запрос можно написать без соединения.
  2. ИМХО, лучше брать информацию из регистров | |||
| 4
    
        Jonny_Khomich 16.05.13✎ 10:43 | 
        (0) Я делал такое клиенту, (3) он тебе верно советует на счет регистров.     | |||
| 5
    
        almarbam 16.05.13✎ 10:45 | 
        Проблема в том что клиент не хочет что бы зменяли конфу... Поэтому регистры отпадают.     | |||
| 6
    
        almarbam 16.05.13✎ 10:46 | 
        Если можно написать без соединения, то хотел бы увидеть пример.     | |||
| 7
    
        salvator 16.05.13✎ 10:49 | 
        (5) Конфигурация какая?     | |||
| 8
    
        almarbam 16.05.13✎ 10:50 | 
        Самописная какая то, с любой типовой думаю таких проблем бы не возникло.     | |||
| 9
    
        YHVVH 16.05.13✎ 10:52 | 
        1.определить датувремя когда была последняя продажа товара клиенту
  2. выбрать товар с ценой на эту датувремя по клиенту | |||
| 10
    
        Мимохожий Однако 16.05.13✎ 10:53 | 
        (5)Делай внешним отчетом. Для того регистры и придумали, чтобы эффективнее получать информацию.     | |||
| 11
    
        Jonny_Khomich 16.05.13✎ 10:53 | 
        (5) т.е. документ продажи не делает проводки в регистрах?!     | |||
| 12
    
        almarbam 16.05.13✎ 10:54 | 
        Нет, проводки в регистрах нет.     | |||
| 13
    
        Мимохожий Однако 16.05.13✎ 10:56 | 
        (12)Переведи     | |||
| 14
    
        palpetrovich 16.05.13✎ 10:56 | 
        (5) - это пять! :)     | |||
| 15
    
        salvator 16.05.13✎ 11:11 | 
        (14) - а это четырнадцать :)     | |||
| 16
    
        almarbam 16.05.13✎ 11:32 | 
        Посидел с бубном, получилось такое чудо юдо.
  ВЫБРАТЬ Продажа.КА КАК КА, ПродажаТовары.Товар, МАКСИМУМ(Продажа.Дата) КАК Дата ИЗ Документ.Продажа.Товары КАК ПродажаТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа КАК Продажа ПО ПродажаТовары.Ссылка = Продажа.Ссылка СГРУППИРОВАТЬ ПО Продажа.КА, ПродажаТовары.Товар ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажа.КА КАК КА, ПродажаТовары.Товар, ПродажаТовары.Сумма, Продажа.Ссылка, МАКСИМУМ(Продажа.Дата) КАК Дата, Продажа.НачислятьНДС, Продажа.НДСВСумме, ПродажаТовары.СуммаНДС, ВЫБОР КОГДА Продажа.НачислятьНДС = ИСТИНА И Продажа.НДСВСумме = ЛОЖЬ ТОГДА ПродажаТовары.Сумма + ПродажаТовары.СуммаНДС ИНАЧЕ ПродажаТовары.Сумма КОНЕЦ КАК Сумма ПОМЕСТИТЬ йцу ИЗ Документ.Продажа.Товары КАК ПродажаТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа КАК Продажа ПО ПродажаТовары.Ссылка = Продажа.Ссылка СГРУППИРОВАТЬ ПО Продажа.Ссылка, ПродажаТовары.Сумма, Продажа.КА, ПродажаТовары.Товар, ПродажаТовары.СуммаНДС, Продажа.НачислятьНДС, Продажа.НДСВСумме Как цену вывести теперь из второй таблицы? | |||
| 17
    
        AlexITGround 16.05.13✎ 11:46 | 
        (16) ты определись, тебе с максимальной Ценой товара или же все-таки с Договором от последней продажи, или же с Договором от последней ДатыДоговора?     | |||
| 18
    
        AlexITGround 16.05.13✎ 11:47 | 
        +17, а вдруг вы дешевле ему продавать начнете?     | |||
| 19
    
        almarbam 16.05.13✎ 11:47 | 
        с Договором от последней продажи     | |||
| 20
    
        salvator 16.05.13✎ 11:48 | 
        Выбирай напрямую из табличной части, нафига соединять?     | |||
| 21
    
        almarbam 16.05.13✎ 11:52 | 
        Потому что мне нужен список товаров проданных Каждому КА и стоимость последней продажи. Не забывай что можно продать товар1 за 20рублей от 21.01.2000 и товар1 за 50рублей от 21.12.2012. Нужно что бы вывелось именно последняя цена на этот товар.     | |||
| 22
    
        almarbam 16.05.13✎ 11:52 | 
        Или покажи пример как ты это видишь без соединения.     | |||
| 23
    
        salvator 16.05.13✎ 11:54 | 
        ВЫБРАТЬ
  ПродажаТовары.Ссылка.КА КАК КА, ПродажаТовары.Товар, МАКСИМУМ(ПродажаТовары.Ссылка.Дата) КАК Дата ИЗ Документ.Продажа.Товары КАК ПродажаТовары СГРУППИРОВАТЬ ПО ПродажаТовары.Ссылка.КА, ПродажаТовары.Товар | |||
| 24
    
        almarbam 16.05.13✎ 11:57 | 
        И где тут цена?     | |||
| 25
    
        salvator 16.05.13✎ 11:58 | 
        (24) Я тебе лишь указал на ошибку в тексте запроса, который ты привел.     | |||
| 26
    
        almarbam 16.05.13✎ 12:00 | 
        Спасибо, но соть собственно проблема не в этом.     | |||
| 27
    
        almarbam 16.05.13✎ 12:00 | 
        Суть проблемы*     | |||
| 28
    
        sapphire 16.05.13✎ 12:02 | 
        И чо? В чем проблема? Не умеет писать соединения по неравенству?     | |||
| 29
    
        almarbam 16.05.13✎ 12:05 | 
        Я не мостак в запросах. Поэтому и обратился.     | |||
| 30
    
        AlexITGround 16.05.13✎ 12:09 | 
        (24) Добавь одну строчку в запросе с  Ценой и все     | |||
| 31
    
        almarbam 16.05.13✎ 12:43 | 
        Если просто добавить Цену то тогда в результате получится один и тот же товар несколько раз с разными ценами.     | |||
| 32
    
        almarbam 16.05.13✎ 12:52 | 
        И все же как к 
  ВЫБРАТЬ Продажа.КА, ПродажаТовары.Товар, МАКСИМУМ(Продажа.Ссылка) КАК Ссылка ИЗ Документ.Продажа.Товары КАК ПродажаТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа КАК Продажа ПО ПродажаТовары.Ссылка = Продажа.Ссылка СГРУППИРОВАТЬ ПО Продажа.КА, ПродажаТовары.Товар Прицепить цену исходя из Продажи? | |||
| 33
    
        salvator 16.05.13✎ 12:52 | 
        ВЫБРАТЬ
  Док.Контрагент, МАКСИМУМ(Док.Дата) ИЗ Документ.ТвойДокумент КАК Док СГРУППИРОВАТЬ ПО Док.Контрагент Помести это в ВТ Далее запрос по документам с соединением с ВТ по контрагенту и дате, выдергивай цену. Все. | |||
| 34
    
        almarbam 16.05.13✎ 13:15 | 
        Сможешь привести полный пример? Что то не получается     | |||
| 35
    
        palpetrovich 16.05.13✎ 13:43 | 
        (34) дык, все-же написали уже
  ВЫБРАТЬ ПродажаТовары.Ссылка.КА КАК КА, ПродажаТовары.Товар, Сумма(ПродажаТовары.Цена) КАК Цена, МАКСИМУМ(ПродажаТовары.Ссылка.Дата) КАК Дата ИЗ Документ.Продажа.Товары КАК ПродажаТовары СГРУППИРОВАТЬ ПО ПродажаТовары.Ссылка.КА, ПродажаТовары.Товар | |||
| 36
    
        almarbam 16.05.13✎ 13:45 | 
        (35) Проблема в том что не не нужна сумма цены, мне нужна последняя цена продажи     | |||
| 37
    
        Лирик 16.05.13✎ 13:45 | 
        (35) "Сумма(ПродажаТовары.Цена) КАК Цена" это сильно. (34) Не делай так     | |||
| 38
    
        palpetrovich 16.05.13✎ 13:52 | 
        (37) млин :)     | |||
| 39
    
        hhhh 16.05.13✎ 13:55 | 
        (36)  МАКСИМУМ(ПродажаТовары.Цена) КАК Цена,     | |||
| 40
    
        Лирик 16.05.13✎ 13:56 | 
        (39) Еще один :( А подумать?
  Как я понял из вышесказанного нужно что то, что то вроде этого: ВЫБРАТЬ ВложенныйЗапрос.Товар КАК Товар, ВложенныйЗапрос.Дата КАК Дата, ВложенныйЗапрос1.Цена КАК Цена ИЗ (ВЫБРАТЬ ПродажаТовары.Товар КАК Товар, МАКСИМУМ(ПродажаТовары.Ссылка.Дата) КАК Дата ИЗ Документ.Продажа.Товары КАК ПродажаТовары СГРУППИРОВАТЬ ПО ПродажаТовары.Товар ) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПродажаТовары.Ссылка.Дата КАК Дата, ПродажаТовары.Товар КАК Товар, ПродажаТовары.Цена КАК Цена ИЗ Документ.Продажа.Товары КАК ПродажаТовары) КАК ВложенныйЗапрос1 ПО ВложенныйЗапрос.Товар= ВложенныйЗапрос1.Товар И ВложенныйЗапрос.Дата = ВложенныйЗапрос1.Дата | |||
| 41
    
        palpetrovich 16.05.13✎ 13:58 | 
        (39) а зачем ему МАКСИМУМ цены?
  (37) так че не так в (35) ? | |||
| 42
    
        hhhh 16.05.13✎ 13:58 | 
        (40) чего подумать? сам подумай. Автору именно нужна максимальная цена, хотя он и другое написал. А твой запрос выдаст бред, если допустим последнее по дате продали брак или дяде васе с большой скидкой.     | |||
| 43
    
        Лирик 16.05.13✎ 14:00 | 
        Автору нужна " Нужно что бы вывелось именно последняя цена на этот товар."
  ! | |||
| 44
    
        hhhh 16.05.13✎ 14:01 | 
        (43) это он так думает. А на самом деле нет.     | |||
| 45
    
        palpetrovich 16.05.13✎ 14:02 | 
        (43) по-ходу не только, еще последняя цена на этот товар именно этому контрагенту     | |||
| 46
    
        almarbam 16.05.13✎ 14:09 | 
        (42) Если бы мне нужна была максимальная цена, то я бы не задал бы вопрос о том как вывести последнюю цену продажи.     | |||
| 47
    
        Лирик 16.05.13✎ 14:17 | 
        (42) А если менеджер нашел лоха и продал ему с большой наценкой? Мой запрос решает поставленную задачу и показыват(0) принцип объясненный в (33), второе вложение я сделал для наглядности. Естественно будут траблы, если в одном документе один и тот же товар с разной ценой или, например, два документа с одинаковой датой, но это все второстепенно, ибо объясняем принцип решения конкретной задачи.     | |||
| 48
    
        ramil_msk 16.05.13✎ 14:20 | 
        ВЫБРАТЬ
  ПродажаТовары.Ссылка.КА КАК КА, ПродажаТовары.Товар, МАКСИМУМ(ПродажаТовары.Ссылка.Дата) КАК Дата ПОМЕСТИТЬ ВТ ИЗ Документ.Продажа.Товары КАК ПродажаТовары СГРУППИРОВАТЬ ПО ПродажаТовары.Товар, ПродажаТовары.Ссылка.КА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.КА, ВТ.Товар, МАКСИМУМ(ПродажаТовары.Цена) КАК Цена ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа.Товары КАК ПродажаТовары ПО ВТ.Дата = ПродажаТовары.Ссылка.Дата СГРУППИРОВАТЬ ПО ВТ.Товар, ВТ.КА | |||
| 49
    
        almarbam 16.05.13✎ 14:22 | 
        (47) И тут начался бред ...
  Может кто то мне просто привести пример как к ВЫБРАТЬ Продажа.КА, ПродажаТовары.Товар, МАКСИМУМ(Продажа.Ссылка) КАК Ссылка ИЗ Документ.Продажа.Товары КАК ПродажаТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.Продажа КАК Продажа ПО ПродажаТовары.Ссылка = Продажа.Ссылка СГРУППИРОВАТЬ ПО Продажа.КА, ПродажаТовары.Товар Прикрутить цену исходя из полученного договора? Цена не максимальная и не средняя и не минимальная, она точно такая как в полученном договоре. | |||
| 50
    
        almarbam 16.05.13✎ 14:26 | 
        Для наглядности что получилось в данный момент из запроса.
  Это КА1 Товар1 Договор1 КА1 Товар2 Договор2 КА1 Товар3 Договор3 КА2 Товар4 Договор4 КА2 Товар2 Договор5 КА2 Товар3 Договор6 | |||
| 51
    
        palpetrovich 16.05.13✎ 14:26 | 
        (49) а где у тебя "договор"? ...я к примеру - не вижу :)
  а вот из документа "Продажа" - я те показал в (35) и это, Сумма(ПродажаТовары.Цена) КАК Цена, - это вовсе не "сумма цены" :) | |||
| 52
    
        Лирик 16.05.13✎ 14:27 | 
        (49) А вот это уже наглость. Если бред - варись сам.     | |||
| 53
    
        Лирик 16.05.13✎ 14:28 | 
        (51) Это именно сумма цен, будут три продажи - будет сумма трех цен     | |||
| 54
    
        ramil_msk 16.05.13✎ 14:32 | 
        (48) Добавь условие что документы проведены. И если в один день цены на товар одинаковые, то результат должен быть верным.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |