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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2007, 12:16   #1  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
? Отличия в строках ReqPO, почему одна строка появляется в форме а другая нет (Master Planning, Planned Orders)
Когда смотрю форму Planned Orders то там идут записи из ReqPO (один planned order на один itemid) , но если глянуть в таблицу то там на определённый ItemId несколько записей. Вопрос: как мне найти именно ту запись по ItemId, что отображается в форме Master Planning -> Planned orders ? Я смотрел также ReqTrans для етих ItemId - не могу найти в чём отличие!

Просто у меня задание: импортируются planned orders, но если planned order на определённый item уже есть в форме planned orders - то удалить его и создать новый. Новый planned order у меня создаётся но я не могу найти тот что в форме уже есть, если в ReqPO много записей с таким ItemId.

Мой код:
(может надо while поставить, но не удалится ли чего лишнего... )

Цитата:
//[AGR6996] TE-rko 20.02.2007 - delete existing Planned Order
void deleteExistingReqPO(ReqPO _reqPO)
{
ReqPO tempReqPO;
ReqTrans tempReqTrans;
;
ttsbegin;
select forupdate firstonly tempReqPO where tempReqPO.ItemId == _reqPO.ItemId &&
tempReqPO.AgrSalesTypeAdv == _reqPO.AgrSalesTypeAdv &&
tempReqPO.RefType == 33;
if(tempReqPO)
{
tempReqTrans = tempReqPO.reqTrans();

if(tempReqTrans)
tempReqPO.delete();
}
ttscommit;
}
Заранее спасибо!
Старый 21.02.2007, 14:08   #2  
e@gle is offline
e@gle
MCTS
MCBMSS
 
164 / 72 (3) ++++
Регистрация: 11.04.2005
Адрес: Минск
А сколько в системе настроено и используется прогнозных и сводных планов?
Пользуетесь ли стандартным сводным - прогнозным планированием?
Может из-за них получться такая ситуация.
Старый 21.02.2007, 14:17   #3  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
там же куча фильтров стоит на соотв. вкладке, поэтому, наверное, все и не отображаются. И в select видимо нужно добавить еще и reqpostatus

Последний раз редактировалось Eldar9x; 21.02.2007 в 14:20.
Старый 21.02.2007, 14:39   #4  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
Посмотрите на запрос источника данных ReqPo (ReqPo_ds.ToString())
там будет видать какие фильтры стоят.
Старый 21.02.2007, 14:51   #5  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,296 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Откуда взялась такая задача?
Прямо скажем, нестандартное решение.
Чтобы импортировали сразу закупки, я уже видел.
Но чтобы в планируемые заказы...
Зачем?
__________________
Михаил Андреев
https://www.amand.ru
Старый 21.02.2007, 15:42   #6  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
e@gle
Если честно я не знаю что ответить, я инициализирую новый planned order так и вроде всё в порядке:
Цитата:
reqPO.clear();
reqTrans.clear();

reqPlanId = reqPlanSched::defaultStaticId();
reqPlan = reqPlan::find(reqPlanId);
if (!reqPlan.RecId)
this.addError("@SYS28502",KRBErrorLevel::E2_Warning);

reqPO.ReqPlanId = reqPlanId;
reqPO.RefType = ReqRefType::ItemPlannedOrder;

reqPO.initFromItemId(ItemId);


reqPo.ReqDateDlv = systemDateGet();
reqPO.Qty = str2num(ReqQuantity);
reqPO.PurchQty = str2num(ReqQuantity);

inventDim.InventLocationId = Warehouse;
reqPO.CovInventDimId = InventDim::findOrCreate(inventDim).inventDimId;
reqPO.PurchUnit = inventTableModule::find(ItemId,moduleInventPurchSales::Invent).UnitId;

reqPO.AgrSalesTypeAdv = AgrSalesTypeAdv::Standard;

//overwrite if item already exists
//if (itemid == "10002266")
//breakpoint;


this.deleteExistingReqPO(reqPO);

ttsbegin;

reqPO.insert();
reqTrans.insertFromReqPo(reqPO);

ttscommit;
Eldar9x
на вкладке Filters ничего не включено.

Михаил Андреев
программируем для финов, не знаю зачем им это. Но должно работать
Старый 21.02.2007, 15:48   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
откройте обозреватель таблицы, найдите какой нибудь itemId. Посмотрите чем отличаюся строки с данным itemId
Старый 21.02.2007, 16:14   #8  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
Заметил что если есть соответствующая запись в ReqTransCov то такой planned order не отображается в форме! сделал так:

X++:
//[AGR6996] TE-rko 20.02.2007 - delete existing Planned Order
void deleteExistingReqPO(ReqPO _reqPO)
{
    ReqPO           reqPO;
    ReqTrans        reqTrans;
    ReqTransCov     reqTransCov;
    ;
    ttsbegin;

    while
        select forupdate reqPO where
                              reqPO.ItemId              == _reqPO.ItemId      &&
                              reqPO.AgrSalesTypeAdv     == _reqPO.AgrSalesTypeAdv &&
                              reqPO.RefType             == 33
    {
        reqTrans = reqPO.reqTrans();
        if (reqTrans && reqTrans.Direction == 1)
        {
            select firstonly reqTransCov where reqTransCov.IssueRecId == reqTrans.RecId;
            if (!reqTransCov)
                reqPO.delete();
        }
    }
    ttscommit;
}
Кто может прокомментировать, не вызовет ли проблем такой код?
Старый 21.02.2007, 16:27   #9  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
Eldar9x
В этом то фокус что ни в ReqPO ни в ReqTrans для определённых itemid нет отличий между теми что отбражаются и теми что нет! И я заметил что именно если в ReqTransCov есть соотв. запись то есть она или нет влияет на отбражение в форме!

Может кто прояснить ситуацию так ли это?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как правильно создать в коде X++ новый planned order (ReqPO, ReqTrans) rkorchagin DAX: Программирование 5 02.06.2016 18:00
Как не выводить заголовки в форме, если нет строк? DreamCreator DAX: Программирование 9 29.05.2008 15:10
Почему на форме "Пользовательские настройки", когда я перехожу в нее из формы, отсутствует закладка "Запрос"? Hans DAX: Администрирование 0 05.07.2007 13:52
почему нет "шаблон пользователя" в моей форме? Hans DAX: Программирование 2 05.10.2006 13:23
Форма InventOnhandItem, Почему RecID у InventSum в этой форме всегда 0? Кирилл DAX: Программирование 2 25.05.2004 18:15

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

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

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