07.09.2006, 10:26 | #1 |
Участник
|
Сортировка строк фактуры
Добрый день! Подскажите как можно сделать следующее: при печати фактуры осуществить сортировку ее строк в соответствии с расположением строк в заказе? (при печати фактуры будем считать, что заказ не изменился с момента формирования фактуры)...
|
|
07.09.2006, 10:40 | #2 |
Участник
|
использоваться индекс SalesLineIdx таблицы SalesLine?
(при этом join сделать SalesLine к FactureTrans_RU) |
|
07.09.2006, 11:21 | #3 |
Участник
|
Цитата:
Сообщение от kashperuk
использоваться индекс SalesLineIdx таблицы SalesLine?
(при этом join сделать SalesLine к FactureTrans_RU) |
|
07.09.2006, 11:28 | #4 |
Участник
|
SalesLineIdx - это индекс, который используется для отображения строк заказа в форме заказа. (можно посмотреть на датасорсе одноименном)
В нем два поля - SalesId и LineNum То есть нужно сортировать по этим полям, или же просто использовать индекс этот. Если вы это делать будуте в АОТ, то в датасорсе отчета есть узел Sorting, в нем нужно добавить этот индекс. (или поля) |
|
07.09.2006, 11:38 | #5 |
Участник
|
я использую отчет CustVendFacture_RU, в нем есть запрос, в дата сорсе запроса находится таблица фактур: FactureJour_RU к ней подцепляется FactureTrans_RU у нее в разделе sorting стят два поля ItemId и Qty.. правильно ли я понял что мне нужно к FactureTrans_RU подцепить SalseLine и добавить в узел soting поле LineNum?
|
|
07.09.2006, 11:43 | #6 |
Участник
|
Да, только придется удалить сортировку из FactureTrans_RU - ее , если нужно, можешь повесить третьим и 4ым полем на SalesLine
Потому что поля FactureTrans_RU первые будут в сортировке учавстовать. перекрой метод fetch() и посмотри запрос, который получится в результате. Допустим, до super() вставь строку box::info(this.query().dataSourceNo(1).toString()); |
|
07.09.2006, 11:45 | #7 |
Axapta
|
Цитата:
Сообщение от kashperuk
Допустим, до super() вставь строку
box::info(this.query().dataSourceNo(1).toString()); |
|
07.09.2006, 11:48 | #8 |
Участник
|
Хм. а мне больше всегда нравилось именно так запросы смотреть
de gustibus non disputande, как говориться |
|
07.09.2006, 11:56 | #9 |
Участник
|
Цитата:
Сообщение от kashperuk
Да, только придется удалить сортировку из FactureTrans_RU - ее , если нужно, можешь повесить третьим и 4ым полем на SalesLine
Потому что поля FactureTrans_RU первые будут в сортировке учавстовать. перекрой метод fetch() и посмотри запрос, который получится в результате. Допустим, до super() вставь строку box::info(this.query().dataSourceNo(1).toString()); PHP код:
|
|
07.09.2006, 12:02 | #10 |
Участник
|
а заказ у вас не модифицировался? Может просто в заказе у вас другая сортировка теперь?
Попробуйте вместо индекса поля добавить, может поможет. |
|
07.09.2006, 12:03 | #11 |
Участник
|
Обратите внимание на метод init датасорца отчета, там идет малопонятно кому нужная групировка по множеству полей(ИМХО нужных там несколько или я что-то не понимаю )...возможно дело в ней.
|
|
07.09.2006, 12:20 | #12 |
Участник
|
Посмотрел таки отчет.
Метод fetch перекрыт. Если вызывается отчет откуда-то, то выполняется след. код: Код: while select sum(LineAmount), sum(Qty), sum(Excise), sum(VAT), sum(TaxAmount) from tmpTrans group by FactureId, Price, FactureLineType, Module, ItemName, Unit, VATValue, Country, ItemId, InventGTDId, InventDimId, ExchRate { FactureTrans.data(tmpTrans); element.send(tmpTrans); } ret = true; если же вызывается просто (из Главного Меню), то уже выполниться ваш запрос, и с учетом того, что написал Lemming |
|