我正在制作 ssrs 报告,我需要调用方法来验证一般日记帐行的财务维度。 我应该调用哪种方法来验证财务维度?
我找到了这段代码,但对我不起作用,我只需要将默认维度传递给验证财务维度的方法
public boolean validateAccountStructureAndDefaultDim(
DimensionDefault _defaultDimensions,
LedgerDimensionBudget _ledgerDimension,
TransDate _transactionDate)
{
DimensionValidationStatus dimensionValidationStatus =
DimensionValidationStatus::Valid;
boolean check = true ;
boolean ret = true ;
LedgerDimensionAccount ledgerDimensionAccount =
DimensionDerivationDistributionRule::buildLedgerDimension(
_ledgerDimension,
_defaultDimensions);
dimensionValidationStatus =
LedgerDimensionValidationHelper::validateByTree(
ledgerDimensionAccount,
_transactionDate,
true,
true);
if (dimensionValidationStatus == DimensionValidationStatus::Valid)
{
ret = true;
}
return ret;
}
这是一种方法。有各种各样的。
LedgerJournalTrans ledgerJournalTrans = LedgerJournalTrans::findRecId(5637869826, true);
// This is checking the offset ledger dimension, but you can check the primary as well.
DimensionValidationRequest dimensionValidationRequest = DimensionValidationRequest::newForLedgerDimension(ledgerJournalTrans.OffsetLedgerDimension, ledgerJournalTrans.TransDate);
DimensionValidationStatusContract dimensionValidationStatusContract;
List validationMessages;
ListEnumerator messagesEnumerator;
boolean isFirst, ok;
dimensionValidationRequest.parmDoValueSuspendedValidation(true);
dimensionValidationRequest.parmDoValueActiveDatesValidation(true);
dimensionValidationStatusContract = DimensionValidation::getStatus(dimensionValidationRequest);
info(strFmt("Is Valid: %1", dimensionValidationStatusContract.isValid()));
if (!dimensionValidationStatusContract.isValid())
{
ok = false;
isFirst = true;
validationMessages = dimensionValidationStatusContract.parmValidationMessages();
messagesEnumerator = validationMessages.getEnumerator();
while (messagesEnumerator.moveNext())
{
// The first message provided is a warning, additional messages are informational
// messages regarding the first message
if (isFirst)
{
warning(messagesEnumerator.current());
isFirst = false;
}
else
{
info(messagesEnumerator.current());
}
}
}
这是从
\Classes\LedgerVoucherTransObject\check
修改的