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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2005, 19:01   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Отвязка формы строк платежа от формы журналов платежей
Возникла сабжевая задача (Ax 3.0 SP3).

Копаю форму LedgerJournalTransCustPaym и связанный с ней класс LedgerJournalFormTrans, откручивая зависимости от формы журналов.

Встречаю следующую вещь в методе initJournalTransFromCaller, далее - см. по тексту (русские комментарии - мои):
PHP код:
{
    
JournalTableMap tmp journalFormTable.JournalTableData().journalTable().data();
    
// тут мы взяли текущую запись в журнале платежей в экземпляре класса, управляющего формой журналов
    // Is journalId changed ?
    
if (! journalTableData || journalTableData.journalTable().journalId != tmp.journalId)
    
// а теперь мы сравниваем ?!!! только что присвоенную переменную с оригинальным значением - а зачем?
    // ладно, фиг с ним, допустим, раз эта часть условия всегда будет ложна, значит, в if мы можем войти только по первой части условия (! journalTableData)
    
{
    
// тут нам становится совсем интересно... :)
        
if (journalTableData)
        {
            
journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
            
journalFormTable.updateFormCacheJournalTable(this.JournalTableData().journalTable(),true);

            if (
journalTableData.journalVoucherNum())
                
journalTableData.journalVoucherNum().Abort();

            
journalTableData null;
            
journalTransData null;
        }
.
.

Я ..., дорогая редакция...
Есть мысли, соображения? Что бы это могло быть?
Старый 27.01.2005, 19:06   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
не понимаю вопроса.

Переменная journalTableData сравнивается с функцией journalTableData().
Если они не равны, то текущий журнал разблокируется, а номерная серия абортируется.

В чем вопрос то?
Старый 27.01.2005, 19:09   #3  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Дык, сравнивается переменная, полученная функцией, с результатом еще одного вызова функции... это меня и смущает...
Или просто поздно вечером програмить вредно?

Добавлено:
Таки, наверное, да...

По ходу дела я про...пустил, что это разные сущности...
Заодно там отслеживается первый вызов... мдя.
Старый 27.01.2005, 19:33   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
дык,
переменная то устанавливается в другом месте и в другое ВРЕМЯ.
а если пользователь перешел на другую строчку в журналах (функция выдает другой журнал)?
текущий журнал надо освободить.
эта проверка как раз для такого случая.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Очень маленькая высота строк в таблице формы (1-2 мм) Gustav DAX: Программирование 11 17.06.2006 11:57
Странное поведение формы Создание строк vc DAX: Функционал 10 22.03.2006 10:32
Программное открытие формы строк журнала переноса ViV DAX: Программирование 13 09.11.2005 13:16
Ошибка при формировании строк Журнала платежей ATimTim DAX: Функционал 12 05.07.2004 18:01
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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