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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.12.2010, 13:57   #1  
Paul_ST is offline
Paul_ST
Участник
 
144 / 11 (1) +
Регистрация: 26.11.2003
Адрес: Екатеринбург
Сброс полей (текстовых и мемо) на форме при вызове формы DocuView
Добрый день!

Следующая проблема (AX 2009):
на форме SalesQuotation редактируем мемо-поле DocuIntro, например. Сразу же после редактирования (без сохранения записи) нажимаем на вызов формы прикрепленных документов (DocuView). Форма открывается, только редакции потеряны. Та же беда с текстовыми полями.
Как можно эту досадную мелочь побороть? через переопределение методов формы не получается. Равно как и через обработку FormNotify.
Спасибо!
__________________
Paul_ST
Старый 28.12.2010, 16:26   #2  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Форму SalesQuotation в Axapta 3 я не нашел, но на примере формы AddressCheck удалось решить задачу все же через FormNotify следующим образом:
X++:
void formNotify(FormRun formRun,FormNotify event)
{
    FormDataSource  fds;
    ZipCode zipCode;
    ;

    switch (event)
    {
        case FormNotify::Activate:
            this.activate(formRun);
            if (docu)
                docu.reSearch(formRun);
            if(formRun.name() != FormStr(AddressCheck)) // Это делается для того чтобы сработала ветка "case FormNotify::DeActivate:".
                break;
        case FormNotify::DeActivate:
            if(formRun.name() == FormStr(AddressCheck))
            {
                fds = formRun.dataSource("ZipCode");
                zipCode = fds.cursor();
                zipCode.write();
            }
            break;
        case FormNotify::Open:
            this.open(formRun);
            if (docu)
                docu.set(formRun);
            break;
        case FormNotify::Close:
            this.close(formRun);
            if (docu)
                docu.clear(formRun);
            break;
        case FormNotify::RecordChange:
            if (docu)
                docu.reSearch(formRun);
            break;
        case FormNotify::NoteClicked:
            if (docu)
                docu.note(formRun);
            break;
    }
}
P.S. метод решения не очень тривиален и "красив", но, тем не менее, позволяет решить данную задачу.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 28.12.2010 в 16:34.
Старый 28.12.2010, 16:49   #3  
Paul_ST is offline
Paul_ST
Участник
 
144 / 11 (1) +
Регистрация: 26.11.2003
Адрес: Екатеринбург
Спасибо, но, к сожалению, предложенный метод в AX-2009 не работает. Сброс полей происходит на мой взгляд еще до метода Info.fomNotify()
Буду рад дальнейшим идеям!
__________________
Paul_ST
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Потеря фокуса при вызове формы поиска Paul_ST DAX: Программирование 21 03.08.2022 15:12
Несинхронность размерности полей в форме поиска... glibs DAX: Функционал 0 05.04.2010 21:54
caller DocuView формы. custtable DAX: Программирование 4 17.07.2008 15:52
Название полей в форме запроса PavelSR DAX: Программирование 4 11.07.2007 17:19
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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