![]() |
#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: ![]() 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: ![]() 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 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|