Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату / 25 сообщений из 47, страница 1 из 2
13.11.2006, 05:18
    #34122555
ak4
ak4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остатки на любую дату
Всем привет!

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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