AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 17.02.2004, 13:03   #1  
dn ist offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Registriert seit: 26.03.2003
Ort: Москва
Заголовок связанной формы
При вызове одной формы из другой к заголовку формы добавляется информация из вызывающей формы (args.record().caption()). Как запретить вывод этой дополнительной информации, но только для конкретной формы?

p.s. Axapta 3.0 sp1
Alt 17.02.2004, 20:28   #2  
mazzy ist offline
mazzy
Участник
Benutzerbild von mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29.472 / 4494 (208) ++++++++++
Registriert seit: 29.11.2001
Ort: Москва
Blog-Einträge: 10
господи, это то вам чем помешало?

формальный ответ - перепрограммируйте заголовок.
как в заказе element.setCaptionText.

А можно вопрос?
Что вы там ТАКОЕ делаете, что у вас ТАКИЕ вопросы возникают?
то заголовки перекрыть, то через контрол в базе данных обратиться?
Alt 18.02.2004, 11:49   #3  
dn ist offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Registriert seit: 26.03.2003
Ort: Москва
Сергей, спасибо за Ваш интерес к сообщениям на форуме в разделе Разработка. Но давайте обойдемся без лирических отступлений.

То, что вы пишете, я уже попробовал, прежде чем обращаться на форум. Следующий код не очищает полностью заголовок формы, если она была вызвана из другой формы.
PHP-Code:
element.design().caption(""); 
Есть подозрение, что это отрабатывается на уровне ядра...
Alt 18.02.2004, 12:13   #4  
Garic ist offline
Garic
NavAx
Benutzerbild von Garic
NavAx Club
 
393 / 63 (3) ++++
Registriert seit: 23.07.2002
Ort: Москва
Посмотрите на свойство дизайна формы TitleDataSource.
Если оно явно не указывается, то в caption дополнительно добавляется caption датасорса из dynalink.
__________________
С уважением, Игорь Ласийчук.
Alt 18.02.2004, 12:19   #5  
mazzy ist offline
mazzy
Участник
Benutzerbild von mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29.472 / 4494 (208) ++++++++++
Registriert seit: 29.11.2001
Ort: Москва
Blog-Einträge: 10
Zitat:
Изначально опубликовано dn
Но давайте обойдемся без лирических отступлений.
Извините.
Alt 18.02.2004, 12:28   #6  
dn ist offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Registriert seit: 26.03.2003
Ort: Москва
На самом деле мне не нужно выводить информацию ни из моего источника данных, ни из подлинкованного. Очистить заголовок в runtime ни для одного, ни для другого случае мне не удалось. Решил проблему, убрав при вызове формы из args ссылку на record.
p.s. Не совсем понял насчет dynalink.
This post has been rated by: Dron AKA andy (2).
Alt 14.09.2006, 11:12   #7  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von mazzy Beitrag anzeigen
формальный ответ - перепрограммируйте заголовок. как в заказе element.setCaptionText.
Все же интересно, как можно штатными средствами установить заголовок формы? На счет примера с формами SalesTable/PurchTable не так все просто. Там сброшено поле дизайна TitleDatasource, поэтому установка заголовка отрабатывает, как положено. Но если при этом форма будет вызвана из другой формы, то через dynalink к нормально сформатированному заголовку приклеится совершенно дикая конструкция. Например, если у InventTable форматировать заголовок вручную и сбросить TitleDatasource, то к ее заголовку при вызове из PriceDiscTable прилепится вот что: "- Ссылка: Цена (закупки), 3924, Ссылка: Цена (закупки), Связь контрагента: Таблица, Контрагент: 7658", где 3924 - код номеклатуры, 7658 - код поставщика. Опять же, если для формы InventTable задать удобоваримый заголовок и вызвать из нее PriceDiscTable, то в последней вопреки ожиданиям к заголовку приклеится не заголовок из InventTable, а всего лишь поля TitleField1 & TitleField2 из таблицы InventTable. Как это побороть? У меня в номенклатурном справочнике кроме довольно малоинформативного названия есть еще 5-7 группировочных признаков, из которых можно с помощью display-метода сформировать "говорящее" название. Менеджеры, занимающиеся прайс-листами и номенклатурами, хотят в той же PriceDiscTable видеть именно его, а не автоматически формируемые "перлы" с кодами и ссылками
Alt 14.09.2006, 11:16   #8  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Можно перекрыть метода Active() на датасоурсе и добавить туда этот код:

X++:
int ret;
;
ret = super();
winapi::setWindowText(element.hWnd(), element.design().caption());
return ret;
Если необходимо, то можно добавить нужную информацию в заголовок.
Alt 14.09.2006, 14:41   #9  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von oip Beitrag anzeigen
Можно перекрыть метода Active() на датасоурсе и добавить туда этот код:
X++:
int ret;
;
ret = super();
winapi::setWindowText(element.hWnd(), element.design().caption());
return ret;
Если необходимо, то можно добавить нужную информацию в заголовок.
Я пошел по пути, предложенному dn - убрал ссылку из element.args().record(). При этом сделал метод установки заголовка и вызывал его в active() и linkActive() datasource'а. Пробовал делать по-разному:
  • если в методе установки заголовка просто написать
    X++:
    winapi::setWindowText(element.hWnd(), strfmt("%1", smth));
    наблюдается ощутимое мерцание заголовка при переходах в форме-родителе (InventTable, например), плюс иногда этот вызов словно не срабатывает, и в заголовке появляется просто значение element.design().caption() (скажем, пустая строка);
  • если отформатировать заголовок так
    X++:
    element.design().caption(strfmt("%1", smth));
    в заголовке появляется то, что нужно, но в конце приписывается пробел и дефис " -", так что форма все равно пытается пристыковать данные из element.args().record(), правда поскольку запись заблаговременно прибита, ничего кроме дефиса не дописывается;
  • если же использовать SetWindowText(), чего мне, собственно, изначально не хотелось, вот так:
    X++:
    winapi::setWindowText(element.hWnd(),
                          element.design().caption(strfmt("%1", smth)));
    мелькания (ведь FormDesign::caption() с параметром тоже, видимо, вызывает SetWindowText()) почти не видно, однако дефис в конце хоть и не всегда, но все равно дописывается

Geändert von gl00mie (14.09.2006 um 15:19 Uhr) Grund: замученные очепятки
Alt 24.07.2007, 10:08   #10  
Dron AKA andy ist offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Registriert seit: 27.03.2002
Ort: Москва
Тоже только что столкнулся с необходимостью при переходе из родительской формы в дочернюю (на обеих - datasource к одним и тем же таблицам) убрать появляющийся дефис в конце заголовка. Сделал так, как советовал dn - очистил ссылку в element.args().record(). Т.к. последний вопрос в этой теме остался открытым, сообщаю подробности решения (вдруг кому пригодится): в init() формы перед super() добавил:
X++:
element.args().record(NULL);
__________________
Андрей.
Alt 24.07.2007, 10:48   #11  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
а почему бы не перекрыть caption на связанных таблицах
Alt 24.07.2007, 11:20   #12  
Dron AKA andy ist offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Registriert seit: 27.03.2002
Ort: Москва
Это нужно только для одной формы.
__________________
Андрей.
Alt 28.10.2008, 10:59   #13  
Logger ist offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3.996 / 3293 (117) ++++++++++
Registriert seit: 12.10.2004
Ort: Москва
Blog-Einträge: 2
Zitat:
Zitat von mazzy Beitrag anzeigen
господи, это то вам чем помешало?

формальный ответ - перепрограммируйте заголовок.
как в заказе element.setCaptionText.

А можно вопрос?
Что вы там ТАКОЕ делаете, что у вас ТАКИЕ вопросы возникают?
то заголовки перекрыть, то через контрол в базе данных обратиться?
Кстати, если эта добавка слишком большая - то возможно падение клиента Аксапты.
по крайней мере так было в Ax2.5 и в Ax3.0 Выглядело как странное падение после перехода к основной таблице.

Судя по всему где-то внутри что-то переполнялось от слишком длинной строки.
Stichworte
caption, заголовок формы, ax3.0

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Самостоятельные формы и формы открывающиеся из другой формы. Dima_Dima DAX: Программирование 6 19.12.2008 18:27
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Вызов формы, не модифицируя ее заголовка AndrewP DAX: Программирование 1 04.07.2003 14:20
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 19:37 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.