02.11.2009, 14:43 | #1 |
Участник
|
Синхронное добавление/изменение записей
Необходимо решить такую задачу:
- есть 2 таблицы, к примеру, проводки и итоговая таблица остаток на дату Как наилучшим образом реалиовать синхронное добавление/обновление записи остатка на дату при каждом добавлении/удалении записей за эту дату в таблице проводок за ту же дату? |
|
02.11.2009, 14:49 | #2 |
Ищущий знания...
|
смотря какие условия, а конкретно нужна ли Итоговая таблица в он-лайне, или можно что бы она была актуальна на вчерашний день?
можно в методах insert и update таблицы проводок вызывать (например) класс, который в свою очередь будет обновлять\добавлять данные в итоговую таблицу... это если надо в он-лайне может повлиять на производительность... можно каждую ночь выполнять пакетное задание, которое будет пересчитывать итоги по номенклатуре, в разрезе аналитик (ну или как вам надо).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
02.11.2009, 15:12 | #3 |
Moderator
|
Я бы смотрел в сторону OLAP, ну или хотя бы отдельной процедуры, пересчитывающей табличку остатков.
Насколько я понимаю, решается задача ускорения оборотки по складу или я не прав? Просто Ваша табличка позволит быстро получать остаток на дату, но не оборот за период. Чтобы получить оборот за период - надо пробежать по таблице остатков и просуммировать по дням. После этого у вас появится идея хранить не только остатки на дату, но и обороты за месяц Сталкивался с таким решением.... Кроме того, если речь идет о складе, вы забываете про то, что остатки надо хранить в разрезе складских аналитик, а точнее их коомбинаций, а значит таблица остатков вырастит на порядки. |
|
02.11.2009, 15:19 | #4 |
Участник
|
Нет, речь идет не о складких проводках, а о неких записях, хранящих параметры номенклатуры (свойства). Как связать 2 таблицы, если в одной будут храниться интерации по номенклатуре за день (приходные и расходные), а в другой входящий остаток, текущий на дату, исходящий. Предполагается хранить три ссылки в итоговой таблицы, которые будут соответствовать идентификаторам трех последних интераций, сформировавших входящий остаток, текущий и исходящий. В свою очередь, записи таблицы интераций юудут содержать ссылку на складкую проводку только для хранения истории возникновения записей (ссылок на источник записи интерации). Интерации создаются при проведении складких операций определнного типа (расход, приход), и будут удаляться также вместе со складскими проводками (сторно, например). Но задача при этом организовать связь с таблицей остатка по свойству (обновление при каждом добалении/удалении интераций. Речи тут о складской аналитике нет, т.к. волне достаточно хранить ссылку на лот.
|
|
02.11.2009, 17:24 | #5 |
Участник
|
а о надстройке над складскими проводками?
Цитата:
это итоговая таблица? "входящий остаток"; "исходящий остаток"; "суммарные обороты" Цитата:
Я так понимаю вот здесь у вас возникла основная трудность? Как-то всё сумбурно. Может лучше приведёте конкретный пример. А то сейчас совсем не понятно чем ваши "интерации" не складские проводки, а "свойства" не складские аналитики |
|