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

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

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

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


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