|  28.03.2007, 18:03 | #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 | 
|  | 
|  28.03.2007, 20:08 | #2 | 
| Member | 
			
			А в отчете стандартном (Физ. наличие по складам) такая же картина?
		 
				__________________ С уважением, glibs® | 
|  | 
|  29.03.2007, 09:06 | #3 | 
| Участник | 
			
			Да, та же самая (там же используется класс из той же иерархии). Вчера просто не было возможности проверить. Сегодня получил доступ к стандартным SP3 и SP5 - на них ошибка не воспроизводится. В нашем приложении в InventTransPosting при сториноровании отборочной накладной по закупке создается на одну запись меньше, чем в стандартном приложении. Так что сегодня буду искать, что там за 3 года "намодифицировали". | 
|  | 
|  29.03.2007, 11:27 | #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). | |
|  10.05.2007, 12:34 | #5 | 
| Участник |   
			
			Raven Melancholic, во первых спасибо за то что подсказали, в чем причина "съехавших" остатков на дату и как пофиксить код. В данный момент я как раз пишу Job, который исправит последствия. Что удалось выяснить(только предположения, в складском контуре я не силен): 1. При создании сторно отборочной накладной в таблице InventTransPosting не создается запись с InventTransPostingType = InventTransPostingType::Physical. 2. Для складской проводки не прописываются DateFinancial, Voucher. Вроде бы по этим двум признакам джобом можно найти неверные данные и создать недостающие записи в InventTransPosting, проапдейтить неправильные в InventTrans, но увы это не решает проблему. То есть что то я таки упустил, сижу разбираюсь дальше, но пока с идеями не очень густо  . Если у кого то есть какие либо мысли по данному вопросу, заранее спасибо за информацию! | 
|  | 
|  10.05.2007, 13:04 | #6 | 
| Участник | 
			
			Вот класс, исправляющий существующие записи. У него есть ограничение: исправляет только те возвраты которые были сделаны при помощи указания отрицательного значения в поле "немедленная поставка". Если возврат осуществлялся другим способом (отдельными лотами в том же заказе/закупке, вообще отдельными документами), то такие записи не исправляются. Так же не исправляются записи в случае, если по одному лоту несколько возвратов. Для нас эти ограничения неважны, если для вас это критично, то думаю доделать несложно. | 
|  | |
| За это сообщение автора поблагодарили: Logger (7). | |
|  10.05.2007, 15:29 | #7 | 
| Участник |   
			
			Спасибо за класс, он окончательно подсказал верное направление!
		 | 
|  | 
| Теги | 
| ax3.0 | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Остатки товара на определенную дату | 7 | |||
| Скачут остатки | 3 | |||
| Остатки на дату. | 119 | |||
| Цена на дату создания заказа/закупки | 2 | |||
| Остатки | 6 | |||
| 
 |