Показать сообщение отдельно
Старый 21.02.2007, 21:20   #1  
zemlyn is offline
zemlyn
Участник
Аватар для zemlyn
 
146 / 44 (2) +++
Регистрация: 28.01.2004
не отрабатывает сопоставление по поставщикам
dax 3.0 sp4fp1
Добрый день, подскажите пожалуйста по такой ситуации
(не уверен, в какой из топиков обращаться, но код х++ я тоже приведу)

Ситуация следующая: сопоставляю проводки по поставщику выбранной датой.
была задолженность поставщику 100рублей
сопоставили 30.09.06 100руб.
рассопоставили 31.10.06 100руб.
теперь хочу 31.10.06 снова сопоставить на 100рублей
Не дает: маркирую проводки , жму обновить, галки слетают, суммы прежние. Никаких сообщений
(Возможно тут уже будет готов ответ, тогда можно было ветке по функционалу спрашивать , но если нет, то рассказываю дальше)

Открываю чудо-метод (умещается на одном экране монитора 22века c разрешением 160'000*90'000
calcvendsettlement.settleNow() и пристально изучаю
Нахожу такой код (на последнем sp5fp2_allupdated тоже он есть), похоже относится к книге покупок (// EVZ, Purchase book -->)

PHP код:
  //Valu Reverse datePrinciple -->
            
paymentReversedAmount this.reversedAmount_RU(paymentReversedAmounts,transactionDate);
            if (
abs(paymentReversedAmount) > abs(custVendTransCredit.remainAmountCur()))
            {
                
specTransCredit.balance01 0;
                continue;
            }
            
paymentReversedAmount custVendTransCredit.remainAmountCur() - paymentReversedAmount;
            if (
abs(specTransCredit.balance01) > abs(paymentReversedAmount))
            {
                
paymentReversedAmount     =  specTransCredit.balance01 paymentReversedAmount;
                
specTransCredit.balance01 -=  paymentReversedAmount;
                if (! 
specTransCredit.balance01)
                {
                    continue;
                }
            }
            else
            {
                
paymentReversedAmount 0;
            } 
Не буду рассказывать сколько раз смотрел на переменную paymentReversedAmount (и её содержимое) и пытался согласиться (или примириться) с её названием Но в конечном итоге, расшифровка кода да Винчи привела к следующему выводу:

Если если мы рассопоставили числом Х сумму, то этот рассопоставленный кусок платежа нельзя снова сопоставить этим же числом Х (и ранее видимо тоже)

Это идеологически верно?
И какое бы сообщение можно было бы выдать пользователю в таком случае (и что тогда проверять при этом?)