|  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 есть соотв. запись то есть она или нет влияет на отбражение в форме! Может кто прояснить ситуацию так ли это? | 
|  | 
|  | 
| 
 |