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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2010, 12:06   #1  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Sorry, переменная, естественно, называется curTime и объявляется

timeofday curTime
Старый 20.04.2010, 12:11   #2  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
посмотрите в обозреватале таблицы SalesTable для данного конкретного заказа, у которого в отчет 0 выводится - поле CreatedTime заполнено?
Если заполнено, то в месте, где выводится это поле в отчет, выведите еще в инфолог: info(int2str(curTime)) - должно быть целое число >0.
Если все правильно, то что-то не так в самом отчете.
Старый 20.04.2010, 12:12   #3  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
И еще покажите, как у вас переменная SalesTable инициализируется - какой запрос или метод find?
Старый 20.04.2010, 12:15   #4  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Значение для строки заказа есть. Инфолог выводит 0.

Вот кусок кода отчета:

if (!firstRow)
{
//Выводим строку для предыдущей группы
s += curRow
+ colsDelim + strfmt("%1", decround(curWeight, 2))
+ colsDelim + strfmt("%1", decround(curConfirmedWeight, 2))
+ colsDelim + strfmt("%1", decround(curWeightBrutto, 2))
+ colsDelim + strfmt("%1", decround(curVolume, 2))
+ colsDelim + strfmt("%1", decround(curPalletQty, 2))
+ colsDelim + strfmt("%1", decround(curAmount, 2))
+ colsDelim + strfmt("%1", time2str(curTime, 99, 1));

allWeight += curWeight;
allConfirmedWeight += curConfirmedWeight;
allWeightBrutto += curWeightBrutto;
allVolume += curVolume;
allPalletQty += curPalletQty;
allAmount += curAmount;
s += rowsDelim;
}
firstRow = false;
curRow = int2str(i)
+ colsDelim + excelExp.formatValue(salesTable.SalesId)
+ colsDelim + excelExp.formatValue(salesTable.PurchOrderFormNum)
+ colsDelim + excelExp.formatValue(salesTable.CustAccount)
+ colsDelim + excelExp.formatValue(CustTable.NameAlias)
+ colsDelim + excelExp.formatValue(salesTable.DeliveryAddress)
+ printInventLocation();
// valio shol 09/05/14

curWeight = salesLine.QtyOrdered * inventTable.NetWeight;
curConfirmedWeight = confirmInventQty * inventTable.NetWeight;
curWeightBrutto = confirmInventQty * (inventTable.NetWeight + inventTable.TaraWeight);
curVolume = confirmInventQty * ((inventTable.Height/1000) * (inventTable.Width/1000) * (inventTable.Depth/1000));
curPalletQty = inventTable.standardPalletQuantity ?
(decround(confirmInventQty/inventTable.standardPalletQuantity,2)) : 0;
curAmount = custConfirmjour.ConfirmAmount;
curTime = salesTable.CreatedTime;
info(int2str(curTime));
}
Старый 20.04.2010, 12:20   #5  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Покажите select, который выбирает данные из SalesTable.
Может, у вас там перечислены отдельные поля, и среди них нет CreatedTime.
Старый 20.04.2010, 12:20   #6  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
void makeReport()
{
Query query = new Query();
QueryBuildDataSource qbdsSalesTable, qbdsSalesLine;

QueryRun qrRun;
int i;

SalesTable salesTable;
CustTable custTable;
SalesLine salesLine;
InventTable inventTable;
Старый 20.04.2010, 12:32   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Покажите весь код от начала метода до строки
X++:
 While(qrRun.next())
))))
Старый 20.04.2010, 12:49   #8  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Чтобы не париться, предлагаю следующий способ:
Объявляете новую переменную с типом SalesTable
X++:
SalesTable      localSalesTable;
далее, в месте, где у вас идет присвоение, написать такой код
X++:
localSalesTable = salesTable::find(salesTable.SalesId);
curTime = localSalesTable.CreatedTime;
info(int2str(curTime));
у вас скорее всего какая-то группировка идет и не указана группировка по CreatedTime
За это сообщение автора поблагодарили: Ulyxess (1).
Старый 20.04.2010, 15:18   #9  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Спасибо, Ace, помогла новая переменная

А смысл можете объяснить? Какой группировки не было?
Старый 20.04.2010, 12:54   #10  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Покажите весь код от начала метода до строки
X++:
 While(qrRun.next())
а ещё лучше добавьте перед этой строкой вот такой код
X++:
info(qrRun.query().DataSourceNo(1).toString());
И результат запостите сюда.
Теги
query, select, field

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема некорректного вывода данных в EXCEL Dark Light DAX: Программирование 4 30.06.2009 14:43
Вписать динамический отчет в страницу (DAX 4.0) Qaz Qwerty DAX: Программирование 2 17.07.2008 05:46
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
PDF отчет. Проблема генерации. Dozer DAX: Программирование 2 29.06.2007 17:28
Возникла проблема с получением имени файла при создании своего канала вывода отчетов. oleg_kap DAX: Программирование 3 06.06.2006 14:12

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:57.