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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.07.2007, 11:19   #1  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Название полей в форме запроса
Добрый день.
На форме созданной программно(RunBaseBatch), если вернуть в showQueryValues true, то появятся поля запроса, добавленые в Rande.

Вопрос: можно ли как нибудь изменить название отоборажаемых полей на форме?

Например, если нужно фильтровать накладные по клиентам(поле InvoiceAccount - "Счет На"), при добавлении Rande, на форме будет отображаться поле "Счет На", а мне хотелось бы чтобы оно называлось "Клиент".
Старый 11.07.2007, 12:37   #2  
e@gle is offline
e@gle
MCTS
MCBMSS
 
164 / 72 (3) ++++
Регистрация: 11.04.2005
Адрес: Минск
В свойствах Rande пропишите поле Label
__________________
С уважением, Павел Цераниди.
На пути к совершенству нет конца. Каждое новое достижение является отправной точкой для следующего крупного шага.
Старый 11.07.2007, 12:52   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Правда при этом SysQueryForm перестанет работать.
точнее, при попытке нажатия ОК будет ругаться, что поля с таким названием нету.
а если название совпадет (то есть будет в таблице), то фильтр наложится на это поле, а не на требуемое.
За это сообщение автора поблагодарили: belugin (3).
Старый 11.07.2007, 14:51   #4  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Кроме того, на самой форме запроса останется тоже название поля.

И все таки, такое можно сделать или нет?
Старый 11.07.2007, 17:19   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Могу предложить полухакерское решение
X++:
public Object dialog()
{
    Dialog  dialog;
    RunBaseDialogModify d;
    DictClass dictClass;
    FormControlName fieldName;
    DialogField field;
    ;
    dialog = super();
    ...
    d = this.dialogModify();
    dictClass = new DictClass(classIdGet(d));
    if (dictClass)
    {
        fieldName = dictClass.callObject("getFieldName", d, tableNum(InventTable), fieldNum(InventTable, ItemName));
        if (!fieldName)
            fieldName = dictClass.callObject("getFieldName", d, tableNum(InventTable), fieldId2Ext(fieldNum(InventTable, ItemName), 1));
        if (fieldName)
        {
            field = dialog.getDialogClass(fieldName);
            if (field)
                field.label("Название товара");
        }
    }
    return dialog;
}
Так же надо перекрыть метод dialogUpdateQuery() и добавить в него этот код после super()

Ну или в классе RunBaseDialogModify для метода getFieldName() убрать модификатор protected для прямого вызова, если не смущает правка системных классов.
__________________
Axapta v.3.0 sp5 kr2
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Второе наименование номенклатуры и проблема добавления полей в форме "номенклатура" EVER DAX: Функционал 28 03.09.2008 21:58
пересчет полей на форме kitty DAX: Программирование 1 04.10.2005 12:50
Перемещение полей на форме Swetik DAX: Функционал 12 15.09.2004 19:29
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08
Как получить название полей? Ivan Mischenko DAX: База знаний и проекты 4 07.02.2003 19:01

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

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

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