Это наверно будет интересно тем кто ведет налоговый учет.
Dax 2009
Application 5.0.1500.1313
При создании журнала ГК по налогу на прибыль выяснилась интересная вещь.
Если в параметрах Главной книги на закладке «Налог на прибыль» выставить параметр «Налоговая аналитика» отличное значение от значения «Цель».(например "Центр затрат") и параметр "Свертка" - "По коду дохода/расхода" или "По документу". При этих настройках сформировать журналы ГК по налоговым регистрам, то в строках журнала будет проставляться аналитика "Цель". (а должна "Центр затрат").
Если посмотреть в класс LedgerJournalCreate_Tax25_RU метод createTrans, то можно увидеть следующие строки :
Перед объявлением метода
X++:
.............................
#define.Value3(3)
............................
В самом методе:
X++:
switch (postingRoll)
{
case RTax25PostingRoll::Source:
ledgerJournalTrans.Dimension[#Value3] = RTax25ProfitTable::find(conpeek(mLoop.value(), #Value3)).DimensionNum;
ledgerJournalTrans.Txt += "@GEE16624" + #Blank + conpeek(mLoop.value(), #Value4);
break;
case RTax25PostingRoll::ExpenseAndIncome:
ledgerJournalTrans.Dimension[#Value3] = RTax25ProfitTable::find(mLoop.key()).DimensionNum;
ledgerJournalTrans.Txt += "@GEE16625" + #Blank + mLoop.key();
break;
case RTax25PostingRoll::Tax:
ledgerJournalTrans.Txt += "@GEE16626" + #Blank + ledgerJournalTrans.TaxCode;
break;
case RTax25PostingRoll::Total:
ledgerJournalTrans.Txt += "@GEE16637";
break;
}
т.е. заполняется аналитика с номером 3("Цель"), не зависимо от настроек, поскольку номер аналитики прописан в макросе, а не берется из настроек!
Если внести следующие исправления(это можно сделать более красиво, MS виднее
):
X++:
..............................
int dimIdx;
..............................
dimIdx = RTax25Parameters::find().DimensionCode+1;
..............................
switch (postingRoll)
{
case RTax25PostingRoll::Source:
ledgerJournalTrans.Dimension[dimIdx ] = RTax25ProfitTable::find(conpeek(mLoop.value(), #Value3)).DimensionNum;
ledgerJournalTrans.Txt += "@GEE16624" + #Blank + conpeek(mLoop.value(), #Value4);
break;
case RTax25PostingRoll::ExpenseAndIncome:
ledgerJournalTrans.Dimension[dimIdx ] = RTax25ProfitTable::find(mLoop.key()).DimensionNum;
ledgerJournalTrans.Txt += "@GEE16625" + #Blank + mLoop.key();
break;
case RTax25PostingRoll::Tax:
ledgerJournalTrans.Txt += "@GEE16626" + #Blank + ledgerJournalTrans.TaxCode;
break;
case RTax25PostingRoll::Total:
ledgerJournalTrans.Txt += "@GEE16637";
break;
}
то будет заполняться правильная аналитика в строках журнала.