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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2010, 11:47   #1  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Проблема вывода CreatedTime в отчет
Коллеги,

В отчет надо вывести поле SalesTable.CreatedTime, однако если указываешь например
....
timeofday Time
....
curTime = salesTable.CreatedTime

то возвращает 0

Подскажите, что ж неправильно то?

Заранее спасибо

DAX 4.0, kernel 4.0.2503.454
Старый 20.04.2010, 11:59   #2  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
У вас свойство "CreatedTime" включено на таблице SalesTable в AOT?
Если включено, то может быть тогда запись была создана до того, как это свойство включили.
Поле SalesTable.CreatedTime начинает заполняться только после включения свойства.
Старый 20.04.2010, 12:02   #3  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Да, включено. И на свежих записях тоже самое
Старый 20.04.2010, 12:04   #4  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
у вас переменная объявлена с именем Time
а присваиваете вы его другой переменной:
curTime = salesTable.CreatedTime
Старый 20.04.2010, 12:06   #5  
Ulyxess is offline
Ulyxess
Участник
 
13 / 10 (1) +
Регистрация: 06.04.2010
Sorry, переменная, естественно, называется curTime и объявляется

timeofday curTime
Старый 20.04.2010, 12:11   #6  
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   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
И еще покажите, как у вас переменная SalesTable инициализируется - какой запрос или метод find?
Старый 20.04.2010, 12:15   #8  
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   #9  
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   #10  
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, 15:34   #11  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
Посмотрите что у вас в SalesTable перед присвоением!

После строчки
X++:
curTime = salesTable.CreatedTime;
добавьте
X++:
    info(strfmt('SalesId = %1\nCreatedTime = %2\ncurTime = %3',salesTable.SalesId,time2str(salesTable.createdTime,1,1),int2str(curTime)));
Думаю что-то да прояснится...
А вообще breakpoint; и вперёд... )
__________________
Что сломалось не знаем, но уже немного подчинили...

Последний раз редактировалось hated8; 20.04.2010 в 16:01.
Теги
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, время: 10:24.