| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Остатки на дату.
			 
			
			Как получить остаток по складу на опр дату, так чтобы при открытии формы не заснуть должидаясь пока она отработает. 
		
		
		
		
		
		
		
	Использую класс InventSumDateValueReportDim... очень медленно.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			http://axapta.mazzy.ru/lib/inventsumdate/ 
		
		
		
		
		
		
			
		
		
		
		
	InventSumDateValueReportDim считает очень много чего. Какие именно остатки вам нужны?  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			нужен физ. остаток на дату по данномк складу , по данной номенклатуре.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 злыдень 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ОЛАП рассматриваете?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Recoilme
			
			 
ОЛАП рассматриваете? 
		
	Не подскажете ?  
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Bars
			
			 
если к нему можно обратится программно , то да. 
		
	Не подскажете ? ![]() Если проводок задним числом не бывает, то можно просто сделать свою отчетную таблицу, с заранее рассчитанными остатками на все даты. Это проще, чем ОЛАП настраивать, а по сути, тоже самое. 
				__________________ 
		
		
		
		
	Isn't it nice when things just work?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			физ остаток на дату: 
		
		
		
		
		
		
		
	select sum(Qty) from inventTrans where inventTrans.ItemId == "MyItem" && inventTrans.DatePhysical <= dateTo && inventTrans.StatusIssue <= StatusIssue:  educted  &&inventTrans.StatusReceipt<= StatusReceipt::Receipt join inventDim where inventDim.InventDimId == inventTrans.InventDimId && inventDim.InventLocationId == "MyLocation";  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: belugin (3). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			отчетная таблица не ваирант к сожалению. 
		
		
		
		
		
		
		
	Олап настроен, как к нему доступ получить программно понятия не имею. По проводкам.. классы семейства InventSum работают долго, несмотря на то что стал использовать более "простой" класс InventSumDateDim  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 злыдень 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Bars
			
			 
отчетная таблица не ваирант к сожалению. 
		
	Олап настроен, как к нему доступ получить программно понятия не имею. По проводкам.. классы семейства InventSum работают долго, несмотря на то что стал использовать более "простой" класс InventSumDateDim + здесь посмотрите: остатки на дату скопом 
				__________________ 
		
		
		
		
		
			Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ Последний раз редактировалось Recoilme; 30.01.2006 в 17:30.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 злыдень 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ааа, есть ещё всё то что я там понаписал одним запросом на эскюэле через эмуляцию функции нарастающего итога, но писал не я так что.. Как сделать нарастающий итого - на эскюэль ру в ФАК написано
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от UNRW
			
			 
физ остаток на дату: 
		
	select sum(Qty) from inventTrans where inventTrans.ItemId == "MyItem" && inventTrans.DatePhysical <= dateTo && inventTrans.StatusIssue <= StatusIssue:  educted  &&inventTrans.StatusReceipt<= StatusReceipt::Receipt join inventDim where inventDim.InventDimId == inventTrans.InventDimId && inventDim.InventLocationId == "MyLocation"; НИКОГДА так не делайте. Этот код работат боль-мень приемлимо только на игрушечных данных малого объема! Стоит вам только приблизиться к нормальному рабочему объему - ваша база умрет. Здесь написано как Аксапта получает остатки на произвольную дату http://axapta.mazzy.ru/lib/inventsumdate/  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от mazzy
			
			 
НЕТ! НЕТ! НЕТ!!! И еще раз НЕТ!!! 
		
	НИКОГДА так не делайте. Этот код работат боль-мень приемлимо только на игрушечных данных малого объема! Стоит вам только приблизиться к нормальному рабочему объему - ваша база умрет. Здесь написано как Аксапта получает остатки на произвольную дату http://axapta.mazzy.ru/lib/inventsumdate/ Все равно медленно.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 злыдень 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Bars
			
			 
Прочитал, понял, спасибо). 
		
	Все равно медленно.   ???
		
				__________________ 
		
		
		
		
	Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			)) нужно сформировать оборотку по товару, по данному складу... 
		
		
		
		
		
		
		
	за основу взял форму проводок. .. немного изменяю.. чтобы периоды указывать можно было и т.п. + надо добавить колонку с остатком...  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 злыдень 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Bars
			
			 
если к нему можно обратится программно , то да. 
		
	Не подскажете ? ![]() 
				__________________ 
		
		
		
		
	Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от mazzy
			
			 
Здесь написано как Аксапта получает остатки на произвольную дату 
		
	http://axapta.mazzy.ru/lib/inventsumdate/ Наиболее правильным вариантом является создание отдельной OLAP-базы, в которую с ежедневной периодичностью переносятся нужные данные из axapta. По этой базе уже и строятся отчеты по остаткам на дату. При этом понятно, что будет запаздывание, поэтому текущие остатки нужно брать из Axapta. Однако в качестве промежуточного решения я бы всё же использовал запрос "с начала времен". Его план выполнения по-крайней мере можно оптимизировать средствами СУБД (Oracle)...  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Recoilme (3). | |
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Mazzy, вы "шутите"... 
		
		
		
		
		
		
		
		
			мы строим отчеты с остатками на начало периода, на конец периода + обороты за период рассчитывем по нескольким десяткам тысяч позиций за год - обрабатывает до полумиллиона проводок... данные в отчет готовятся за 3-4 минуты + выгрузка в Excel около минуты (до 60-ти тысяч строк в отчете)... представь что Косяпта у тебя стала работать с 01.01.2004 отработала уже 2 года... и отчет надо построить именно на 01.01.2004 расчитывая назад от InventSum ты будешь ждать завершения раз в 10 дольше чем прямым вычилением... Например, некоторые отчеты разработанные Коламбусом работают именно так (не от InventSum), и даже включены в dis слой какой-то нерусской косяпты... стандартные отчеты у них работали сутками... а эти минуты... и все из-за того, что если в стандартном функционале поставить 3-4 складских аналитики, стандарный механизм будет работать как 3-4 вложенных while select Последний раз редактировалось UNRW; 31.01.2006 в 12:43.  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Member 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не знаю, на каком наречии написан код UNRW, но после его небольшой рихтовки на не показательно большой но реальной базе за 1/2 года результат выдает весьма быстро. 120,000 InventTrans.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, glibs®  | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от glibs
			
			 
Не знаю, на каком наречии написан код UNRW, но после его небольшой рихтовки на не показательно большой но реальной базе за 1/2 года результат выдает весьма быстро. 120,000 InventTrans. 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			код я брал не из нашей рабочей базы...  писал на память
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| Теги | 
| остатки, ax3.0 | 
| 
	
	 | 
	
		
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Остатки на дату InventSumDatePhysical | 6 | |||
| Остатки товара на определенную дату | 7 | |||
| Скачут остатки | 3 | |||
| Цена на дату создания заказа/закупки | 2 | |||
| Остатки | 6 | |||
		
  |