|
|
|
|
#1 |
|
Участник
|
Просмотрев различные формы и классы, решил написать свои функции по расчету сальдо.
Вышло примерно так: X++: Amount getBalanceCred(CustTrans _custTrans)
{
CustTrans custTransCursor;
LedgerTrans ledgerTransCursor;
str 100 accountNum;
;
select sum(AmountCur) from ledgerTransCursor
where ledgerTransCursor.Dimension[7] == _custTrans.Dimension[7]
&& ledgerTransCursor.Dimension[8] == _custTrans.Dimension[8]
&& ledgerTransCursor.Dimension[9] == _custTrans.Dimension[9]
&& ledgerTransCursor.AccountNum == "62.02.1"
&& ledgerTransCursor.TransDate <= TransDate
&& ledgerTransCursor.Crediting == true;
// && ledgerTransCursor.TransType == 15
return ledgerTransCursor.AmountCur;
}X++: Amount getBalanceDeb(CustTrans _custTrans)
{
CustTrans custTransCursor;
LedgerTrans ledgerTransCursor;
str 100 accountNum;
;
select sum(AmountCur) from ledgerTransCursor
where ledgerTransCursor.Dimension[7] == _custTrans.Dimension[7]
&& ledgerTransCursor.Dimension[8] == _custTrans.Dimension[8]
&& ledgerTransCursor.Dimension[9] == _custTrans.Dimension[9]
&& ledgerTransCursor.AccountNum == "76.АВ"
&& ledgerTransCursor.TransDate <= TransDate
&& ledgerTransCursor.Crediting == false;
// && ledgerTransCursor.TransType == 15
return ledgerTransCursor.AmountCur;
}Но, всё же, возникают ошибки в выводе. По моим предположениям я не учёл что-либо..
__________________
С уважением, Алексей. |
|
|
|
|
#2 |
|
Участник
|
вы суммируете amountCur, но не учитываете валюту. в результате у вас доллары складываются с евро и с остальными валютами. amountCur можно суммировать только в пределах одной валюты.
кроме того, вы получаете дебетовое сальдо. но не учитываете поле correction. аксапта умеет работать с красным сторно. в этом случае поле correction = true. |
|
|
| Теги |
| ledgerbalance, конечное сальдо, по счету, сальдо |
|
|
|