13.12.2013, 20:13 | #1 |
Участник
|
Добавить хитрый фильтр в Query
Вопрос в следующем.
Есть табличка с перечислением операций. У одной номенклатуры может быть неопределённое количество операций, пусть номенклатура = номерМашины, а операция = это какое-то действие в определённом городе. Все операции друг от друга отличаются названием и датой операции. Как создать range (а может и не range) чтобы можно было проверить на следующую операцию. То есть например покажи такие строки у которых следующая операция = погрузка? У меня пока только идея использовать displayMethod на табличке, но вот не знаю получиться ли подвязать его к range (сейчас проверю). Может есть какой-то другой подход? |
|
13.12.2013, 21:16 | #2 |
Участник
|
По дисплейному методу фильтровать не получится. Для задания критерия по "следующей" операции нужно присоеденить (join) к таблице операций саму себя.
X++: Operation Operation; Operation OperationNext; // второй курсор на ту же таблицу while select Operation join OperationNext where OperationNext.ItemId == Operation.ItemId && OperationNext.Num == Operation.NextNum && OperationNext.Name == "Погрузка" { } |
|
|
За это сообщение автора поблагодарили: Pustik (10). |
14.12.2013, 07:10 | #3 |
Участник
|
Спасибо, да так должно получиться ... Но вот проблема в том что нет поля nextOperation в operation.
Но теперь при таком подходе думаю создать метод nextOperation() и вызвать его при join. Думаю должно получиться , поправьте если я не прав. |
|
14.12.2013, 07:13 | #4 |
Участник
|
operation.nextOperation я имел в виду что это - operation.nextNum. Если ссылаться на пример от S.Kuskov
|
|
14.12.2013, 11:29 | #5 |
Участник
|
Метод не поможет, нужно именно поле. В Аксапте нельзя сортировать, фильтровать и использовать в связях табличные методы. Дело в том что методы вычисляются на уровне AOS, а работа с запросами происходит на уровне БД.
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
16.12.2013, 08:14 | #6 |
Участник
|
Чтобы сделать правильный запрос, нужно ответить на вопрос, что значит "следующая операция"? возможно есть сортировка или еще что-то, что точно определит нужную строку
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Как в query добавить фильтр по аналитике (Dimension)? | 21 | |||
Быстрый способ добавить фильтр на FormDataSource | 28 | |||
фильтр в query | 4 | |||
Фильтр в Query по двум полям | 1 |
|