| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Остатки на дату InventSumDatePhysical
			 
			
			Странная ситуация с остатками. Выполнил следующую последовательность действий: 
		
		
		
		
		
		
		
	1) Совсем новая номенклатура, по ней сделал закупку 2) По закупке создал отборочную накладную 20.03.2007 на 5 единиц. 3) При помощи поля "Немедленное получение" с минусовым количеством отсторнирвал её тем же числом - все 5 единиц. 4) Создал новую отборочную накладную 21.03.2007 на 5 единиц 5) Создан финансовую накладеную 21.03.2007 на 5 единиц Я считал, что используя класс InventSumDatePhysical получу на 15.03.2007 остаток равный нулю, но не тут-то было: остаток -5 (минус пять). Код в принципе простейший: X++: inventDimParm.initFromInventDim(_inventDim); inventSumDate = InventSumDatePhysicalDim::newParameters(_dateSaldo, _inventTable.ItemId, _inventDim, inventDimParm); tmpQty = inventSumDate.physicalQuantity(); Вопрос: сталкивался ли кто-нибудь с подобным поведением? Пока не могу понять копать стандартный функционал или модификации приводят к такому? Ax 3.0 SP 3 с некоторыми вытяжками из SP 5  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Member 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А в отчете стандартном (Физ. наличие по складам) такая же картина?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, glibs®  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, та же самая (там же используется класс из той же иерархии). 
		
		
		
		
		
		
		
	Вчера просто не было возможности проверить. Сегодня получил доступ к стандартным SP3 и SP5 - на них ошибка не воспроизводится. В нашем приложении в InventTransPosting при сториноровании отборочной накладной по закупке создается на одну запись меньше, чем в стандартном приложении. Так что сегодня буду искать, что там за 3 года "намодифицировали".  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Поспешил. Оказывается у меня не чистый SP3. Оказывается, ошибка была до SP4, о чем говорит такой код в методах updateTransPhysicalReturnedReceipt и updateTransPhysicalReturnedIssue класса InventUpd_Physical. 
		
		
		
		
		
		
		
	X++: // START: 1947 SP4 inventTrans.voucher= _ledgerVoucher.lastVoucher(); localBuffer.Voucher = inventTrans.Voucher; localBuffer.VoucherPhysical = inventTrans.Voucher; this.postingPhysical(true); // END: 1947 SP4 Осталось придумать, как исправить существующие записи.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Lemming (2), kashperuk (3), _AnK_ (2). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Raven Melancholic, во первых спасибо за то что подсказали, в чем причина "съехавших" остатков на дату и как пофиксить код. 
		
		
		
		
		
		
		
	В данный момент я как раз пишу Job, который исправит последствия. Что удалось выяснить(только предположения, в складском контуре я не силен): 1. При создании сторно отборочной накладной в таблице InventTransPosting не создается запись с InventTransPostingType = InventTransPostingType::Physical. 2. Для складской проводки не прописываются DateFinancial, Voucher. Вроде бы по этим двум признакам джобом можно найти неверные данные и создать недостающие записи в InventTransPosting, проапдейтить неправильные в InventTrans, но увы это не решает проблему. То есть что то я таки упустил, сижу разбираюсь дальше, но пока с идеями не очень густо   .Если у кого то есть какие либо мысли по данному вопросу, заранее спасибо за информацию!  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вот класс, исправляющий существующие записи. У него есть ограничение: исправляет только те возвраты которые были сделаны при помощи указания отрицательного значения в поле "немедленная поставка". Если возврат осуществлялся другим способом (отдельными лотами в том же заказе/закупке, вообще отдельными документами), то такие записи не исправляются. Так же не исправляются записи в случае, если по одному лоту несколько возвратов. 
		
		
		
			Для нас эти ограничения неважны, если для вас это критично, то думаю доделать несложно.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (7). | |
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Спасибо за класс, он окончательно подсказал верное направление!
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| Теги | 
| ax3.0 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Остатки товара на определенную дату | 7 | |||
| Скачут остатки | 3 | |||
| Остатки на дату. | 119 | |||
| Цена на дату создания заказа/закупки | 2 | |||
| Остатки | 6 | |||
		
  |