|
25.09.2012, 12:02 | #1 |
Участник
|
Сторнирование заказа на продажу
При сторнировании Заказа на продажу, по которому цена продажи была равна 0 грн, складкие проводки не маркируются как Сторнированные и проводка по Главной книге проходит "реверсом", а не сторнированием.
Подскажите пожалуйста в каком направлении искать. Спасибо! DAX 2009 Последний раз редактировалось Cardagant; 25.09.2012 в 12:13. |
|
25.09.2012, 12:15 | #2 |
MCT
|
1. сторно по Заказу на продажу - это не маркировка, а возвращенный лот. Возвращенные лоты автоматически проставляются по кнопке Функции / Создать кредит-ноту (вы так сторнируете?)
2. реверс/сторно регулируется флажком "Корректировка по кредиту" (передаётся из параметров модуля "Клиент" на форму разноски накладной, где может редактироваться ручками). Корректировка по кредиту = да - будет сторно.
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
25.09.2012, 12:19 | #3 |
Участник
|
Цитата:
Цитата:
UPD: Кажется, будто какая-то проверка на наличие то ли цены, то ли суммы стоит, но могу ошибаться. |
|
25.09.2012, 22:05 | #4 |
Участник
|
А что у вас пошло в проводку ГК и как вы её вообще получили с нулем?
|
|
26.09.2012, 09:45 | #5 |
Участник
|
Наверное, речь идет о проводках по себестоимости.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
26.09.2012, 10:25 | #6 |
Участник
|
Да, действительно. Вспомнил про эту багу.Столкнулся при переходе.Особенно неприятно, когда она всплывает после пересчетов: Счета переворачиваются.
Вся беда в методе класса SalesFormLetter : X++: protected void initFromSalesTotals(SalesTotals _salesTotals) { ........................................................ if (this.canBeCreditnote()) { if (TaxParameters::find().CashDiscOnInvoice) { cashDiscAmount = salesTotals.cashDiscAmount(); if (salesTotals.totalAmountCashDiscOnInvoice(true) < 0) creditNote = NoYes::Yes; else creditNote = NoYes::No; } else { if (salesTotals.totalAmount() < 0) creditNote = NoYes::Yes; else creditNote = NoYes::No; } } else { creditNote = NoYes::No; } } Можно обойтись небольшой кровью: В классе SalesFormLetter_Invoice в методе UpdateNow() вместо X++: inventMovement.parmStorno_RU(creditNote && salesParmUpdate.Storno); X++: inventMovement.parmStorno_RU((creditNote || salesParmLine.DeliverNow < 0) && salesParmUpdate.Storno); ledgerVoucher.findLedgerVoucherObject().parmCorrection((creditNote || salesParmLine.DeliverNow < 0) && salesParmUpdate.Storno);
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 26.09.2012 в 10:53. |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
26.09.2012, 11:12 | #7 |
Участник
|
Сейчас потестировал, все-таки можно и глобально подойти к этому вопросу:
в методе initFromSalesTotals класса SalesFormLetter вместо X++: if (salesTotals.totalAmount() < 0) creditNote = NoYes::Yes; else creditNote = NoYes::No; X++: if (salesTotals.totalAmount() < 0 || salesTotals.totalQty() < 0) creditNote = NoYes::Yes; else creditNote = NoYes::No;
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
26.09.2012, 14:01 | #8 |
Участник
|
2Pustik : Благодарю Вас за помощь! Уже нашёл это место, Вы подтвердили мои мысли по этому поводу!
|
|
Теги |
маркировка, реверс, сторно заказа |
|
|