|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Есть задача в инф.системе сделать модуль кассы (соответственно надо придумать инф.модель БД), от бизнеса пока комментарии не получил, поэтому для начала спрошу тут т.к. сам в этих кассах не понимаю. У предприятия есть несколько касса для наличного расчета с контрагентами, есть несколько валют. Необходимо хранить актуальные остатки нал.средств. С этим всё просто. Но с другой сторону нужно или нет отдельную таблицу для хранения остатков на начало опер.дня и конец. Может еще что надо. Подскажите как Вы организововали этот модуль ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 09:07 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Начало опердня (отд.таблица) + обороты этого дня = конец опердня. Нафсякей иметь процедуру для частичного/полного пересчета таблицы "Начало опердня". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 10:44 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Мультивалютная касса обычно маленькая верхушка большого айсберга. Если потянет за собой прибыли/убыток, операционную/курсовую разницу, себестоимость... Эти финансовые вопросы очень громоздкие. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 12:07 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Возьмите за основу такую примитивную схему - План счетов (id, код, наименование, аналитика) - Проводки (id, id счета по Дб, id счета по КД, сумма по Дб, сумма по Кд, валюта по Дб, валюта по Кд (это если валюту не будете в анатитике по счету держать) - Таблица остатков (id счета, дата со временем (хотя конечно время тут чаще всего не нужно, но так будет проще для начала) И все, касса ляжет сюда вполне. И будущее доработки тоже. Заводите счет 50 Касса (это грубо говоря). С аналитикой в разрезе справочника касс (или может у вас просто в каждом отделении одна касса есть, тогда в разрезе отделений). Ну и еще пару счетов, например счет 62 Расчеты с покупателями и заказчиками (тут хз в каком разрезе, это вам виднее). Дальше делаете проводку по дебету счет кассы, по кредиту счет 62 (или наоборот, тут я не силен, на активно-пассивность пока забейте). По Дб указываете разрез аналитики - ту кассу которую пополняете, по Кд, соотв, тот разрез который у вас на 62 счете. И суммы. Для простоты пока пусть ваюта будет по Дб и Кт одна и таже. Вставляете две записи в таблицу остатков, длдя счета 50 и для счета 62. Для 50 - берете последнюю запись в этой таблице, т.о. определяя текущий остаток и прибавляете к нему сумму, указанную по Дб в проводке и вставляете новую запись в таблицу остатов с текущей датой со временем. Тоже самое для 62. зы/ если проводка все-таки может быть мультивалютной, то надо будет еще автоматом расчитать курсовую разницу и если она таки есть, то сформировать еще одну авто проводку для отнесения доходов/расходов на счет доходов/расходов. В итоге получится гибкая схема. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 19:09 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
dma_caviar... - Проводки (id, id счета по Дб, id счета по КД, сумма по Дб, сумма по Кд, валюта по Дб, валюта по Кд (это если валюту не будете в анатитике по счету держать) ... Я бы добавил id дебетового объекта учета (далее вы называете это разрезом аналитики), id кредитового, объединил бы сумму по дебету и кредиту (ибо сумма в проводке всегда одна), добавил id валюты и сумму в валюте (т.к. необходимо фиксировать сумму в валюте на момент проведения), добавил бы id документа. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 19:55 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
MoroZ.Rudma_caviar... - Проводки (id, id счета по Дб, id счета по КД, сумма по Дб, сумма по Кд, валюта по Дб, валюта по Кд (это если валюту не будете в анатитике по счету держать) ... Я бы добавил id дебетового объекта учета (далее вы называете это разрезом аналитики), id кредитового, объединил бы сумму по дебету и кредиту (ибо сумма в проводке всегда одна), добавил id валюты и сумму в валюте (т.к. необходимо фиксировать сумму в валюте на момент проведения), добавил бы id документа. id дебетового объекта, id кредитового - только их ведь может быть больше одного, но для простоты можно действительно прямо в таблице проводок предусмотреть по 3 id-шника для Дб и для Кт объединил бы сумму по дебету и кредиту - если только есть уверенность что проводки всегда будут одновалютными, но у нас не ровён час, все в у.е. опять скоро будет)) добавил id валюты и сумму в валюте - если по Дб одна валюта, а по Кт другая, то этого не достаточно необходимо фиксировать сумму в валюте на момент проведения - я об том и говорю, можно в принципе еще рублевый эквивалент по текущем курсу, можно сам курс, можно курс на дату отдельно хранить добавил бы id документа - я бы пока с документами не парился, понятно что проводку пополнения кассы должен генерить какой-ниб. документ типа приходника, но это как раз можно всегда добавить ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 20:30 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Можно сделать структуру по принципу лицевых счетов. Как в банке. Без аналитики. Тогда отдельный счет на кассу отделения 1, отдельный счет на кассу отделения 2, отдельный счет на клиента Васю, отдельный счет на клиента Петю. А дальше тоже самое - проводки с Дб и Кд (без аналитики). Таблица остатков, (тоже без аналитики, а прям тупо id счета и дата). Мне в принципе такая структура больше нравится, смущает только, что как бэ, в учете предприятий так не принято делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2014, 20:37 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
table Account счета (50 - касса, 51 - рс, 60 поставщики и т.д.) table AccSheet таблицы статей table Article статьи (могут проецироваться на реальные бизнес-сущности: персоналии, склады, и т.д., а могут и не) table AccTurn транзакции Упрощенно, AccTurn учитывает транзакции по паре {Account, Article} двойной записью с корреспонденцией к аналогичной паре. Если счет, по которому ведется проводка не имеет корреспонденции (забаланс, регистр и т.д., то коррзапись отсутствует) Остаток по паре {Account, Article} хранится в каждой транзакции. Это позволяет (при необходимости) четко контролировать допустимый диапазон сальдо и быстро получать сальдо на любой момент истории, но, увы, требует не простого управления особенно в части обратимости транзакций (например, операции "задним числом"). Правильный валютный учет все сильно усложняет - придется мучиться с фоновыми транзакциями по базовой валюте и транзитными операциями. Есть еще вспомогательные таблицы, но они технические и допускают разные вариации. Впрочем, и приведенная техника - не единственно возможная. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 00:57 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Что тут только человеку не советуют. Одна таблица типа Documenttitleskacca с полем summa,и doc_type(ну и доп полями как номер,основание,контрагент и т.д,дата databook) для нас главным является поле doc_type number(1) приход 1 расход -1 считаем остаток на любой момент select sum(summa*doc_type) where databook<=дата. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 08:40 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_al, Люди уже сколько тысячелетий считают бабло. И в итоге пришли к гениальной схеме бухучета с Дб и Кд. Ничго выдумывать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 09:18 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
dma_caviarirbis_al, Люди уже сколько тысячелетий считают бабло. И в итоге пришли к гениальной схеме бухучета с Дб и Кд. Ничго выдумывать не надо. Да я вижу...тут из-за примитивной задачи человеку всю бухгалтерию сначала советуют написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 09:47 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_aldma_caviarirbis_al, Люди уже сколько тысячелетий считают бабло. И в итоге пришли к гениальной схеме бухучета с Дб и Кд. Ничго выдумывать не надо. Да я вижу...тут из-за примитивной задачи человеку всю бухгалтерию сначала советуют написать. Ну касса - это не примитивная задача. Там есть много "подводных камней", о которых можно узнать только столкнувшись с ними лоб в лоб. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 10:31 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
mad_nazgulirbis_alпропущено... Да я вижу...тут из-за примитивной задачи человеку всю бухгалтерию сначала советуют написать. Ну касса - это не примитивная задача. Там есть много "подводных камней", о которых можно узнать только столкнувшись с ними лоб в лоб. Да??? А то я мультивалютную кассу не разрабатывал.(Без всякой там бухгалтерии) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 10:51 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_alДа??? А то я мультивалютную кассу не разрабатывал.(Без всякой там бухгалтерии) Нормальная касса не может быть не связана с бухгалтерией. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:00 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
MoroZ.Ruirbis_alДа??? А то я мультивалютную кассу не разрабатывал.(Без всякой там бухгалтерии) Нормальная касса не может быть не связана с бухгалтерией. Да...ладно???? Оказывается я свой небольшой ИТ бизнес построил неправильно.Ай.ай ай. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:04 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_al, ...к тому же правильную бух. структуру можно тоже не сильно усложнять по началу, допиливая по мере необходимости. Так наваять можно все что угодно, и оно даже будет работать. С этим никто не спорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:06 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
dma_caviarirbis_al, ...к тому же правильную бух. структуру можно тоже не сильно усложнять по началу, допиливая по мере необходимости. Так наваять можно все что угодно, и оно даже будет работать. С этим никто не спорит. Просто есть разные подходы...Например Ведём весь управленческий учёт в обычной логике. Sql PL/SQL T-SQL(Кто какую СУБД использует.). Так реализовано у меня. Ибо управленческий учёт он динамичен...он разный. И Все получают текущие необходимые данные. А потом по установленным правилам данные из упр.учёта импортируются в бухгалтерию.(Это если нужно,есть много контор ,которым не нужно вести классическую бухгалтерию,проводки баланс и т.д) Т.е бух учёт является производной управленческого учёта. ,ибо бух.учёт он консервативен,я бы даже сказал костный. Поэтому...подключить бухгалтерию(по-моей парадигме(тех.философии) проще простого. А то ,что автору тут советовали,это просто кошмар. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:14 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
dma_caviar id дебетового объекта, id кредитового - только их ведь может быть больше одного, но для простоты можно действительно прямо в таблице проводок предусмотреть по 3 id-шника для Дб и для Кт Если их больше одного, то тогда выносим пересечение id в отдельную таблицу, теперь уже id в проводке ссылается на id записи в этой таблице. Т.о. мы можем задать любую комбинацию справочников. dma_caviar объединил бы сумму по дебету и кредиту - если только есть уверенность что проводки всегда будут одновалютными, но у нас не ровён час, все в у.е. опять скоро будет)) Я имел ввиду, что в проводке одна и та же сумма проводится и по дебетовому и по кредитовому счету (принцип двойной записи). Стало быть нет необходимости иметь 2 отдельных поля для дебета и кредита. dma_caviar добавил бы id документа - я бы пока с документами не парился, понятно что проводку пополнения кассы должен генерить какой-ниб. документ типа приходника, но это как раз можно всегда добавить Каким образом из таблицы проводок вы будете вычленять проводки, которые относятся к какому-то конкретному документу? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:21 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_alПоэтому...подключить бухгалтерию(по-моей парадигме(тех.философии) проще простого. Расшифруйте, плз, на примере платежной ведомости. Как это будет выглядеть? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:23 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
MoroZ.Ruirbis_alПоэтому...подключить бухгалтерию(по-моей парадигме(тех.философии) проще простого. Расшифруйте, плз, на примере платежной ведомости. Как это будет выглядеть? Ну всё философию тут не раскажешь. Но попытаюсь. Есть запись databook firms_id rc_id(Расчётный счёт) summa doc_type. Есть процедура.(допустим запускаемая по времени(хотя есть разные варианты)) Процедура читает doc_type и для него ищет правило импорта в бухгалтерию в таблице правил ипоморта. (распарсивает xml-правило) Видит её нужно будет поля firms_id,rc_id,summa.databook Ищёт соответствие счёта бухгалтерсого orderDEB_id для firms_id в таблице соответствий.(если не находит создаёт) Ищёт соответствие счёта бухгалтерсого orderKR_id для rc_id в таблице соответствий.(если не находит создаёт) Запускает процедуру проводки do_provod(orderDEB_ID,orderKR,summa,databook) Я описал примитивный случай с примитивным правилом.(Они бывают довольно сложные). Это всё не гипотетические изыскания....это всё рабочий вариант,оправдавший себя временем. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:35 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Рассмотрим все тот же 1С: конфигурация Бухгалтерия Предприятия - модуль кассы на бухучете (дебет/кредит все как положено) конфигурация Управление Торговлей - модуль кассы без бухучета, отдельно таблицы по остаткам, отдельно по движениям ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 11:53 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
irbis_alЗапускает процедуру проводки do_provod(orderDEB_ID,orderKR,summa,databook) А что делает сия процедура? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 12:04 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
MoroZ.Ruirbis_alЗапускает процедуру проводки do_provod(orderDEB_ID,orderKR,summa,databook) А что делает сия процедура? Ну название само за себя говорит do_provod =делать проводку ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 12:12 |
|
Касса. Остатки
|
|||
---|---|---|---|
#18+
Nafотдельно таблицы по остаткам, отдельно по движениям А какие там поля? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2014, 12:23 |
|
|
start [/forum/topic.php?fid=33&msg=38824612&tid=1547514]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 257ms |
0 / 0 |