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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.03.2009, 16:55   #1  
Alexanderrrr is offline
Alexanderrrr
Участник
Аватар для Alexanderrrr
 
54 / 19 (1) ++
Регистрация: 06.03.2009
Адрес: Саратов
Выравнивание в репортах
Добрый день, уважаемые жители королевства axforum :-)
Есть небольшая вопрос (возможно глупый).
При печати счет-фактуры в случае, если счет-фактура на аванс, нужно выравнить stringcontrol по центру, в любом другом по правому краю.
В дисплей-методе для этого stringcontrolа (называется getQtyStr) пишу:
qty gettQty;
str s;
;
gettQty = this.getQty();
if ((gettQty != 0)||(FactureJour.FactureType != FactureType_RU::Prepayment))
{
s = num2str(gettQty,10,2,2,3);
//Выравнивание по правому краю
getQtyStr.alignment(alignment::Right);
}
else
{
s = '--';
//Выравнивание по центру
getQtyStr.alignment(alignment::Center);
}
return s;
У самого контрола свойство alignment=auto.

Подскажите, что я не так делаю. Может выравнивать следует в executesection?
__________________
..в каждой программе есть хотя бы одна ошибка..

Последний раз редактировалось Alexanderrrr; 31.03.2009 в 16:58.
Старый 31.03.2009, 18:31   #2  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
А попробуйте изминить это до вызова super() в executeSection() родительского контрола...
Старый 31.03.2009, 18:40   #3  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Enum Alignment не работает, то есть путает значения, как это не странно. Наверное фича такая . Просто числа используйте
X++:
//Выравнивание по правому краю
// getQtyStr.alignment(alignment::Right); // выравняет по левому
getQtyStr.alignment(2); .// выравняет по правому
}
else
{
s = '--';
//Выравнивание по центру
// getQtyStr.alignment(alignment::Center); // выравняет по правому
getQtyStr.alignment(3); // выравняет по центру
и как уже сказали, это надо в executeSection делать.

Цитата:
выравнить stringcontrol по центру
если надо выравнивать сам stringcontrol, а не текст в нем, надо использовать leftMode:
X++:
getQtyStr.LeftMode(FormLeft::...)

Последний раз редактировалось Eldar9x; 31.03.2009 в 18:46.
Старый 01.04.2009, 08:46   #4  
Alexanderrrr is offline
Alexanderrrr
Участник
Аватар для Alexanderrrr
 
54 / 19 (1) ++
Регистрация: 06.03.2009
Адрес: Саратов
Спасибо за ответы, коллеги
В executesection до вызова super написал:
if ((getQty != 0)||(FactureJour.FactureType != FactureType_RU::Prepayment))
{
getQtyStr.alignment(2);
}
else
{
getQtyStr.alignment(3);
}
Все заработало
__________________
..в каждой программе есть хотя бы одна ошибка..
Старый 01.04.2009, 12:50   #5  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Всегда рады помочь

Вообще display методы на то и displa, что только выводят данные....
Теги
отчет, выравнивание

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ax 3.0 выравнивание влево Logger DAX: Программирование 9 31.07.2008 14:42
Выравнивание Num влево последствия... 36AC DAX: Программирование 31 09.06.2007 16:13
Выравнивание ячейки в excel tnv DAX: Программирование 10 27.09.2006 14:48
Выравнивание для ItemId exceptor DAX: Программирование 0 17.11.2005 17:39
Коды счетов в плане счетов PlasticinE DAX: Программирование 2 10.12.2001 10:25
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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