AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Прочие вопросы
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2008, 08:31   #1  
Anta is offline
Anta
Участник
 
4 / 10 (1) +
Регистрация: 10.10.2008
Скидка 100% в строке Заказа
Здравствуйте!
Суть проблемы: не обрабатывается заказ если на одной из строк выставлена скидка 100%, либо сумма скидки составляет стоимость самого товара, т.е. Чистая сумма равна 0 (строка заказа - подарок с ценой 0). При обработке выдаёт ошибку "Проводка уже выполнена", а если у товара проставить цену отличную от 0, например, 0,01 заказ обрабатывается на ура.
Можно ли провести заказ, у которого в строках имеется товар с нулевой ценой.
Старый 10.10.2008, 08:53   #2  
ViV is offline
ViV
Axapta Retail User
Самостоятельные клиенты AX
Axapta Retail User
 
200 / 79 (3) ++++
Регистрация: 14.09.2005
В стандарте (Ax3) все проводится отлично, видимо у вас какие то модификации?
Старый 10.10.2008, 08:59   #3  
Anta is offline
Anta
Участник
 
4 / 10 (1) +
Регистрация: 10.10.2008
У нас Ax3 sp4
Старый 10.10.2008, 09:27   #4  
Anta is offline
Anta
Участник
 
4 / 10 (1) +
Регистрация: 10.10.2008
Я посмотрел где выдаётся ошибку: Classes\SalesformLetter_Invoice\checkBeforePosting.
Заметил, что если цена товара не 0 метод checkBeforePosting выполняется 1 раз для строки заказа, если же цена нулевая то 2 раза ( и на 2 прогоне выпадает ошибка).
Старый 10.10.2008, 10:29   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
С нулевой ценой в стандарте нет. Со 100 процентной скидкой — можно.
__________________
С уважением,
glibs®
Старый 10.10.2008, 10:41   #6  
Anta is offline
Anta
Участник
 
4 / 10 (1) +
Регистрация: 10.10.2008
Я пробовал со 100% скидкой таже ошибка
Старый 30.10.2008, 12:03   #7  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
В классе SalesFormLetter_Invoice в методе updateNow есть цикл по SalesFormLine (список SalesParmLine формируется в классе TradeTotals и записывается в recordListSalesParmLine)
X++:
while (salesParmLine)
{
..
if (! recordListSalesParmLine.next(salesParmLine))
 break;
}
{
Внутри этого цикла есть ветка
X++:
 if (SalesParameters::find().ReduceInvoice)
            {
                if (! lineValue)
                    continue;
                else
                    lineAmountExist = true;
            }
а lineAmount в рассматриваемом случае как раз 0.
т.е. возвращаемся к началу цикла с прежним курсором SalesParmLine
в итоге получаем ошибку в методе
X++:
protected void checkBeforePosting()
{
    if (salesParmLine.remainBefore != (salesLine.remainSalesFinancial + salesLine.remainSalesPhysical))
        throw error("@SYS23025");
...
}
т.к. кол-ва уже не совпадают (текущий SalesParmLine отработан)

Таким образом сняв галочку SalesParameters.ReduceInvoice (Автоматическое сокращение по накладной, Уменьшать строки сопоставления автоматически во время разноски накладной?) устраняем ошибку. (Назначение галочки не разбирал)

Похоже на баг
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как програмно найти зарезервировано по строке заказа? 111andrei DAX: Функционал 3 15.05.2006 20:40
Скидка по строке Dozer DAX: Функционал 8 05.04.2005 14:58
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Расчет суммы по строке заказа (закупки) без налогов sergy DAX: Программирование 2 15.03.2004 15:28
Скидка по строке и многострочная скидка efim DAX: Функционал 0 18.06.2003 16:32

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:32.