Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на получение остатков / 4 сообщений из 4, страница 1 из 1
28.05.2003, 01:12
    #32170195
Просто гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на получение остатков
Стандартная ситуация – складской учет. Есть две таблицы – приход и расход
(пускай pri: pri.naim, pri.kolvo и ras: ras.naim, ras.kolvo). Как лучше посчитать остаток товара на складе? Или сама постановка вопроса не верна и лучше хранить и приходы и расходы в одной таблице (с разными знаками)? Поделитесь опытом.
...
Рейтинг: 0 / 0
28.05.2003, 11:10
    #32170403
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на получение остатков
При хранении приходов и расходов в одной и разных таблицах есть свои преимущества и недостатки. Мне, когда я делал склад пару лет назад, больше нравилось хранить в разных таблицах. В то же время моим коллегам - в одной. На этот вопрос ты должен дать себе ответ сам. А это будет только после того, как сам напишеш прогу и увидиш все её недостатки.
...
Рейтинг: 0 / 0
28.05.2003, 16:30
    #32171047
Andrew Campball
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на получение остатков
Можно сделать так:

Таблица остатков BALANCE (ID, REST)
Таблица истории движения BALANCE_HISTORY (BALANCE_ID, INCOME, OUTCOME)

Из всех документов движения делаются записи в таблицу BALANCE_HISTORY, а в ней на триггерах изменяются остатки в BALANCE
...
Рейтинг: 0 / 0
29.05.2003, 00:00
    #32171339
Просто гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на получение остатков
Ну лично я для себя решил хранить в двух. Но вот проблемы поиска остатка осталась. Я сейчас, имхо, его очень глупо считаю. В три этапа.
1) с помощью select sum(приходы) ... GROUP BY товар высчитываю общий приход на какой то момент.
2) Аналогично для расходов.
3) SELECT товар.таб_приходов, приходы, расходы
LEFT JOIN таблица_расходов ON (товар.таб_придов = товар.таб_расходов)

Ну и на основе этой выборке уже все видно.
Все это конечно в ХП делается, но на мой взгляд ужасно коряво. Не верю что нет способа легче.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на получение остатков / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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