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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.01.2005, 14:37   #1  
Sanya is offline
Sanya
Участник
 
172 / 11 (1) +
Регистрация: 24.04.2003
Адрес: Киев
При попытке просмотреть статистику продаж в модуле CRM появляется сообщение:
Должен быть указан код валют.
Последовательность действий следующая:
1. Создаю предложение в модуле CRM
2. Перевожу его в заказ
3. Открываю форму CRM/Периодические операции/Управление продажами/Статистика продаж, в которой указываю Представление = Заказ против плана.
На этапе 3 возникает упомянутая ошибка.
Созданный в результате шагов 1 и 2 заказ успешно обрабатывается системой без внесения в него изменений, после чего форма Статистика продаж открывается уже без ошибки.
Таким образом, я не могу просмотреть статистику до тех пор, пока у меня есть не обработанные заказы, как это победить?
Старый 11.01.2005, 15:20   #2  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Я так понимаю, ключевое слово - статистика продаж. То есть небработанный заказ - это еще не продажа, это только намерение, которое возможно и не реализуется. Поэтому и считаются только проведенные.
Старый 11.01.2005, 15:41   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Не смог воспроизвести ситуацию.
Мало того, в Axapta 3.0 SP3 CU1 нет текста "Должен быть указан код валют."

Попробуйте воспользоваться методом обнаружения источника ошибки
http://axapta.mazzy.ru/hints/exploreerror/
http://axapta.mazzy.ru/hints/xref/#060
__________________
полезное на axForum, github, vk, coub.
Старый 11.01.2005, 15:47   #4  
Sanya is offline
Sanya
Участник
 
172 / 11 (1) +
Регистрация: 24.04.2003
Адрес: Киев
У меня Axapta 3.0 SP2.
Текст метки я немного перепутал:
"Должен быть указан код валюты", код метки @SYS23229
Ошибка повторяется регулярно, предпологаю дело в настройках, только вот в каких...
Ладно буду искать через код.
Старый 11.01.2005, 16:26   #5  
Sanya is offline
Sanya
Участник
 
172 / 11 (1) +
Регистрация: 24.04.2003
Адрес: Киев
Ошибка появляется если в системе есть заказ, у которого:
"Тип заказа" = Заказа
"Статус" = Открыто
"Ответств. продавец" = тот, по которому строится статистика.
Пока не могу сказать со 100% гарантией, но помоему тут бага в коде:
Метод getInvoicedAmountWithOutTax класса smmSalesManagementQuery
<div class='XPPtop'>X++</div><div class='XPP'>
   [color=:blue]while[/color] (_qr.[color=:blue]next[/color]())
   {
       salesTable = _qr.get([color=:blue]tableNum[/color](SalesTable));

       [color=:blue]if[/color] (!(salesTable.projId))
       {
           [color=:blue]select[/color] custInvoiceJour [color=:blue]where[/color] custInvoiceJour.salesId [color=:blue]==[/color] salesTable.salesId;

           totalAmount += Currency::mSTAmount(.....);
       }
   }</div>
по открытым заказам записей в custInvoiceJour нет, и при расчете totalAmount в метод mSTAmount идет неинициализированная переменная custInvoiceJour, что и приводит к ошибке.
Старый 11.01.2005, 16:49   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
*** извините, ошибся. удалил ***
__________________
полезное на axForum, github, vk, coub.
Старый 11.01.2005, 16:59   #7  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Эта ошибка исправлена в SP3.

Цитата:
Request No.: ES-205-306-HF2J
Subject: Incorrect management statistics on updated sales orders from CRM Quotation
Description: The Management statistics graphs and underlying data were incorrect when displaying summary updated sales orders from CRM Quotations. This has been corrected.
Corrected Source File: Class "smmSalesManagementQuery"
Вот код метода querySalesOrderInvoicedWithOutTax из SP3:
<div class='XPPtop'>X++</div><div class='XPP'>[color=:blue]public[/color] AmountCur querySalesOrderInvoicedWithOutTax(TransDate          _fromDate,
                                                  TransDate          _toDate,
                                                  EmplId             _employee,
                                                  smmSalesUnitId     _salesUnit,
                                                  smmPerspective     _perspective)
{
   AmountCur           totalAmount;
   CustInvoiceJour     custInvoiceJour;
   SalesTable          salesTable;
  ;

   [color=:blue]if[/color] (_employee && _perspective [color=:blue]==[/color] smmSalesManagementPerspective::Salesman)
   {
       [color=:blue]while[/color] [color=:blue]select[/color] custInvoiceJour join salesTable [color=:blue]where[/color] custInvoiceJour.SalesId [color=:blue]==[/color] salesTable.SalesID &&
                    salesTable.SalesResponsible [color=:blue]==[/color] _employee && custInvoiceJour.InvoiceDate <= _toDate &&
                    custInvoiceJour.InvoiceDate >= _fromDate
       {
           totalAmount += Currency::mSTAmount(custInvoiceJour.InvoiceAmount - custInvoiceJour.SumTax, custInvoiceJour.CurrencyCode, custInvoiceJour.InvoiceDate);
       }
   }

   [color=:blue]if[/color] (_salesUnit && _perspective [color=:blue]==[/color] smmSalesManagementPerspective::SalesUnit)
   {
       [color=:blue]while[/color] [color=:blue]select[/color] custInvoiceJour join salesTable [color=:blue]where[/color] custInvoiceJour.SalesId [color=:blue]==[/color] salesTable.SalesID &&
                    salesTable.SalesResponsible [color=:blue]==[/color] _employee && custInvoiceJour.InvoiceDate <= _toDate &&
                    custInvoiceJour.InvoiceDate >= _fromDate
       {
           totalAmount += Currency::mSTAmount(custInvoiceJour.InvoiceAmount - custInvoiceJour.SumTax, custInvoiceJour.CurrencyCode, custInvoiceJour.InvoiceDate);
       }
   }

   [color=:blue]return[/color] totalAmount;
}</div>
Попробуйте изменить этот метод.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 11.01.2005, 17:03   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Кстати, в SP3 тот метод, который у Вас приводит к ошибке (getInvoicedAmountWithOutTax) вообще ниоткуда не вызывается.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 11.01.2005, 17:11   #9  
Sanya is offline
Sanya
Участник
 
172 / 11 (1) +
Регистрация: 24.04.2003
Адрес: Киев
Спасибо.
Все заработало.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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