|  30.04.2013, 11:49 | #1 | 
| MCTS | Список партий, по которым есть остатки (на дату) 
			
			Подскажите, пожалуйста, как получить список партий по которым были остатки, скажем, позавчера?
		 | 
|  | 
|  30.04.2013, 12:01 | #2 | 
| Banned | 
			
			Отчет "физическое наличие по аналитикам" с фильтром по "Доступное количество"  !0.
		 | 
|  | 
|  30.04.2013, 12:03 | #3 | 
| Участник | 
			
			Путь в 3-ке - УЗ \ Отчеты \ Статус \ Физ. наличие по складам Путь в 4-ке - нет под рукой Путь в 2009 УЗ \ Отчеты \ Статус \ Физические запасы по складским аналитикам Путь в 2012 - похоже также как и в 2009 Указать: 1. Дата = позавчера 2. Просмотр в разрезе партий. 3. В фильтре указать не пустую партию по InventDim Добавлено: EVGL опередил) | 
|  | 
|  30.04.2013, 12:07 | #4 | 
| MCTS | 
			
			А как программно это сделать?
		 | 
|  | 
|  30.04.2013, 12:08 | #5 | 
| Участник | 
			
			Вообще рекомендую http://axapta.mazzy.ru/lib/inventsumdate/ Это по 3-ке, но для 2009 тоже актуально. | 
|  | 
|  30.04.2013, 14:02 | #6 | 
| Аманд | 
			
			Ещё есть отчёт в УЗ, что-то типа "Просроченные партии"
		 | 
|  | 
|  30.04.2013, 14:42 | #7 | 
| Участник | 
			
			В примере в качестве параметров используется _itemId (если не задан - то по всем номенклатурам), _dateFrom - дата, на которую нужны остатки, _inventLocationId - склад. X++: while select sum(Qty), sum(costAmountPosted), sum(costAmountAdjustment) from InventTrans group by ItemId where ( !_itemId || InventTrans.ItemId == _itemId ) && ( InventTrans.DatePhysical < _dateFrom ) && ( InventTrans.StatusReceipt == StatusReceipt::Purchased || InventTrans.StatusReceipt == StatusReceipt::Received || InventTrans.StatusIssue == StatusIssue::Sold || InventTrans.StatusIssue == StatusIssue::Deducted ) join inventDim group by InventBatchId where inventDim.inventDimId == inventTrans.inventDimId && (!_inventLocationId || inventDim.InventLocationId == _inventLocationId) { } | 
|  | |
| За это сообщение автора поблагодарили: Eldar9x (5). | |
|  30.04.2013, 15:46 | #8 | 
| Участник | 
			
			to Ace of Database Предложенный вами способ: 1. Будет работать значительно медленнее чем подход, который используется в стандартной функциональности. 2. Не учитывает, что дата корректировки себестоимости может (и обычно будет) отличаться от даты проводки, тем более физической даты. 3. Не учитывает статусы скомплектовано и зарегистрировано, которые влияют на остатки в наличии. 4. Опирается только на физическую дату, что не всегда верно. Т.е. как одноразовая активность может быть и подойдет, в общем случае нет. Я бы советовал автору все таки смотреть в сторону классов InventSumDate* в их реализации все эти нюансы учтены. | 
|  | 
|  30.04.2013, 17:14 | #9 | 
| MCTS | Цитата: 
		
			Сообщение от Starling
			   to Ace of Database Предложенный вами способ: 1. Будет работать значительно медленнее чем подход, который используется в стандартной функциональности. 2. Не учитывает, что дата корректировки себестоимости может (и обычно будет) отличаться от даты проводки, тем более физической даты. 3. Не учитывает статусы скомплектовано и зарегистрировано, которые влияют на остатки в наличии. 4. Опирается только на физическую дату, что не всегда верно. Т.е. как одноразовая активность может быть и подойдет, в общем случае нет. Я бы советовал автору все таки смотреть в сторону классов InventSumDate* в их реализации все эти нюансы учтены. | 
|  | 
|  30.04.2013, 17:43 | #10 | 
| Участник | 
			
			Как пример можно использовать код метода fetch() отчета InventDimPosted. Все необходимые для вас параметры доступны в этом методе. Вам необходимо изначально указать условия в query, согласно которым вы будете выбирать только те записи в InventSum для которых в InventDim заполнено поле "Партия". Дальше дело техники. Более того в отчете даже есть такой параметр как Показывать нулевые строки. Как раз он и отвечает за то, чтобы выводить только не нулевые остатки. Сам отчет запускает в 2009 по пути УЗ \ Отчеты \ Статус \ Стоимость запасов \ Стоимость запасов по складской аналитике. | 
|  | |
| За это сообщение автора поблагодарили: Eldar9x (5). | |
|  03.05.2013, 08:31 | #11 | 
| Участник | Цитата: По остальным замечаниям, все зависит от конкретной задачи. Последний раз редактировалось Ace of Database; 03.05.2013 в 08:40. | 
|  | 
|  03.05.2013, 08:39 | #12 | 
| Участник | Цитата: По поводу статусов "скомплектовано" и "зарезервировано", то их бессмысленно учитывать в отчетах "на дату". Так как сегодня мы не можем знать сколько было скомплектовано, скажем, неделю назад. | 
|  | 
|  06.05.2013, 18:47 | #13 | 
| Участник | Цитата: Если доля разукомлектации и хождения статусов из скомплектовано в физ. резерв не велика, то можно основываться с некоторой поправкой на это поле. Ограничение в том, что это поле обновляется только в момент первичного перехода в нужный статус и потом не сбрасывается. Может кто использовал это поле, меня поправит...   | 
|  | 
|  06.05.2013, 19:21 | #14 | 
| Участник | 
			
			Тогда придется писать хитрый запрос, в котором проверять, что если DatePhysical больше, чем DateInvent, то считать что в промежутке между DateInvent и DatePhysical проводка была скомплектована. Дело дойдет до того, что придется анализировать каждую проводку в цикле.
		 | 
|  | 
|  07.05.2013, 11:16 | #15 | 
| Участник | 
			
			Все зависит от задачи, которая стоит. Если мы говорим про универсальность, то я полностью согласен с тем, что отчет будет тяжелым. По поводу легких "заточенных" отчетов под какие-то определенные задачи, то рано или поздно они консолидируются во что-то тяжелое...  В остальном as you like) | 
|  | 
|  07.05.2013, 13:45 | #16 | 
| Administrator | Цитата: 
		
			Сообщение от Ace of Database
			   У нас отчет по движению товаров состоит из более чем 50 колонок, для вычисления каждой из которой применяется подобный запрос. Для 2500 номенклатур и 7 миллионов проводок отчет выполняется за 15 минут. Если же сделать так, как считает Аксапта в стандартных отчетах, то время выполнения отчета стремится к бесконечности. По остальным замечаниям, все зависит от конкретной задачи. 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  08.05.2013, 10:25 | #17 | 
| Участник | 
			
			У нас остатки не отличаются. И дело вообще не в отчетах и технических особенностях реализации. Важно правильно поставить управленческий учет. И договориться, что считать остатками на дату.
		 Последний раз редактировалось Ace of Database; 08.05.2013 в 10:28. | 
|  | 
|  08.05.2013, 10:28 | #18 | 
| Участник | |
|  | 
|  08.05.2013, 10:35 | #19 | 
| Участник | 
			
			В рамках принятой у нас практики, такой расчет себестоимости всех устраивает. Я не говорю, что это устроит всех. На двух предприятиях, на которых я работал, и в которых велся учет себестоимости в Аксапте, придумывали что-то свое и не пользовались стандартными отчетами по себестоимости. И это не я придумывал. Были большие команды внедренцев. Наверное я зря включил поля CostAmountPosted и CostAmoutAdjustment в пример. Скорее всего, автора интересовали количественные остатки на дату. | 
|  | 
|  08.05.2013, 10:44 | #20 | 
| Участник | 
			
			В ходе эволюции больших проектов, в которых я участвовал, большие команды разработчиков пытались применять универсальные механизмы. Но в итоге практика победила теорию.  Я бы сам был рад приспособить один универсальный отчет под нужды пользователей. Но пользователям не нужны универсальные отчеты. Им нужны отчеты из 100 колонок в Экселе, с красивыми группировками. Каждый новый менеждер привносит в систему что-то свое. При этом нанимать менеджеров со знанием Аксапты и с аксаптовским подходом к делу, видимо, не соответствует рыночным условиям. | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Конвертировать некую дату в UTC-дату | 4 | |||
| номера партий | 8 | |||
| Обработка накладной – функция изменить дату | 2 | |||
| Цена на дату создания заказа/закупки | 2 | |||
| Остатки | 6 | |||
| 
 |