|
Проблем с запросом. | ☑ | ||
---|---|---|---|---|
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) Добавь условие что документы проведены. И если в один день цены на товар одинаковые, то результат должен быть верным.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |