Показать сообщение отдельно
Старый 09.10.2013, 15:38   #1  
vmokerov is offline
vmokerov
Участник
 
20 / 25 (1) +++
Регистрация: 23.02.2011
AX 2012 ОСВ и Оборот по счету
Добрый день.

Вопрос по расчета входящего сальдо в запросах "Оборот по счету" и "Оборотно-сальдовая ведомость" модуля главная книга.

В запросах оборот по счету, обрабатываемых классами RLedgerSheetEngine входящее сальдо инициализируется методом calcBalance. Для расчета используется комбинация аналитик указаных в форме запроса:
X++:
dimAttrValueComb = DimensionAttributeValueCombination::find(
       DimensionDefaultingEngine:: getLedgerDimensionFromAccountAndDim (
           MainAccount::findByMainAccountId(_mainAccountNum).RecId,
 DimensionHierarchy::getAccountStructure(
MainAccount::findByMainAccountId(_mainAccountNum).RecId),  dimensionCriteria));
Т.е. для расчета используется конкретная комбинация аналитик.

В тоже время в новом функционале оборотно-сальдовой ведомость, поддерживаемой классом RLedgerTurnoverEngine расчет входящего сальдо выполняется аналогично расчету обротов за период в методе balanceTrans. Для фильрации по набору аналитик используется вызов SysQuery::addDimensionAttributeRange . В данном случае критерий добаляется отдельно для каждой комоненты аналитики.

Вопрос заключается в том, правильно ли я понимаю различия в данных запросах? Если все так, получается, что бы посмотреть входящее сальдо в запросах "Оборот по счету" необходимо указать полную комбинацию аналитик. Т.е. если в проводках по одному счету ГК указаны различные аналитики, например контрагентов, то в результате работы запроса входящее сальдо рассчитается только для проводок, которые полностью совпадают с параметрами запроса. Другими словами, если я не укажу аналитику контрагент, то проводки с заполненной аналитикой не будут учтены. Так ли это?
За это сообщение автора поблагодарили: S.Kuskov (1), Kabardian (1).