Показать сообщение отдельно
Старый 30.03.2005, 16:47   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Журнал платежей поставщиков
Привет.
Проблема с формой Платежей (строки) поставщиков. - LedgerJournalTrans_VendPaym.
Началось все с того, что обнаружилось следующее поведение в форме:
Создаю несколько строк в журнале. проставляю какие нибудь счета. Даты пока все одинаковые.
Далее становлюсь на строку, к примеру, первую, меняю дату на другую. И курсором перехожу на другую запись ( на вторую. ) при этом меняется дата во второй строке на ту, что ввел в первой.

Начал рыть код. Это происходит при сохранении текущей записи. Последовательность вызовов следующая:
\Forms\LedgerJournalTransVendPaym\Data Sources\LedgerJournalTrans\Methods\write
там ledgerJournalEngine.write(ledgerJournalTrans); вызывается.
в нем 28 строка: this.adjustLedgerJournalTrans(_ledgerJournalTrans);
в нем 8 строкой: if (ledgerJournalEngine_Server.adjustDate(_ledgerJournalTrans, this))//, voucherDateList))

В этом методе следующий код:
PHP код:
    ttsbegin;
    
dateCorrected false;

    while   
select  forUpdate ledgerJournalTransLocal
            where   ledgerJournalTransLocal
.journalNum == _ledgerJournalTrans.journalNum &&
                    
ledgerJournalTransLocal.voucher    == _ledgerJournalTrans.voucher
    
{
        if (
ledgerJournalTransLocal.recId != _ledgerJournalTrans.recId)
        {
            
ledgerJournalTransLocal.transDate _ledgerJournalTrans.transDate;
            if (
_ledgerJournalEngine)
                
_ledgerJournalEngine.currencyModified(ledgerJournalTransLocal);
            
ledgerJournalTransLocal.doUpdate();
            
dateCorrected true;
        }
    }
    
ttscommit
То есть для всех строк этого журнала проставляется та же дата, что и для той, которую только что изменили.

И наконец, вопрос:

Это так и должно быть, или это глюк, который просто никто не замечал???
Больше что-то похоже на второе.
А если должно так быть, то почему? Неужели нельзя указать другую дату для отдельной строки?

Спасибо