Показать сообщение отдельно
Старый 14.01.2011, 13:11   #99  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Там же, в LedgerJournalTransDaily на источнике данных LedgerJournalTrans ...
Метод active() постоянно вызывает метод setFurtherPostingProtection(), который меняет возможность редактирования 7 полей (тип счета и счет, тип корр.счета и коррсчет, суммы дебет/кредит и валюту) по факту заполненности полей FurtherPostingType и FurtherPostingRecId. Вот как это делает наш неизвестный герой:
X++:
void setFurtherPostingProtection()
{
    int i;
    DictTable       dictTable = new DictTable(ledgerJournalTrans.TableId);
    FormDataObject  objectLedgerJournalTrans;
    boolean         preventEdit;
    ;

    preventEdit = ledgerJournalTrans.FurtherPostingType && ledgerJournalTrans.FurtherPostingRecId;

    for (i = 1; i <= dictTable.fieldCnt(); i++)
    {
        objectLedgerJournalTrans = ledgerJournalTrans_ds.object(dictTable.fieldCnt2Id(i));
        if (objectLedgerJournalTrans)
        {
            if (preventEdit)
            {
                switch (dictTable.fieldCnt2Id(i))
                {
                    case fieldnum(LedgerJournalTrans, AccountType),
                         fieldnum(LedgerJournalTrans, AccountNum),
                         fieldnum(LedgerJournalTrans, OffsetAccountType),
                         fieldnum(LedgerJournalTrans, OffsetAccount),
                         fieldnum(LedgerJournalTrans, AmountCurDebit),
                         fieldnum(LedgerJournalTrans, AmountCurCredit),
                         fieldnum(LedgerJournalTrans, CurrencyCode)  :
                        objectLedgerJournalTrans.allowEdit(false);
                        break;
                    default :
                        objectLedgerJournalTrans.allowEdit(true);
                }
            }
            else
            {
                objectLedgerJournalTrans.allowEdit(true);
            }
        }
    }
}
Это SYS-слой...
Есть мнение, что за такое в таком месте - надо бить ...
Наверное даже ногами и наверное даже по голове ...
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 14.01.2011 в 13:17.
За это сообщение автора поблагодарили: fed (3), Vadik (5).