AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2006, 10:26   #1  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Сортировка строк фактуры
Добрый день! Подскажите как можно сделать следующее: при печати фактуры осуществить сортировку ее строк в соответствии с расположением строк в заказе? (при печати фактуры будем считать, что заказ не изменился с момента формирования фактуры)...
Старый 07.09.2006, 10:40   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
использоваться индекс SalesLineIdx таблицы SalesLine?
(при этом join сделать SalesLine к FactureTrans_RU)
Старый 07.09.2006, 11:21   #3  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Цитата:
Сообщение от kashperuk
использоваться индекс SalesLineIdx таблицы SalesLine?
(при этом join сделать SalesLine к FactureTrans_RU)
Т.е в запросе отчета к FactureTrans_RU прицепить SalesLine... а что значит использовать индекс SalesLineIdx? Можно подробнее у меня мало опыта!
Старый 07.09.2006, 11:28   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
SalesLineIdx - это индекс, который используется для отображения строк заказа в форме заказа. (можно посмотреть на датасорсе одноименном)
В нем два поля - SalesId и LineNum
То есть нужно сортировать по этим полям, или же просто использовать индекс этот.

Если вы это делать будуте в АОТ, то в датасорсе отчета есть узел Sorting, в нем нужно добавить этот индекс. (или поля)
Старый 07.09.2006, 11:38   #5  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
я использую отчет CustVendFacture_RU, в нем есть запрос, в дата сорсе запроса находится таблица фактур: FactureJour_RU к ней подцепляется FactureTrans_RU у нее в разделе sorting стят два поля ItemId и Qty.. правильно ли я понял что мне нужно к FactureTrans_RU подцепить SalseLine и добавить в узел soting поле LineNum?
Старый 07.09.2006, 11:43   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Да, только придется удалить сортировку из FactureTrans_RU - ее , если нужно, можешь повесить третьим и 4ым полем на SalesLine
Потому что поля FactureTrans_RU первые будут в сортировке учавстовать.

перекрой метод fetch() и посмотри запрос, который получится в результате.
Допустим, до super() вставь строку
box::info(this.query().dataSourceNo(1).toString());
Старый 07.09.2006, 11:45   #7  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от kashperuk
Допустим, до super() вставь строку
box::info(this.query().dataSourceNo(1).toString());
Только вот "box::" можно убрать. Достаточно просто "info(...)".
Старый 07.09.2006, 11:48   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Хм. а мне больше всегда нравилось именно так запросы смотреть

de gustibus non disputande, как говориться
Старый 07.09.2006, 11:56   #9  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Цитата:
Сообщение от kashperuk
Да, только придется удалить сортировку из FactureTrans_RU - ее , если нужно, можешь повесить третьим и 4ым полем на SalesLine
Потому что поля FactureTrans_RU первые будут в сортировке учавстовать.

перекрой метод fetch() и посмотри запрос, который получится в результате.
Допустим, до super() вставь строку
box::info(this.query().dataSourceNo(1).toString());
получилось следующее:
PHP код:
SELECT FROM FactureJour_RU WHERE FactureJour_RU.Module=FactureJour_RU.Module AND FactureJour_RU.FactureId=FactureJour_RU.FactureId JOIN FROM FactureTrans_RU WHERE FactureJour_RU.FactureId FactureTrans_RU.FactureId AND FactureJour_RU.Module FactureTrans_RU.Module JOIN FROM SalesLine USING INDEX SalesLineIdx WHERE FactureTrans_RU.InventTransId SalesLine.InventTransId AND FactureTrans_RU.SalesPurchId SalesLine.SalesId 
но сортировка все равно не соответствует проядку строк в заказе
Старый 07.09.2006, 12:02   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
а заказ у вас не модифицировался? Может просто в заказе у вас другая сортировка теперь?
Попробуйте вместо индекса поля добавить, может поможет.
Старый 07.09.2006, 12:03   #11  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Обратите внимание на метод init датасорца отчета, там идет малопонятно кому нужная групировка по множеству полей(ИМХО нужных там несколько или я что-то не понимаю )...возможно дело в ней.
Старый 07.09.2006, 12:20   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Посмотрел таки отчет.
Метод 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
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сортировка и сравнение строк Perc DAX: Программирование 14 25.08.2010 20:06
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Пользовательский генератор строк-перечислений...- 2: Доп.вкладка для SysQueryForm Gustav DAX: База знаний и проекты 1 04.05.2007 18:04
Судьба НДС по конкретному ОС внутри счета-фактуры Gustav DAX: Функционал 9 06.04.2006 14:58
БАГ: копирование строк накладных в новый заказ Антон Солдатов DAX: Функционал 2 03.12.2004 09:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.