|
возможно ли наложить агрегатную функцию на выбор? | ☑ | ||
---|---|---|---|---|
0
Gorr
25.09.14
✎
17:14
|
Не получается конструкция типа максимум(выбор когда... тогда...). Только через временную таблицу?
|
|||
1
hhhh
25.09.14
✎
17:16
|
получается
|
|||
2
DGorgoN
25.09.14
✎
17:16
|
(0) А ты пробовал?
|
|||
3
Fragster
гуру
25.09.14
✎
17:16
|
нормально работает
|
|||
4
Gorr
25.09.14
✎
17:56
|
Вот так не работает:
выбрать т.Номенклатура, максимум(выбор когда т.Номенклатура В ИЕРАРХИИ (&Готовая) тогда "Готовая" когда т.Номенклатура в ИЕРАРХИИ (&Привоз) тогда "Привоз" когда т.Номенклатура в ИЕРАРХИИ (&Индивидуалка) тогда "Индивидуалка" когда т.Номенклатура в ИЕРАРХИИ (&ЛДСП) тогда "ЛДСП" когда т.Номенклатура в ИЕРАРХИИ (&КаменныеСтолешницы) тогда "КаменныеСтолешницы" когда т.Номенклатура в ИЕРАРХИИ (&Фурнитура) тогда "Фурнитура" конец) как ГруппаНоменклатуры, Ссылка как ЗаказПокупателя поместить ГруппыВЗаказахВрем из Документ.ЗаказПокупателя.Товары т внутреннее соединение ОсновнаяТаблица как от по т.Ссылка = от.ЗаказПокупателя сгруппировать по ЗаказПокупателя |
|||
5
piter3
25.09.14
✎
17:58
|
(4)ээээ а смысл максимума на строку?
|
|||
6
Gorr
25.09.14
✎
17:58
|
а вот так работает:
выбрать т.Номенклатура, (выбор когда т.Номенклатура В ИЕРАРХИИ (&Готовая) тогда "Готовая" когда т.Номенклатура в ИЕРАРХИИ (&Привоз) тогда "Привоз" когда т.Номенклатура в ИЕРАРХИИ (&Индивидуалка) тогда "Индивидуалка" когда т.Номенклатура в ИЕРАРХИИ (&ЛДСП) тогда "ЛДСП" когда т.Номенклатура в ИЕРАРХИИ (&КаменныеСтолешницы) тогда "КаменныеСтолешницы" когда т.Номенклатура в ИЕРАРХИИ (&Фурнитура) тогда "Фурнитура" конец) как ГруппаНоменклатуры, Ссылка как ЗаказПокупателя поместить ГруппыВЗаказахВрем из Документ.ЗаказПокупателя.Товары т внутреннее соединение ОсновнаяТаблица как от по т.Ссылка = от.ЗаказПокупателя ; выбрать ЗаказПокупателя, минимум(ГруппаНоменклатуры) ГруппаНоменклатуры поместить ГруппыВЗаказах из ГруппыВЗаказахВрем Сгруппировать по ЗаказПокупателя |
|||
7
Gorr
25.09.14
✎
17:59
|
(5) а смысл в том что по одному заказу могут продать товар только из одной группы/категории и соотв оплату за это получат.
|
|||
8
Fragster
гуру
25.09.14
✎
18:00
|
все из-за В ИЕРАРХИИ
|
|||
9
Gorr
25.09.14
✎
18:05
|
а всегда какая-нить хрень возникнет там где нужно(
|
|||
10
samozvanec
25.09.14
✎
18:05
|
(6) почем у вас индивидуалки?
|
|||
11
Gorr
25.09.14
✎
18:07
|
делают мебель под заказ
|
|||
12
samozvanec
25.09.14
✎
18:12
|
(11) оригинально!
|
|||
13
Gorr
26.09.14
✎
10:11
|
кстати, производительность решения весьма небыстрая. есть ощущение, что через top можно как-то сделать, но пока только ощущение. может кто-нить может увидеть сей путь сразу?
|
|||
14
Gorr
26.09.14
✎
10:20
|
Поясню. В данном решении все строки табличной часит документа проходят проверку ВЫБОР. Поскольку все товары из табличной части заведомо из одной группы, чтобы не проверять все строки, нужно взять только первую строку и анализировать только ее...
|
|||
15
hhhh
26.09.14
✎
10:36
|
выбрать
т.Номенклатура, выбор когда т.Номенклатура В ИЕРАРХИИ (&Готовая) тогда "Готовая" когда т.Номенклатура в ИЕРАРХИИ (&Привоз) тогда "Привоз" когда т.Номенклатура в ИЕРАРХИИ (&Индивидуалка) тогда "Индивидуалка" когда т.Номенклатура в ИЕРАРХИИ (&ЛДСП) тогда "ЛДСП" когда т.Номенклатура в ИЕРАРХИИ (&КаменныеСтолешницы) тогда "КаменныеСтолешницы" когда т.Номенклатура в ИЕРАРХИИ (&Фурнитура) тогда "Фурнитура" конец как ГруппаНоменклатуры, Ссылка как ЗаказПокупателя поместить ГруппыВЗаказахВрем из Документ.ЗаказПокупателя.Товары т ГДЕ т.НомерСтроки = 1 |
|||
16
Gorr
26.09.14
✎
10:39
|
через номер это хорошо, а если бы строки были совсем однородные...
|
|||
17
Gorr
26.09.14
✎
10:41
|
1с ка не позволяет подзапросы по текущей строке выборки насколько я знаю. поправте если не прав?
|
|||
18
hhhh
26.09.14
✎
10:44
|
(16) с МАКСИМУМ у вас вообще бред получается, если строки неоднородные.
|
|||
19
Gorr
26.09.14
✎
10:45
|
+еще мысль
выбрать макс(тч.товар),тч.ссылка из тч сгруппировать по ссылка |
|||
20
Gorr
26.09.14
✎
10:49
|
(18) эт я пошутил... вообще в теории реляционных таблиц не должно быть однородности))
конечно же критерий выбора быть обязан. а уж макс мин. а топ это вредная штука для мозга)) |
|||
21
Fragster
гуру
26.09.14
✎
10:50
|
В иерархии ускоряется в разы с помощью доп. регистра
|
|||
22
Fragster
гуру
26.09.14
✎
10:52
|
мои последние 6 сообщений в получение самого верхнего родителя в справочнике
|
|||
23
Gorr
26.09.14
✎
10:53
|
а может через топ было бы быстрее отобрать строку чем через агр функцию. - определенно мне топ покоя не дает))
(21) вообще и первый вариант работает приемлимо для клиента, но как всегда хочется идеала. - интересно подробнее если можно |
|||
24
Gorr
26.09.14
✎
10:57
|
(23) да, я тоже думаю подход через вспомогательные данные очень даже и очень правильный.
|
|||
25
Gorr
26.09.14
✎
11:01
|
+ да и 1С для того регистры и придумала
|
|||
26
Жан Пердежон
26.09.14
✎
11:04
|
(24) типа храни топ родителя где где-то еще для каждой номенклатуры
|
|||
27
Gorr
26.09.14
✎
11:06
|
(26) а типа или нет, пусть каждый решает сам
|
|||
28
Serginio1
26.09.14
✎
12:04
|
||||
29
Gorr
26.09.14
✎
13:06
|
(28) благодарю - именно то, что имелось в виду.
не смотря на простоту решения через номер строки(15) вариант работает не быстрее чем изначальное решение. |
|||
30
hhhh
26.09.14
✎
13:28
|
(29) вообще СГРУППИРОВАТЬ это тормоз. Работай с номерСтроки.
|
|||
31
ssh2QQ6
26.09.14
✎
13:48
|
можно попробовать пакетный запрос:
Выбрать в таблицу заказ, номенклатура первой строки по условию заказ в заказы основной таблицы. Потом выбрать различную номенклатуру из этой таблицы - вторая таблица. Потом определить для этой таблицы номенклатуры когда Номенклатура В ИЕРАРХИИ (&Готовая) тогда "Готовая" и тд, а потом уже соединение этого результата, первой таблицы и основной таблицы |
|||
32
Gorr
26.09.14
✎
14:50
|
(29) в моем случае тормоз это "В ИЕРАРХИИ"
КСТАТИ, СГРУППИРОВАТЬ ПОВАЛЬНО использую вместо РАЗЛИЧНЫЕ. Я так понял НЕ РЕКОМЕНДУЕТЕ??? (31) пробовал предварительно собирать таблицу из заказов с номенклатурой первой строки в которой заказ встречался единожды. потому уже на это строку накладывал В ИЕРАРХИИ. вот тут и зависает. остальное не напрягает. |
|||
33
Gorr
26.09.14
✎
14:52
|
+(31) хотя идея сокращения проверок путем исключения повторных проверок одной и той же позиции кажется интересной.
|
|||
34
Serginio1
26.09.14
✎
14:52
|
(29) Для того, что бы работало быстрее, нужно выгрузить в предварительную таблицу проиндексировать, а затем уже применять запрос
v8: Подзапросы с Выбрать Первые |
|||
35
Gorr
26.09.14
✎
14:55
|
(34) думаете если проиндексировать номенклатуру во временной таблице В ИЕРАРХИИ по номенклатуре будет быстрее отрабатывать?
|
|||
36
Gorr
26.09.14
✎
14:58
|
очень сомневаюсь
|
|||
37
Serginio1
26.09.14
✎
14:58
|
34+ Этот вариант работал в старых версиях. В 82 нужно сравниваемые поля закинуть в подзапрос
v8: v8: Вcтречаем! Версия 8.2.18, вышла в релизе 8.2.18.82 + опубликована версия 8.2.18.96 |
|||
38
Serginio1
26.09.14
✎
14:59
|
(36) Почитай до конца. У меня такие конструкции работали на отборе многомиллионных прайсов по минимуме цены и максимуме количества
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |