21.02.2007, 12:16 | #1 |
Участник
|
Отличия в строках 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 |
MCTS
|
А сколько в системе настроено и используется прогнозных и сводных планов?
Пользуетесь ли стандартным сводным - прогнозным планированием? Может из-за них получться такая ситуация. |
|
21.02.2007, 14:17 | #3 |
MCTS
|
там же куча фильтров стоит на соотв. вкладке, поэтому, наверное, все и не отображаются. И в select видимо нужно добавить еще и reqpostatus
Последний раз редактировалось Eldar9x; 21.02.2007 в 14:20. |
|
21.02.2007, 14:39 | #4 |
Участник
|
Посмотрите на запрос источника данных ReqPo (ReqPo_ds.ToString())
там будет видать какие фильтры стоят. |
|
21.02.2007, 14:51 | #5 |
Участник
|
Откуда взялась такая задача?
Прямо скажем, нестандартное решение. Чтобы импортировали сразу закупки, я уже видел. Но чтобы в планируемые заказы... Зачем? |
|
21.02.2007, 15:42 | #6 |
Участник
|
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; на вкладке Filters ничего не включено. Михаил Андреев программируем для финов, не знаю зачем им это. Но должно работать |
|
21.02.2007, 15:48 | #7 |
MCTS
|
откройте обозреватель таблицы, найдите какой нибудь itemId. Посмотрите чем отличаюся строки с данным itemId
|
|
21.02.2007, 16:14 | #8 |
Участник
|
Заметил что если есть соответствующая запись в 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 |
Участник
|
Eldar9x
В этом то фокус что ни в ReqPO ни в ReqTrans для определённых itemid нет отличий между теми что отбражаются и теми что нет! И я заметил что именно если в ReqTransCov есть соотв. запись то есть она или нет влияет на отбражение в форме! Может кто прояснить ситуацию так ли это? |
|
|
|