|
Запрос для получения цен | ☑ | ||
---|---|---|---|---|
0
elevika
21.06.14
✎
18:48
|
Помогите, плизз, с запросом.
УТ 10. Есть массив с набором номенклатуры. Необходимо для этой номенклатуры получить последние цены покупки, независимо от контрагента. В простом запросе к СрезуПоследних: ВЫБРАТЬ ЦеныКонтрагентов.Номенклатура КАК Номенклатура, ЦеныКонтрагентов.Цена ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних( &ТекДата, ТипЦен = &ТипЦен И Номенклатура В (&МасНоменклатура)) КАК ЦеныКонтрагентов Результат выдается с учетом Контрагентов, т.е. на каждую номенклатуру может быть несколько цен (от разных поставщиков). Как из |
|||
1
Wobland
21.06.14
✎
18:48
|
сгруппи
|
|||
2
elevika
21.06.14
✎
18:49
|
Не дописала ))
Как избавиться выбрать цену с последним периодом? |
|||
3
Wobland
21.06.14
✎
18:50
|
(2) а последний период - это что?
|
|||
4
Wobland
21.06.14
✎
18:51
|
и что с этим потом делать? и как избавиться от дублей после запроса к реальной таблице с максимумом по периоду?
|
|||
5
elevika
21.06.14
✎
18:53
|
(3) последний период - наибольшая дата
(4) вот и я спрашиваю: КАК? )) Как получить нужные цены? |
|||
6
Wobland
21.06.14
✎
18:54
|
(5) максимальная дата..
20140505 - гвоздь - 80 20140505 - гвоздь - 120 какой гвоздь брать? |
|||
7
elevika
21.06.14
✎
18:55
|
(6) такой проблемы не будет, т.к. поступления в один день могут быть только от одного поставщика и значит по одной цене
|
|||
8
Wobland
21.06.14
✎
18:55
|
так-то запросить максимальные периоды и номенклатуры из регистра, соединить потом с регистром по периоду и номенклатуре, взять цену
|
|||
9
Wobland
21.06.14
✎
18:56
|
(7) не убедила
|
|||
10
User_Agronom
21.06.14
✎
18:59
|
(6) 100 руб. Средне арифметическое))
|
|||
11
elevika
21.06.14
✎
18:59
|
(9) это не важно )) просто хорошо знаю нашу специфику
(8) а вот с этого места поподробнее (фигово у меня с запросами)... "соединить потом с регистром по периоду и номенклатуре" - это как? |
|||
12
Wobland
21.06.14
✎
19:03
|
(11) обратно не убедила. произнеси это в монитор, может, тебе поверят
выбрать максимум(период), номенклатура поместить хламидомонада из РС сгруппировать по номенклатура; выбрать номенклатура, цена из хламидомонада соединение РС по номенклатуре и периоду |
|||
13
elevika
21.06.14
✎
19:05
|
(12) спасибо, пошла пробовать
|
|||
14
Wobland
21.06.14
✎
19:05
|
(12) где период<&задуманного
|
|||
15
elevika
21.06.14
✎
19:07
|
(14) а в параметрах к РС нельзя задать период?
|
|||
16
Wobland
21.06.14
✎
19:10
|
(15) нет
|
|||
17
rphosts
21.06.14
✎
19:18
|
(16)ээээ, с чего это? Непериодический?
|
|||
18
Wobland
21.06.14
✎
19:19
|
(17) виртуальный таблиц тут не спасёт
|
|||
19
rphosts
21.06.14
✎
19:24
|
(2) пакетный запрос, план:
1. отбираем цены из среза. 2.Отбираем из 1. максимальную дату для каждой номенклатуры (группировка по номенклатуре, агрегируемые полы: Дата (функция максимум)). 3.отбираем из 1. только те строки для которых пара Номенклатура + Дата есть в 2. Как избавиться от тех случаев кода по какой-либо номенклатуре есть в 1 день несколько записей от нескольких поставщиков - решайте сами (есть разные варианты для разных задач) |
|||
20
rphosts
21.06.14
✎
19:25
|
поля = поля
|
|||
21
Wobland
21.06.14
✎
19:26
|
(19) а как ты период из среза получишь?
|
|||
22
rphosts
21.06.14
✎
19:32
|
(21)в смысле? РС периодический? Тебе религия запрещает из него период получить?
УТ под рукой нет, но думаю не принципиально... получу запросом, типа так: http://s61.radikal.ru/i171/1406/47/3436128bd0a2.png |
|||
23
Wobland
21.06.14
✎
19:36
|
ну может, крайняя рюмка была лишней ;)
|
|||
24
rphosts
21.06.14
✎
19:37
|
(23) тебя на столбак точно кто-то покусал
|
|||
25
Wobland
21.06.14
✎
19:49
|
(24) там был беркут
но я за объединение пунктов 1 и 2 - получится как у меня, только из среза ;) |
|||
26
rphosts
21.06.14
✎
19:51
|
(25) если их объедитнять, то в 3. снова лезть в базу... а тут в 1ю всё что нужно прочитали в память и там дальше кручу-верчу-обмануть хочу...
|
|||
27
elevika
21.06.14
✎
20:34
|
Спасибо, все получилось! Заодно немного разобралась с пакетным запросом ))
|
|||
28
elevika
21.06.14
✎
20:56
|
Еще один вопрос. Если нужно условие отбора по реквизиту через точку РегСв.ТипЦен.ТипЦенНоменклатуры. Как лучше:
- через параметры РегСв. - через условие ГДЕ ?? |
|||
29
Wobland
21.06.14
✎
20:57
|
я уже сегодня пел эту песню
v8: Запрос по остаткам в УТ 10.3 |
|||
30
elevika
21.06.14
✎
20:59
|
(29) ОК, почитаю
|
|||
31
elevika
21.06.14
✎
21:07
|
(29) Разницу между параметрами и ГДЕ поняла. Вопрос в другом: обращаюсь не к ревизиту РегСв., а к реквизиту реквизита (РегСв.ТипЦен.ТипЦенНоменклатуры). Запросу без разницы?
|
|||
32
Wobland
21.06.14
✎
21:12
|
без разницы. можно я не буду рассказывать о том, что это получается дополнительный джойн на уровне СУБД?
а что это за ерундень такая - ТипЦен.ТипЦенНоменклатуры? |
|||
33
elevika
21.06.14
✎
21:17
|
(32) Вот про этот джоин я и спрашивала ))
ТипЦен - Спр. ТипыЦенКонтрагентов, у него есть рекв. ТипЦенНоменклатуры. Т.е. в спр. для каждого Контр. отдельная запись. А нам надо независимо от Контрагентов все с ТипомЦенНоменклатуры=ОсновнаяЦенаПокупки |
|||
34
elevika
21.06.14
✎
21:19
|
(33) ТипЦенНомекнлатуры - это тоже спр.
|
|||
35
Wobland
21.06.14
✎
21:19
|
тип цен типа цен - это безусловно прекрасно
|
|||
36
Wobland
21.06.14
✎
21:22
|
джойн.. на семёрке ты прямых запросов не писала, быстро вправляют мозг ;) возьмём SQL. не умеет он через точку обращаться. значит, надо ещё таблицу подтягивать и уже из неё получать реквизит реквизита. а если тип составной?
|
|||
37
elevika
21.06.14
✎
21:26
|
(36) Да, я примерно представляю себе эту схему.. когда оочень давно писала скульные запросы, но простенькие, сложных не требовалось... тем не менее схему представляю, потому и спрашивала, в каком месте лучше - в параметрах или в условиях
|
|||
38
Wobland
21.06.14
✎
21:29
|
нет больше вопросов? тогда с тебя пирожок с луком и яйцом, традиционные когда-то 20 поцелуев в прошлом ;)
|
|||
39
elevika
21.06.14
✎
21:32
|
(38) я тебя поцелую... потом... если захочешь...©
Вопросов пока больше нет. Спасибо за помощь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |