Показать сообщение отдельно
Старый 12.05.2004, 11:38   #1  
wb is offline
wb
Участник
 
86 / 16 (1) ++
Регистрация: 26.01.2004
Адрес: Краснодар
:( Распределение накладных расходов при отрицательных строках закупки
Добрых суток All!

Помогите разобраться с распределением накладных расходов.
Создаю закупку, со статусом закупка, создаю строку закупки с номенклатурой «прибыль/убыток» с количеством -1, создаю накладную, хочу провести коррекцию накладных расходов, аксапта падает в отладчик с ошибкой:

Трассировка стека:
\Classes\LedgerBondTransObject_RU\ledgerTransObject
\Classes\MarkupAdjustment\adjustCreditNote - line 62
\Classes\MarkupAdjustment\run - line 58
\Classes\MarkupAdjustment\main - line 9
\Classes\FormFunctionButtonControl\Clicked
\Classes\FormMenuButtonControl\Clicked


Смотрю в коде:


\Classes\MarkupAdjustment
Метод adjustCreditNote


// EGLA, Correspondence II -->
if (ledgerBondClient)
{
currencyBondLog = conNull();
bondLog = ledgerBondClient.currentLog();

for (i = 1; i <= conlen(bondLog); i++)
{
/* ******************************* */
if (ledgerBondClient.bondTransObject(conPeek(currencyBondLog, i)).ledgerTransObject().parmCurrencyCode() == currencyCode)
{
currencyBondLog += conPeek(currencyBondLog, i);
}
/* ******************************* */
}

ledgerBondClient.bondVRef2Log(ledgerBondClient.lastVrefId(), bondLog);
}
// EGLA, Correspondence II <--


Заменил код между комментариями на такой

LedgerBondTransObject_RU = ledgerBondClient.bondTransObject(conPeek(currencyBondLog, i));
if (LedgerBondTransObject_RU && LedgerBondTransObject_RU.ledgerTransObject().parmCurrencyCode() == currencyCode)
{
currencyBondLog += conPeek(currencyBondLog, i);
}
Работает, но терзают сомнения, почему в МБС не учли очевидное? Ведь код в комментариях не будет выполняться никогда, поскольку контейнер currencyBondLog всегда пустой. Может, я чего не понимаю.

Заранее благодарен,
Валерий Бондаренко