|
![]() |
#1 |
Administrator
|
Цитата:
В журнале ГК сделали очень досадный баг в виде "упущенного" конфигурационного ключа. Дело в том, что в строке ЖГК (LedgerJournalTrans) существуют 2 набора аналитик: одни для счета (кстати - для корсчета никто аналитики и не думал делать почему-то) - это поле LedgerJournalTrans.Dimension и другие - для внутрихолдиногового учета.- поле LedgerJournalTrans.InterCoDimension. Проверка соответствия иерархии аналитики осуществляется сразу для двух полей (см метод LedgerJournalTrans.checkDimensions()). В проверке честно поставлено условие, что если конфигурационный ключ иерархии аналитик включен - то проверку выполнять. НО! Никто не позаботился о том, что если ключ внутрихолдингового учета выключен - то проверку по внутрихолдинговым аналитикам делать не надо - т.к. их нет! В связи с этим я изменил у себя код метода checkDimensions(): X++: public boolean checkDimensions(boolean _checkWriteValidation) { boolean ok = true; DimensionSetCaller dimensionSetCaller; ; if (isConfigurationkeyEnabled(configurationkeynum(DimensionSetHierarchy))) { dimensionSetCaller = DimensionSetCaller::construct(this, fieldnum(LedgerJournalTrans, Dimension)); ok = appl.dimensionSetValidation(false, dimensionSetCaller.getCompanyId()).checkDimension(this, fieldnum(LedgerJournalTrans, Dimension), _checkWriteValidation) && ok; if (isConfigurationkeyEnabled(configurationkeynum(LedgerAdvIntercompanyAccounting))) // Вот здесь не хватает проверки на конфигурационный ключ { dimensionSetCaller.parmDimensionFieldId(fieldnum(LedgerJournalTrans, InterCoDimension)); ok = appl.dimensionSetValidation(false, dimensionSetCaller.getCompanyId()).checkDimension(this, fieldnum(LedgerJournalTrans, InterCoDimension), _checkWriteValidation) && ok; } } return ok; }
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
иерархия, финансовая аналитика |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|