Показать сообщение отдельно
Старый 11.11.2008, 10:28   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Wamr Посмотреть сообщение
если не в этом, то в чем?
посмотреть с кем сопоставлена проводка и сравнить их costValue по сопоставленному кол-ву... опять же возвращаемся к InventSettlement
Привет Вась.
Есть такая проблема.
Есть приложение сильное изменённое.
В нём хватает чужого кода в классах закрытия, пересчёта и корректирки.
По одной номенклатуре (возможно их больше) не получается скорректировать себестоимость через корректировку наличия.
Выкидывает сообщение
Отрицательная себестоимость не возможна.
(S) \Classes\InventTransAdjust\updateNow - line 72
Не могу понять в чём дело. Считается вроде всё правильно и интуиция подсказывает возможно входные данные не правильны. А именно поле корректировки.
Предположил что это поле на InventTrans проверяется таким образом.
Для ValueOpen = да
X++:
display Amount MRD_calcCostAmountAdjustment()
{
    Amount costAmountAdjustment;
;
    if(this.QtySettled)
        costAmountAdjustment = this.Qty * this.CostAmountSettled / this.QtySettled - this.CostAmountPosted;
    else
        costAmountAdjustment = this.CostAmountSettled;
    return costAmountAdjustment;
}
Сделал форму и вывожу эти поля.
1) Цифры в основном различаются на втором знаке после запятой.
На той проводке которая меня интересует на первой после запятой.
Как раз мне мальца и нехватает чтоб ошибку убрать.
2) Что меня ещё смущает?
Что есть прводки без сопоставления, но с корректировкой.
Не понятно тогда откуда эти суммы беруться, если нет сопоставления.
Визуально вижу что эти цифры иногда совпадают с проводками по той же номенклатуре но по которой были сопоставления. Связано это или нет не знаю точно.
Первый вопрос более интересен. Но если кто сможет объяснить второй (Почему так) тоже будет хорошо.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.

Последний раз редактировалось miklenew; 11.11.2008 в 10:47. Причина: описался место номенклатуры написал накладной