powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату
22 сообщений из 47, страница 2 из 2
Остатки на любую дату
    #34125881
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak4Допустим юзер решил ввести расход архднем....
Тогда придется нарастающим исправлять остатки в табличке "Даты_проводок" ,а если вдруг красное сальдо в каком нить дне?
Вы как поступаете в этом случае?
Сгачала проверить, потом проводить, ессно.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125893
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126416
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.
Когда Вы делаете подобные заявления, то всегда добавляйте "по моему мнению" или "в моей практике". :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126474
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 мод
--
просмотрел все, не нашел где Вы говорили о проблемах текущих остатков. Хотел почитать
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126525
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.Отчасти согласен - "текущего" остатка достаточно только для "небольших" задач.
В "больших" системах всегда есть нужда хранить остатки на некие моменты, по которым "бьются" отчеты - дни, месяцы. Если этого не делать, то для расчета остатка задним числом придется анализировать все изменения, произошедшие в базе с момента запуска или ретроспективно.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126541
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esОтчасти согласен - "текущего" остатка достаточно только для "небольших" задач.
В "больших" системах всегда есть нужда хранить остатки на некие моменты, по которым "бьются" отчеты - дни, месяцы. Если этого не делать, то для расчета остатка задним числом придется анализировать все изменения, произошедшие в базе с момента запуска или ретроспективно.
:) Вы делали, пробовали или просто так думаете?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126570
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm:) Вы делали, пробовали или просто так думаете?Именно. В одной системе как раз сначала хранил только текущий остаток. После того, как для склада потребовалась "реальная работа", а не просто "сверка наличия", пришлось перерабатывать систему под перерасчет ежедневных остатков. Иначе расчет "учетных карточек" шел бы неприлично долго. И не было бы возможности удалять накладные N-летней давности.

В данный момент тоже работаю с системой, в которой без этих "промежуточных" остатков все загнется.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126588
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es iscrafm:) Вы делали, пробовали или просто так думаете?Именно. В одной системе как раз сначала хранил только текущий остаток. После того, как для склада потребовалась "реальная работа", а не просто "сверка наличия", пришлось перерабатывать систему под перерасчет ежедневных остатков. Иначе расчет "учетных карточек" шел бы неприлично долго. И не было бы возможности удалять накладные N-летней давности.

1. Что за зверь такой "учетная карточка"?
2. Что такое "реальная работа"?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126598
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esВ данный момент тоже работаю с системой, в которой без этих "промежуточных" остатков все загнется.
систему можно сделать таким образом, что загнется в любом варианте. Причем с промежуточными остатками еще более вероятней.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126605
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmдобавляйте "по моему мнению" или "в моей практике". :)
Да, конечно (стараюсь, иногда забываю :))
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126619
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmпросмотрел все, не нашел где Вы говорили о проблемах текущих остатков.
Здесь
/topic/361159&pg=1#3390064
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126656
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmпросмотрел все, не нашел где Вы говорили о проблемах текущих остатков.
Здесь
/topic/361159&pg=1#3390064
спсб. Только к сожалению не нашел ответов на вопросы. Почему не эффективно и что такое невосстановимые...
---
Складывается мнение, что складская система занимается расчетом обороток по периодам, а не управляет конкурентным доступом к ресурсам (ну и конечно много чем еще).
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127106
vladvol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используется такое представление данных.

В табличке хранится:
1. входящий остаток на начало года для каждого объекта учета

2. и в зависимости от даты движений порождаются записи для каждого объекта учета:
входящий остаток относительно начала года
приход за день
расход за день
исходящий остаток относительно начала года

Там же хранится запись планового остатка для длительных операций.

Остаток(реальный) за день для объекта учета определяется как: сумма остатка из последней записи на начало года + сумма остатка из последней записи движения.

Конечно, из этой схемы возникает процедура закрытия года.
При наличие соответствующих индексов работает быстро для любого дня независимо от количества оборотов.

А провод задним числом - это болезнь, которой еще многие бухи болеют. На сколько я не ошибаюсь, есть понятие сторно для этих случаев, хотя в большинстве систем возможность отката есть. При этих возможностях действительно надо проверять на корректность отражения исправлений в будущем.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127335
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Почему не эффективно и что такое невосстановимые...
1. Тяжело считать остатки на дальние даты.
2. М.б. много update-ов на одну и ту-же запись.
При разрушении тек. остатка (по ошибке) его в общем случае не восстановить.
iscrafm Складывается мнение, что складская система занимается расчетом обороток по периодам, а не управляет конкурентным доступом к ресурсам.
Как вариант, можно блокировать счет.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127607
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин Кдля справки: Опердень - оперативный день.
Вообще-то операционный. Оперативный - это в милицию.

vladvolНа сколько я не ошибаюсь, есть понятие сторно для этих случаев, хотя в большинстве систем возможность отката есть
Для справки, понятие сторно совсем не равнозначно откату.

iscrafm...храните те данные, к которым чаще всего обращаются.... текущий остаток. Остальное все можно вытянуть запросами, впрочем как и пересчитать текущий остаток по транзакциям
Чтобы придать предметность спору. Положим, по счету каждый день существует от 5 до 10 тыс. проводок (коррсчет небольшого банка/филиала). Как быстро вы вытяните запросами остаток/обороты на начало года, если прошло несколько лет работы? Как быстро вы будете это вытягивать, если у вас сотни-тысячи счетов? А ведь существуют еще многочисленные нюансы, которых мы не касаемся - типа операций планируемых, проведенных, существует учет по различным разрезам аналитики (регистрам) - который, как правило, хранится в той же таблице операций...
С другой стороны, если уж вы собрались держать остаток текущий, то вы все равно уже собрались держать расчитанное число (т.е. помимо первоисточника). И разница - хранить ли только текущий или все остатки на дату движения, невелика. А крупность системы определяется как раз тем, что выбрано дискретностью периода - день, месяц там, год и т. п.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127625
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интересная
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127862
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интереснаяОк, то же самое - по складу:
Допустим, некая "ревизия".
Нужно:
Поднять карточки учета по Н-ному к-ву позиций товара.
Ну с этим просто - это просто приход/расход по позиции с расчетом остатка на каждый день.
Но что делать, если есть задача "хранить инфо строго за последние 3 года, не больше"?
Ведь тогда нужно иметь "входящий остаток по позиции"...

Далее - просто отчет по "движению товара" на складе. За "9 месяцев".
Позиций товара - 3 тысячи, поступлений/расходов - 100 позиций в день.
Нужно получить остаток по каждой позиции на 2 даты.
Для этого нужно перелопатить (конечно, с использованием индексов, но все же) - 3000*2*100*9*24(пусть будут только рабочие дни) = ~130М записей.
Или просканировать 43200 записей с принятием решения по кадой из них - куда какую в каком агрегате из 6000 использовать.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127863
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интереснаяОк, то же самое - по складу:
Допустим, некая "ревизия".
Нужно:
Поднять карточки учета по Н-ному к-ву позиций товара.
Ну с этим просто - это просто приход/расход по позиции с расчетом остатка на каждый день.
Но что делать, если есть задача "хранить инфо строго за последние 3 года, не больше"?
Ведь тогда нужно иметь "входящий остаток по позиции"...

Далее - просто отчет по "движению товара" на складе. За "9 месяцев".
Позиций товара - 3 тысячи, поступлений/расходов - 100 позиций в день.
Нужно получить остаток по каждой позиции на 2 даты.
Для этого нужно перелопатить (конечно, с использованием индексов, но все же) - 3000*2*100*9*24(пусть будут только рабочие дни) = ~130М записей.
Или просканировать 43200 записей с принятием решения по кадой из них - куда какую в каком агрегате из 6000 использовать.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127991
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es
whitems:
id,
itemid,
whid,
openqty,
onhand,
created,
....

whtransactions:
id,
batchid,
trtype,
whitemid,
qty,
...
При учете(posting) документа движения выполняется запись в whtransactions и корректируется onhand в whitems... При откате - обратные действия. На onhand - соответствущие ограничения, которые отменяют транзакции в случае, допустим, красного остатка.
Текущее состояние склада (наиболее приоритетный запрос) - select * from whitems
Остатки на прошлую дату вычисляются по whtransactions. Если вдруг и случается сбой, то onhand элементарно пересчитывается по транзакциям.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128116
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmПри учете(posting) документа движения выполняется запись в whtransactions и корректируется onhand в whitems... При откате - обратные действия. На onhand - соответствущие ограничения, которые отменяют транзакции в случае, допустим, красного остатка.
Текущее состояние склада (наиболее приоритетный запрос) - select * from whitems
Остатки на прошлую дату вычисляются по whtransactions. Если вдруг и случается сбой, то onhand элементарно пересчитывается по транзакциям.Еще раз - вычислить можно, но сколько это времени займет?
Если нет возможности хранить транзакции-что делать? Вот нет и все? Организация не готова апгрейдить сервер каждый год только из-за того, что для корректной работы базы нужно хранить все больше и больше данных. Хотя "текущие объемы" не растут - как продавали 5 телевизоров в день, так и продают.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128136
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 iscrafm
А вы думаете приведенные цифры операций для складов невероятны? Я не автоматизировал по настоящему крупные склады; но, разглядывая полки МЕТРО, приходит в голову, что у них количество товарарных позиций и обьемы операций как бы даже ни больше.

автор...Остатки на прошлую дату вычисляются по whtransactions.
Это вы обьяснили, как построена ваша схема. А речь как раз и идет о том, что при наличии миллионов записей в whtransactions, расчет остатков на любую (кроме текущей) дату будет вынужден перелопачивать эти миллионы. При этом схема не существенно проще предложенного хранения остатка на каждую дату движения.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128311
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aag2 iscrafm
А вы думаете приведенные цифры операций для складов невероятны?

нет, почему же. Вероятны. Типовой проект: около 30000 товарных позиций, 1.5 млн в год транзакций.

aagЭто вы обьяснили, как построена ваша схема. А речь как раз и идет о том, что при наличии миллионов записей в whtransactions, расчет остатков на любую (кроме текущей) дату будет вынужден перелопачивать эти миллионы. При этом схема не существенно проще предложенного хранения остатка на каждую дату движения.

это одна из схем. Но... Зачем вообще остаток именно на конкретно указанную дату. Вероятность такого запроса очень низкая. Зачем под него городить огород. Мы обычно храним еще агрегированную таблицу по периодам (см. рисунок). Оборотки по периодам очень востребованный запрос - под него и хранятся агрегированные данные. Остатки на сейчас - просто ежеминутный запрос. Под него и хранятся данные. А всякая экзотика типа остатков на 27 ноября 2003 года - вычисляется.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]