powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату
25 сообщений из 47, страница 1 из 2
Остатки на любую дату
    #34122555
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Решил создать програмку,которая учитывает матер-произв.запасы, типа "Склад" : -)

Задачи:
1.Просмотр остатков в архиве
2.Проводки в архиве

Не хочу изобретать велосипед еще раз, подскажите стандартную схему таблиц в "Складе" : -). Связьки какие?

Думаю вообще у "склада","бухглатерии " - одна схема. Те же остатки на тек.дату,
возможность проводок архиве , остатки на любую дату- схема одинаковая.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122573
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понятно чего сюда запостил вопрос :)
стандартные - хз. я делаю так
3 таблицы1. Товар (перечень товаров на складе):
- id (identify)
- описание_товара
- ...
2. Приход (опреации прихода на склад):
- id (identify)
- Товар_id
- дата_прихода
- количество
- цена_прихода
- ...
3. Расход (операции списания со склада):
- id (identify)
- Приход_id
- дата_расхода
- количество
- цена_расхода
- ...знаю статистику (остаток, цены и тд) на любую дату
могу выполнить списание с любого прихода (если количество позволяет ;) )
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122605
amakridin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему дешевле объединить таблицы (2) и (3) - у прихода знак "+", у расхода "-"
Вот тут и остатки легче считать
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122668
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок,парни ,спасибо, сделаю как вы сказали: -)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122678
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы использовал схему с отдельной таблицей остатков на даты.
Иначе в будущем для получения остатка на произвольный день придется перелопачивать так или иначе все приходы/расходы. Соответственно, удалить "старые накладные" не получится.
А вообще это - в "Проектирование БД".
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122968
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Четыр таблицы: товары, склады, движения, остатки

В движениях все движения (и + и -), в остатках остатки после последнего движения.

P.S. Лучше хранить не цену, а сумму.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123021
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak4
Подхода всего 2:
1. Хранить текущие остатки и по приходу расходу рассчитывать остатки на дату. Недостаток - неэффективно и чревато невосстановимыми ошибками.
2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123040
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gybsonP.S. Лучше хранить не цену, а сумму.+1
Сумма всегда точно известна, а вот дробность цены при этом может не укладываться ни в какую размерность - например, купили какой-нибудь блок из 3-х предметов за 100р. :)
А может хранить и то и другое - "пригодицца".

Еще в складском учете бывает необходимость учитывать сразу в 2-х "системах измерения" - гайки закупаются обычно килограммами, а расходуются штуками. Поэтому проще внести полученную сумму, а уже в зависимости от ситуации пилить сумму.

PS - вспомнилось:
Продали мы однажды в "почтовый ящик" 100м коаксиала.
Поскольку "привычной" единицей измерения были для нас "штуки", в накладной значилось прмерно: "Кабель Ethernet, 10р/м, 103 шт." Пока накладную не переделали, складовщик отказывался принимать бухтой, предлагалось порезать на метровые отрезки, чтобы "сошлось". :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123094
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.Зачем обязательно открытие? Если нужно закрывать отчетный период от такой процедуры все равно никуда не денешься. :) А не нужно - считаем период днем и всего делов-то. В процедуре прихода/расхода (я бы в триггере делал) пересчитывается остаток за день, в котрый происходило "движение". Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123612
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esЗачем обязательно открытие? Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
В этом и фокус: для изменений задним числом надо открыть все периоды, начиная с изменяемого, провести изменения, а потом все снова закрыть по порядку.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123629
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод DeColo®esЗачем обязательно открытие? Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
В этом и фокус: для изменений задним числом надо открыть все периоды, начиная с изменяемого, провести изменения, а потом все снова закрыть по порядку.Зачем "открывать/закрывать"? Пусть процедура нужные остатки (записи в таблице остатков) меняет и все. Если нужен контроль неизменности - пусть проверяется, какие периоды можно менять, а какие - нет. В чем проблема-то?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124223
jikez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2мод
Какими такими невосстановимыми ошибками?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124316
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es В чем проблема-то?
В зависимостях одних остатков от других. Не изобретайте велосипед, метод 2 давно используется во всех серьезных учетных системах (типа банков).
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124322
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jikezКакими такими невосстановимыми ошибками?
Если текущий остаток в рез-те ошибки станет неверным, его уже не восстановить.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124337
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модВ зависимостях одних остатков от других. Не изобретайте велосипед, метод 2 давно используется во всех серьезных учетных системах (типа банков).Вы действительно видели ВСЕ банковские системы?!
И подробности реализации? :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124481
jikez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2мод
если есть полная история всех проводок то восстановить последний остаток не проблема
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124535
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модПодхода всего 2:
1. Хранить текущие остатки и по приходу расходу рассчитывать остатки на дату. Недостаток - неэффективно и чревато невосстановимыми ошибками.
2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.
По варианту 2 - зачем процедура закрытия-открытия периода?
Измерение времени не дискретное.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124539
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет банков. Есть понятие времени, а есть опердня. В банках применяется опердень. для справки: Опердень - оперативный день.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124662
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jikezесли есть полная история всех проводок то восстановить последний остаток не проблема
Конечно, но как правило старые данные удаляют
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124681
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин КПо варианту 2 - зачем процедура закрытия-открытия периода?
Измерение времени не дискретное.
Закрытие - подбить бабки за период и сформировать остатки
Открытие - разрешить изменения в этом периоде
Период д.б. дискретным день, неделя, месяц
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124688
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дискретность измерение - понятие синтетическое, а не реальное. Т.е. шкала дат непрерывная. Остатки на дату не подразумевают закрытие или открытие периода, это всего лишь отчет !!! а не модель хранения данных.

Напомню, что текущие остатки не подразумевают остатки на сегодня или на поледний момент, т.к. тожно провести документы будущим периодом.

Остальное самостоятельно :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124700
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрыть - открыть доступ к изменениям.

ДЛЯ ЭТОГО не нужно ни закрытие ни открытие периодов !!! Это доступ к данным за определенной точкой времени ИЛИ ПРОСТО 1 дата ! ниже которой документы нельзя менять. И нечего городить огород и изобретать мопед, который не мой, я просто разместил объяву :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124917
GreyCardinal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многое зависит от объемов данных
если их менее лямя (операций) то думаю что вариант расчета в онлайне по сумме операций прокатит везде
тоже самое если нужно "точечные выборки" -
у меня на базе в 500 000 000 строк выборка из 100 000 суммируется за 0,254 сек

так что надо прикладывать к условиям задачи
а не проектировать многотонный самоствал, если человеку надо перевозить на дачу мешок картошки раз в год ;)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125555
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
существует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток. Остальное все можно вытянуть запросами, впрочем как и пересчитать текущий остаток по транзакциям. Впрочем об этом здесь уже говорилось.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125771
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал отдельную табличку - даты проводок- для хранения остатка по дням...

Допустим юзер решил ввести расход архднем....
Тогда придется нарастающим исправлять остатки в табличке "Даты_проводок" ,а если вдруг красное сальдо в каком нить дне?

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


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