|
![]() |
#1 |
Участник
|
Зачем добавлять новый тип в RAssetSumCalc? Там же уже есть методы возвращающие сумму разнесенной аморт.премии.
Сейчас енум RAssetPostValue уже содержит тип для расчета суммы амортизации, включающией премию. В принципе, можно использовать этот тип, исправив код в RAssetDisposalValue:: postValue(), так чтобы метод возвращал только сумму амортизации без премии. И создать новый тип отдельно для расчета премии. |
|
![]() |
#2 |
Участник
|
Цитата:
Вы имеете в виду depreciationPostedBonusValue? Для меня если честно это вообще загадка.. Заполнение значение происходит в классе RAssetSumCalc_Trans X++: select sum(DepreciationBonusCost) from rassetTrans where rassetTrans.AccountNum == rangeAssetId && rassetTrans.AssetStandardId == rassetStandardId && rassetTrans.AssetTransType == RAssetTransType::Depreciation && ((rassetTrans.TransDate >= dateFrom && rassetTrans.TransDate <= dateTo) || ! dateTo) && ! rassetTrans.StornoRecId; depreciationPostedBonusValue = rassetTrans.DepreciationBonusCost; Цитата:
Цитата:
Да ещё.. В профиле разноски на операцию выбытия добавил ещё одну, проводку с моим новым типом.. Однако новая проводка не порадилась.. Хотя в дебагере переменная заполнялась (тоесть не 0). В чем может быть дело? Последний раз редактировалось Вата; 18.03.2010 в 13:02. |
|
![]() |
#3 |
Участник
|
Создание нового типа операции под расчет аморт.премии - задача на 1-2 две недели разработки.
Вашу проблему можно решить буквально парой строчек кода. На форме профилей разноски ничего делать не нужно. По кнопке Параметры->Выбытие (продажа) на этой форме перейдите на форму настройки доп.операций при продаже. Сейчас для разноски всей проведенной суммы Амортизации, включая премию, используется настройка с суммой к разноске "Балансовая амортизация". Вам нужно создать новый тип суммы к разноске (енум RAssetPostValue) - Аморт.премия. Таким образом вы сможете задавать свои счета для разноски премии в ГК. Чтобы рассчитать сумму премии для операции продажи нужно добавить обработку нового типа Суммы к разноске в метод RAssetDisposalValue:: postValue(): case RAssetPostValue::BalanceDeprBonus: assetAmount = rAssetSumTransDate.depreciationPostedBonusValue(); break; где BalanceDeprBonus - название нового типа Суммы к разноске, для расчета проведенной суммы аморт.премии. Теперь осталось только исключить премию из существующего типа Сумма к разноске BalanceDepr "Балансовая амортизация": case RAssetPostValue::BalanceDepr: assetAmount = rAssetSumTransDate.depreciationTotal() - rAssetSumTransDate.depreciationPostedBonusValue(); break; |
|
![]() |
#4 |
Участник
|
Попробовал.. не получилось.. Не возникает проводка по ам премии. так как rAssetSumTransDate.depreciationPostedBonusValue() возвращает 0 (как я уже говорил, не понятно вообще как она должна работать)
К сожалению двух строчек кода, яно не достаточна, так как нужно чтобы сама ам.премия начислялась.. Откуда система узнет что ам премия равна тому то, если для неё что амортизация что ам. премия это одно и тоже (один тип RAssetTransType::Depreciation) ?! Последний раз редактировалось sukhanchik; 18.03.2010 в 16:46. Причина: Отключил смайлы |
|
![]() |
#5 |
Участник
|
Нет, амортизация не попадает, так как в проводках амортизации DepreciationBonusCost = 0.
Последний раз редактировалось sukhanchik; 18.03.2010 в 16:46. Причина: Отключил смайлы |
|