30.01.2006, 14:56 | #1 |
Участник
|
Остатки на дату.
Как получить остаток по складу на опр дату, так чтобы при открытии формы не заснуть должидаясь пока она отработает.
Использую класс InventSumDateValueReportDim... очень медленно. |
|
30.01.2006, 15:00 | #2 |
Участник
|
http://axapta.mazzy.ru/lib/inventsumdate/
InventSumDateValueReportDim считает очень много чего. Какие именно остатки вам нужны? |
|
30.01.2006, 15:42 | #3 |
Участник
|
нужен физ. остаток на дату по данномк складу , по данной номенклатуре.
|
|
30.01.2006, 15:45 | #4 |
злыдень
|
ОЛАП рассматриваете?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
30.01.2006, 15:52 | #5 |
Участник
|
Цитата:
Сообщение от Recoilme
ОЛАП рассматриваете?
Не подскажете ? |
|
30.01.2006, 16:06 | #6 |
NavAx
|
Цитата:
Сообщение от Bars
если к нему можно обратится программно , то да.
Не подскажете ? Если проводок задним числом не бывает, то можно просто сделать свою отчетную таблицу, с заранее рассчитанными остатками на все даты. Это проще, чем ОЛАП настраивать, а по сути, тоже самое.
__________________
Isn't it nice when things just work? |
|
30.01.2006, 16:16 | #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). |
30.01.2006, 16:19 | #8 |
Участник
|
отчетная таблица не ваирант к сожалению.
Олап настроен, как к нему доступ получить программно понятия не имею. По проводкам.. классы семейства InventSum работают долго, несмотря на то что стал использовать более "простой" класс InventSumDateDim |
|
30.01.2006, 17:20 | #9 |
злыдень
|
Цитата:
Сообщение от Bars
отчетная таблица не ваирант к сожалению.
Олап настроен, как к нему доступ получить программно понятия не имею. По проводкам.. классы семейства InventSum работают долго, несмотря на то что стал использовать более "простой" класс InventSumDateDim + здесь посмотрите: остатки на дату скопом
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ Последний раз редактировалось Recoilme; 30.01.2006 в 17:30. |
|
30.01.2006, 17:34 | #10 |
злыдень
|
ааа, есть ещё всё то что я там понаписал одним запросом на эскюэле через эмуляцию функции нарастающего итога, но писал не я так что.. Как сделать нарастающий итого - на эскюэль ру в ФАК написано
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
31.01.2006, 01:03 | #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/ |
|
31.01.2006, 07:45 | #12 |
Участник
|
Цитата:
Сообщение от mazzy
НЕТ! НЕТ! НЕТ!!! И еще раз НЕТ!!!
НИКОГДА так не делайте. Этот код работат боль-мень приемлимо только на игрушечных данных малого объема! Стоит вам только приблизиться к нормальному рабочему объему - ваша база умрет. Здесь написано как Аксапта получает остатки на произвольную дату http://axapta.mazzy.ru/lib/inventsumdate/ Все равно медленно. |
|
31.01.2006, 09:32 | #13 |
злыдень
|
Цитата:
Сообщение от Bars
Прочитал, понял, спасибо).
Все равно медленно.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
31.01.2006, 09:38 | #14 |
Участник
|
)) нужно сформировать оборотку по товару, по данному складу...
за основу взял форму проводок. .. немного изменяю.. чтобы периоды указывать можно было и т.п. + надо добавить колонку с остатком... |
|
31.01.2006, 09:46 | #15 |
злыдень
|
Цитата:
Сообщение от Bars
если к нему можно обратится программно , то да.
Не подскажете ?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
31.01.2006, 09:52 | #16 |
Участник
|
Цитата:
Сообщение от mazzy
Здесь написано как Аксапта получает остатки на произвольную дату
http://axapta.mazzy.ru/lib/inventsumdate/ Наиболее правильным вариантом является создание отдельной OLAP-базы, в которую с ежедневной периодичностью переносятся нужные данные из axapta. По этой базе уже и строятся отчеты по остаткам на дату. При этом понятно, что будет запаздывание, поэтому текущие остатки нужно брать из Axapta. Однако в качестве промежуточного решения я бы всё же использовал запрос "с начала времен". Его план выполнения по-крайней мере можно оптимизировать средствами СУБД (Oracle)... |
|
|
За это сообщение автора поблагодарили: Recoilme (3). |
31.01.2006, 11:59 | #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. |
|
31.01.2006, 12:33 | #18 |
Member
|
Не знаю, на каком наречии написан код UNRW, но после его небольшой рихтовки на не показательно большой но реальной базе за 1/2 года результат выдает весьма быстро. 120,000 InventTrans.
__________________
С уважением, glibs® |
|
31.01.2006, 12:42 | #19 |
Участник
|
Цитата:
Сообщение от glibs
Не знаю, на каком наречии написан код UNRW, но после его небольшой рихтовки на не показательно большой но реальной базе за 1/2 года результат выдает весьма быстро. 120,000 InventTrans.
|
|
31.01.2006, 12:44 | #20 |
Участник
|
код я брал не из нашей рабочей базы... писал на память
|
|
Теги |
остатки, ax3.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
Остатки на дату InventSumDatePhysical | 6 | |||
Остатки товара на определенную дату | 7 | |||
Скачут остатки | 3 | |||
Цена на дату создания заказа/закупки | 2 | |||
Остатки | 6 |
|