powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура хранения проводок (Регистра) в складе
20 сообщений из 20, страница 1 из 1
Структура хранения проводок (Регистра) в складе
    #32347555
Kostjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте уважаемые профи. Поделитесь плиз своими соображениеми/опытом по поводу структуры хранения проводок при движении товара по складам. На сколько я себе представляю, можно хранить двумя способами:
1. Одна операция - две проводки
--
Id
Date
StoreId
ProductId
DebKred
Qty

2. Одна операция - одна проводка
--
Id
Date
DebStoreId
KredStoreId
ProductId
Qty
Ostatok

Как ваше мнение, что лучше использовать? Почему? Может есть еще какие методы?
Спасибо!
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32349400
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы храним по второму варианту (только нет поля Ostatok). Особенность, которая нас уже достала - это если надо посчитать что-то по конкретному складу, надо или лепить юнион (сначала по тому что пришло, потом по тому, что ушло) либо делать это одним запросом, но опять-же лепить Case - в зависимости от того в каком столбце DebStoreId или KredStoreId встречается указанный склад, надо брать или плюс или минус.

С другой стороны, во втором варианте всегда видно откуда ушло и куда пришло, а в первой схеме этого не видно - есть две записи, никак между собой не связаных(хотя ее можно модифицировать, чтобы связь эта была).

На мой взгляд - выбор между этими двумя вариантами больше вопрос религии.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351143
Youry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сторонник второй формы, но без хранимого остатка

На мой взгляд эта форма обеспечивает более всокую целостность данных, т.к. является реализацией бухгалтерского принципа двойной записи.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351164
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Youry
Каким образом "целостность данных" связана с бухгалтерией?
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351179
Youry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такое слово - "транзакция". Оно как-то связано и с целостностью данных и с бухгалтерией
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351185
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Все эти сомнения от попытки навесить двойную (итальянскую) бухгалтерию на базу данных. Чего я категорический противник.

Одна операция - одна запись.

Хочу отметить, что такой принцип работы принят бухгалтерами всего мира в виде журнал-ордерной системы и системы ведомостей.
В чистом виде двойная бухгалтерия не используется нигде. Хотя бухгалтеры свято верят, что они следуют заветам. Но никто не заносит одну запись в две книги. Все заносят одну запись с уазанием двух корреспондирующих счетов.
============
Ликбез
Журнал-ордер. Строится по кредитовому признаку. То есть в него заносятся суммы, которые с конкретного счета УШЛИ на другие счета.

Ведомость. Строится по дебетовому признаку. То есть в нее заносятся суммы, которые ПРИШЛИ с других счетов на данный конкретный счет.

Журнал-ордеров, как правило, значительно больше, чем ведомостей, так как виды расходов намного разнообразнее, чем виды приходов.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351229
Youry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ликбез

Для пассивных счетов понятия УШЛО и ПРИШЛО с точностью до наоборот
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351306
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоже скажу - я однозначно за такой вариант
ID - id проводки
ID_DOC - id документа, результатом проведения которого и служит эта проводка (связь 1..*)
DATE - дата создания проводки
Debit - вообще-то это лицевой счет - но для любителей бух. учет отдельно, склад отдельно - пусть это будут ячейки
Credit
Summa/Qty

НИКАКИХ Ostatok, StoreId или ProductId (он будет фигурировать в документе)

P.S> проводка - это объект показывающий движение - он должен быть всегда привязан к какому либо документу
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351363
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.S> проводка - это объект показывающий движение - он должен быть всегда привязан к какому либо документу

теоретически все так.
но вот отгрузили по документу не весь товар (ну не влезло все сразу!!!).
Конечно, можно добавлять в документ колонку "отгружено". Но тогда непонятно когда какая часть была отгружена и т.д. - в документе надо наворачивать историю отгрузок и проч... а так есть таблица _реальных_ отгрузок со ссылками на документ, которая и реализует эту саму историю. Плюс не надо при подсчете наличия лазить в документы, учитывать их состояние, и проч.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351451
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Hibernate

но вот отгрузили по документу не весь товар (ну не влезло все сразу!!!).

К сожалению по жизни складами не занимаюсь (пока одни банки) - но считаю что на проводку так или иначе надо смотреть как физическое движение чего-то в ответ на оплату документа - и незачем ей придавать дополнительные значения. Есть проблема частичных отгрузок - решайте именно ее - а вот изменять смысл проводок по любому случаю считаю лишним

Плюс не надо при подсчете наличия лазить в документы, учитывать их состояние, и проч.

Этого делать и так не надо - проводка существует только для оплаченного/проведенного документа. Т.е. она отражает движение - а его для неоплаченного документа быть не может!
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351500
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2funikovyuri:
автор как раз спрашивал о складах, и насколько я понял, его интересовал учет именно физического движения товаров по складам.

По поводу финансов - тут я согласен, новерное, хотя опять-же документ может быть оплачен частично, но не буду спорить - я не очень знаком с этой областью.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351515
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to funikovyuri
а к какому документо привязываеться проводка получения платежа ?

(сорри но я все еще окончательно не решил со своими выписаными счетами и платежами по ним ... :)
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351518
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hibernate

автор как раз спрашивал о складах, и насколько я понял, его интересовал учет именно физического движения товаров по складам.

Я понимаю - но я сторонник единой системы бух учета и к тому же - я писал - что считаю что и в случае склада - проводка должна оставаться проводкой!
(Ну введите наконец тот же документ о частичной отгрузки - и по нему уже формируйте проводки!)

хотя опять-же документ может быть оплачен частично

Нет не может! и все - никаких других вариантов для бухгалтерского документа не существует. Я уже достаточно много по бух учету писал в этом форуме - как нибудь постараюсь все это обобщить и оформить вместе с соотвествующими вариантами использования, ТЗ и моделями на UML - вот только время выкрою :) (вон тому же varan'у уже несколько месяцев назад обещал и никак не пришлю!)
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351523
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dennis_L

а к какому документо привязываеться проводка получения платежа ?

Не существует проводок по получению платежа! Проводка - это движение между лицевыми счетами.

Например есть документ - расходный кассовый ордер. Если его оплатить - то по нему формируются проводки (от 1 до *). Вот эти проводки и привязаны к своему документу(ордеру). Проводка - это не документ!
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351530
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне постепенно начинает казаться сто в банках дико простая бухгалтерия ... ;)
У меня в Лизинге вроде тоже нет товаров только деньги ... но всеравно мучения с счетами и платежами по ним.
Тоесть когда бухгалтер разносит суммы поступившие на наш банковский счет для оплаты какихто счетов (инвоисов) теоретически каждой сумме которая заноситься на определенный договор надо регестрировать документ приходный ордер и к нему привязывать проводку ?
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351542
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dennis_L
Мне постепенно начинает казаться сто в банках дико простая бухгалтерия ... ;)

Ну не знаю - вы спрашиваете элементарные вещи - а потом удивляетесь - понятно дело что ничего в первичных бух документах и проводках сложного нет - жаль только что до полного функционала АБС еще очень далеко :)

Тоесть когда бухгалтер разносит суммы поступившие на наш банковский счет для оплаты какихто счетов (инвоисов) теоретически каждой сумме которая заноситься на определенный договор надо регестрировать документ приходный ордер и к нему привязывать проводку ?

Суммы на счет просто так не поступают - они приходят по какому-то документу. А такой термин как сводный документ вам что-нибудь говорит? Он как раз и описывает поступление денежных средств с одного счета на несколько (1...*) - так вот при проведении такого документа автоматически должны формироваться соотвествующие проводки (столько проводок сколько потребуется - но каждая - такой структуры о которой я говорил!)
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351554
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТОесть документом должна являьтся вся банковская выписка (все платежы за день например) или какойнибудь ордер для одного платежа который потом разноситься по нескольким догорам.
Выяснить я все это пытаюсь потому что в целом поддерживаю вашь подход с документами и проводками по ним но незнаю как его лучше применить в моем случае. Т.к. до этого некогда не использовал !
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351586
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dennis_L

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

Во-первых - выписка по лицевому счету - это не бух. документ. Т.е. это список в котором указано движение по этому счету за какой-либо период. Т.е. она не оплачивается и вообще никаких атрибутов бух документа не имеет.

Т.е. как выглядит процесс - например вы, клиент банка. И в этом банке вы открываете свой лицевой счет. Далее вы можете переводить деньги с этого счета на другие лицевые счета в этом либо других банках. Деньги переводится после предоставления в банк бух документов - в письменной или электронной форме. Если вы переводите деньги в пределах одного банка - то все очень просто - например вы принесли в банк платежное поручение. Операционист вводит его в банковскую АС и оплачивает - тем самым формируя проводки. Если же вы переводите деньги в другой банк - то схема несколько усложняется но важно что этот документ будет доставлен в этот другой банк и там проведен (правда через кор. счета эитх банков - но это сейчас не важно). Так вот идея в том что выписка - это минимальная информация которую банк может предоставить клиенту о том что происходит с его счетом. Но вот считать выписку бух документом не стоит - для этого есть как раз сами бух документы
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32351622
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2funikovyuri:

Я понимаю - но я сторонник единой системы бух учета и к тому же - я писал -
тут я не соглашусь: лучше не мешать бухучет с физическим. И аналитические бухгалтерские счета просто яркий пример жалкой попытки скрестить ежика с коровой.

Намного логичнее по бухгалтерскому учету списать себестоимость по алгоритму, установленному законом о налогообложении,
в управленческом учете сделать движения, установленные учетной политикой предприятия,
а по физ-складу сделать запись о реально выданном товаре.
но это я уж в конкретном оффтопике - да и вопрос опять-таки религиозный.

что и в случае склада - проводка должна оставаться проводкой!
(Ну введите наконец тот же документ о частичной отгрузки - и по нему уже формируйте проводки!)

по поводу документа о частичной отгрузке - здравая мысль, спасибо! к тому-же это позволит выдавать товар по одному исходному документу с нескольких складов одновременно.

но насколько я понимаю, вопрос был в другом, на более низком уровне - на уровне хранения проводок:
как лучше сделать по одному документу две записи (откуда ушло и куда пришло) или все-таки одна запись (откуда-куда перехало)
и тут уже вопрос не столько построения системы, а больше удобства дальнейшей работы с тем или иным способом хранения этих данных. А изображать их наверху можно как угодно хоть документом, хоть просто движениями, хоть по две зхаписи, хоть по одной - от способа хранения будет зависеть только _удобство_ программирования, возможно быстродействие, удобство сопровождения и развития системы.
...
Рейтинг: 0 / 0
Структура хранения проводок (Регистра) в складе
    #32352018
Youry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО
В нормальной учетной системе не должно быть "частично отгруженных" и "частично оплаченных" документов. Документы должны фиксировать состоявшиеся факты. А намерения должны отражаться в "псевдо-документах", т.к. договор, контракт, счет-фактура и т.п.
Если документ не соответсвует реальности, а бизнес-логика не позволяет вносить в него изменение, то должны составляться корректирующие документы.
Обстоятельства свершившихся фактов (кому, на основании чего отружено или что было оплачено, корректировки) фиксируются путем связывания документов в процесс, цепочку и т.п.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура хранения проводок (Регистра) в складе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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