|
|
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
Чтото не догоню пока мысль о работе с депозитами по оплате чего либо: Есть: Клиент, договор с суммой, записи оплат клиента. Надо соотнести суммы договоров и суммы внесенных оплат для получения списка долгов и т.д. Пока не было понятия депозита клиента (внесенная оплата "непонятно за что, в счет будущих услуг") все было понятно, а с депозитом чего-то туплю. Подскажите? Примерные таблички для понимания: договора: CONTRACT (CONTRACT_ID, CLIENT_ID, SUMMA) оплаты: PAYMENT (PAYMENT_ID, DATA, SUMMA, CLIENT_ID, CONTRACT_ID) депозит: вроде как это тоже запись в PAYMENT, но тут вижу два варианта реализации: вариант1: доп поле в PAYMENT.TYPE_ID, где PAYMENT.TYPE_ID = 1 - оплата договоров, PAYMENT.TYPE_ID = 2 - депозит вариант2: без доп поля, если PAYMENT.CONTRQCT_ID is null - это запись о депозите пока депозиты был не нужны, было все просто: select ct.CONTRACT_ID, ct.SUMMA, (select sum(p.SUMMA) from PAYMENT p where p.CONTRACT_ID = ct.CONTRACT_ID) as SUMMA_PAYMENT from CONTRACT ct так видим связь суммы договора и внесенных оплат этого договора а если теперь клиент внес депозит, т.е. просто сумму денег в счет будущих услуг, как учесть депозит при связи суммы договора и суммы его оплат ? PS: текст SQL примерный, просто для понимания вопроса, БД - FireBird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 09:41 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolek , не совсем понятно чем "депозит" так сильно отличается от "оплаты"? Я так понимаю... Есть начисленныные суммы за какие-то услуги... Есть суммы которые вносит клиент... Что может интересовать контору? Должен кто-то из клиентов ей. И кому "должна" она. Если оплата услуг у вас привязана к самой услуге, сделайте для депозитов еще одну табличку. А к ней еще одну, типа "Расход депозита", где будет указан ИД из тойже PAYMENT... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 10:09 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
Что-то типа такого (часть таблиц взята по твоей схеме)... КлиентыКодДругие характеристики ДоговораКодКод клиентаСумма ОплатаКодДатаСуммаКод клиентаКод договора ДепозитыКодСуммаКод клиента Расход депозитаКодКод депозитаКод оплаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 10:15 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
krvsaЧто может интересовать контору? Попробуем на примере: Есть договор на 1000 руб. Есть запись оплаты договора 600 руб. Имеем остаток оплаты 400 руб. Теперь клиент вносит еще 1000 руб. Получается он нам уже ничего не должен и даже наоборот у него депозит на 600 руб. Как это учесть ? По хорошему, надо сделать две записи оплаты: 1. Оплата договора на 400 руб, т.о. договор полностью оплачен 2. 600 руб на депозит. Но хочется это делать одной записью, так оно проще оператору, не надо ему много думать... Но потом клиент берет допустим в баре бутылку воды за 50 руб. С его депозита списывается 50 руб. Остается 550 и т.д. Мне вот видится такой вариант: 1. в таблицу оплат вводим поле тип оплаты. PAYMENT.TYPE_ID, если оно = 2 это внесение депозита 2. в таблицу оплат вводим поле PAYMENT.DEPOZIT_ID ссылка на запись PAYMENT c внесенным депозитом) 3. если оплата наличными - PAYMENT.DEPOZIT_ID = null если оплата за счет депозита, то открываем окошко с депозитами клиента (где PAYMENT.TYPE_ID = 2 и только недоконца использованные депозиты) и заполняем PAYMENT.DEPOZIT_ID в новой записи оплаты т.о. всегда можно понять как использован депозит всегда можно понять как оплачен договор при подсчете дневной выручки по кассе легко отфильтровать записи оплат которые введны за счет депозита и в дневном остатке по кассе участвовать не деолжны. ну и 4. поле PAYMENT.TYPE_ID еще пригодится для того чтоб отличить записи оплаты договоров от записей оплат товаров или оплат услуг без договоров (для чего конечно в PAYMENT надо еще внести поля TOVAR_ID и USLUGA_ID) я прав? что мне самому пока не нравится в этой схеме, так это то что если клиент вносит 1000 в кассу, я вынужден сделать 2 операции, сначала внести депозит на 1000 руб, затем видя неоплаченные договора (услуги, товары) клиента внести их оплаты средствами депозита. Есть мысль сделать авторазноску депозита по долгам. т.е. после внесения депозита запускать процедуру автоматического формирования оплат договоров (услуг,товаров) которые оплачены недоконца. Вот тогда кассиру будет достаточно просто взять деньги на депозит, а прога их сама распихает куда сможет... но чую тут еще есть камешки ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 11:02 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolek , выясняется что ты мало дал информации по задаче... Теперь у тебя помимо договоров есть еще товары... Каки-то услуги... Касса! Т.ч. давай-ка все сначала и подробнее. - За что вам будет платить клиент? - Что он может получить в долг? И может ли это делать? - Как будет распределяться внесённая клиентом сумма если у него долгов больше чем эта сумма? - Чего там у тебя с кассой? - Какая хоть "отрасль" автоматизации у тебя? Гостинница? Развлекательный центр? Что? Больше информации - лучше советы. И не нужно путать ввод информации с её хранением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 11:30 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
Мне видится что таблица оплат должна быть такой ОплатыКодКод клиентаДатаСумма Все остальное от лукавого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 11:32 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
krvsa Т.ч. давай-ка все сначала и подробнее. 1. Отрась ?: Фитнесцентр (тренажерка, аэробика, йога, солярий, косметология и т.д.) 2. За что платют ?: за абонементы (договора) на услуги, за разовое посещение, за напитки и прочее в фитнесбаре 3. Что он может получить в долг? И может ли это делать?: клиент может оформить абонемент, но оплаить его частично (остальное позже, разными частями), может получить услугу, но оплатить ее позже, может взять в фитнесбаре что-то но оплатить позже (на выходе или вааще "завтра") 4. Чего там у тебя с кассой?: касса есть, задача кассира взять денежки с клиента и както их в проге отразить, моя задача сделать это максимально удобно 5. Как будет распределяться внесённая клиентом сумма если у него долгов больше чем эта сумма?: если у клиента сумма долгов больше чем сумма внесенных денег - он должник, это обычная практика для постоянных клиентов. При внесении депозита, предполагаю начать списывать долги начиная с самого старого (фактически торговля, по ФИФО, но в качестве товара может быть услуга) 6.И не нужно путать ввод информации с её хранением.: согласен, просто стараюсь продумывать это одновременно Без этих депозитов все было красиво и понятно. Но система депозитов в клубе реально удобная вещь. Сам там занимаюсь и просто когда говорят что депозит закончился, вношу рублей 300 и хожу в фитнес бар беру чего хочу, через какое время просто напоминают что депозит заканчивается. Но сегодняшний учет депозитов на бумажке их утомил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 11:51 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
krvsaМне видится что таблица оплат должна быть такой ну а какже данные "за что платим" я бы расширил: ОплатыКодКод клиентаДатаСуммаВид оплаты (1-оплата абонемента; 2 - оплата услуги; 3 - доплата за посещение в + к абонементу; 4 - внесение депозита; 5 - оплата товара)Код абонементаКод услугиКод посещения (для оплаты в +к абонементу)Код товараКод записи оплаты с депозитом Такая схема, как мне кажется покрывает все мои возможные запросы по оплатам. Попробую, наверняка еще чтото вскроется, но на то они тернист это путь ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:09 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
krvsaМне видится что таблица оплат должна быть такой деньги которые вносятся на лицевой счет клиента называются депозитом . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:10 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
Отдельно таблица платежей клиентов, отдельно потребленные ими услуги и все время динамически подсчитывать сальдо первого со вторым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:12 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
А запросы к оплатам счас такие: 1. на сколько оплачен абонемент, услуга, посещение, товар 2. сколько денег на депозите у клиента 3. дневная выручка клуба вроде и все.. по расширенной моей табличке вроде на все есть ответы и без многоэтажных запросов. Или не на все ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:14 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolekну а какже данные "за что платим" Это все описано в его "долгах". Главное чтобы они были все покрыты... LelikBolekТакая схема, как мне кажется покрывает все мои возможные запросы по оплатам. Дело твоё... Тебе и решать. LelikBolekПопробую, наверняка еще чтото вскроется, но на то они тернист это путь ))) Конечно вскроется! Т.ч. лучше сразу подумать как организовать данные... Как вариант такая схемка ответит на все "вопросы" КлиентыКодДругие поля ОплатаКодДатаСуммаКод Клиента Перечень абонементовКодНазваниеДругие поля АбонементыКодКод типа абонементаКод клиентаДругие поля Типы услугКод названиеДругие поля УслугиКодДатаКод типа услугиКод клиентаДругие поля ТоварыКодНазваниеДругие поля Купленные товарыКодДатаКод товараКод клиента По этим табличка можно вычислить должен клиент или контора ему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:24 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
nosovденьги которые вносятся на лицевой счет клиента называются депозитом . Я это называю "оплатой" и суть от этого не изменится... Получается что это автор не правильно понимает суть термина "депозит". У него это "положительный остаток на счете клиента". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:26 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolekА запросы к оплатам счас такие: 1. на сколько оплачен абонемент, услуга, посещение, товарПринципиально ли считать, за что именно заплатил клиент? Если у меня внесено по услуге 1000, из неё использовал 300, и взял бутылку воды за 50, то надо ли "думать", что у меня +700 по услуге и -50 за воду? Или же достаточно конечного сальдо в +650? В ряде заведений делается так: у клиента (группы клиентов) есть персональный счет, на который они вносят деньги, которые списываются с них при потреблении каких-либо услуг/товаров. Пример - аквапарк с кучей аттракционов. Вошел, закинул денег на карту и пользую любые аттракционы. Если могу уйти в минус, то при выходе оплачиваю перерасход, если нет, то повторно бегу и закидываю денег на карту. LelikBolek3. дневная выручка клубаДайте своё определение понятию "выручка". А прав, как всегда, П-Л ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:41 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
boottyДайте своё определение понятию "выручка". Возможно неправильно выразился.. Под выручкой я имел в виду сумму проданных абонементов + сумму оплаченных услуг в +к абонементу + оплаты разовых услуг + сумму проданных товаров От этой суммы считается ЗП менеджеров (как процент от дневной выручки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 12:50 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
bootty[quot LelikBolek]Если у меня внесено по услуге 1000, из неё использовал 300, и взял бутылку воды за 50, то надо ли "думать", что у меня +700 по услуге и -50 за воду? Или же достаточно конечного сальдо в +650? Важно что на конечно сальдо +650.. Предполагаю сделать автоматическое формирование записей по закрытию долгов при вводе депозита. Буду закрывать сначала старые долги по мере появления сумм на депозите клиента. Если запись о внесении на депозит меняется то сначала удалю автоматически сформированные записи а потом разнесу заново. Удалить же уже оплаченную услугу(абонемент, товар) нельзя.. Сперва удаляем оплату а потом уж услугу. Вроде все логично . Посмотрим что из этого выйдет )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 13:09 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
схема предложеная krvsa во многом совпадает с моей, все полученные услуги и товары у меня в разных таблицах. И только оплаты у меня все в одном месте, с внешними ключами на разные таблицы (абонементы, услуги,посещения и товары) Прелесть форма еще и в том что когда пишешь вопрос, обычно сам уже видишь один из ответов.. Спасибо ответившим, за новые идеи буду благодарен, пока реализую то что сам же и напридумывал. Если что не выйдет, будем копать дальше )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 13:13 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
ИМХО, в данном случае, помимо справочников клиентов, договоров, типов услуг стоит завести таблицу, ну скажем "Операции". В ней будут все оплаты и авансы, поступившие от клиентов, а так же счета, которые им выставлены, возможно так же понадобятся типы операций "возврат денежных средств" и "кредит-нота", если счет был выставлен ошибочно. Одно из полей может быть "код договора". Отфильтровав по коду клиента и коду договора можно получить баланс по клиенту на любую дату по конкретному договору, суммировав одно поле в одной таблице. А так же можно будет просмотреть всю историю операций по клиенту, все в одной табличке. Если есть необходимость четкого сопоставления счетов с оплатами, в этом случае нужна вспомогательная техническая таблица, в которой прописываются связи счетов с авансами и оплатами с полным, либо частичным перекрытием по сумме. Эта процедура "клиринга" или, если хотите, "применения", "выравнивания", (называют ее по разному) может выполнятся автоматически, на основании каких-то алгоритмов, по той же FIFO например, либо вручную, но это уже дополнительная работа для оператора. Зато сразу будет видно, какие счета еще не оплачены, какие авансы не закрыты. То есть в "операциях" у вас в строке будет две суммы: "Сумма операции" и "Сумма остатка", причем вторая это расчетное поле по вспомогательной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 13:20 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolek Важно что на конечно сальдо +650.. Предполагаю сделать автоматическое формирование записей по закрытию долгов при вводе депозита. Буду закрывать сначала старые долги по мере появления сумм на депозите клиента. Если запись о внесении на депозит меняется то сначала удалю автоматически сформированные записи а потом разнесу заново. Удалить же уже оплаченную услугу(абонемент, товар) нельзя.. Сперва удаляем оплату а потом уж услугу. Вроде все логично .А зачем делать привязку оплат к услугам/товарам, если важно только сальдо? Всегда можно рассчитать и показать такую разбивку по желаемому алгоритму, а не хранить все привязки и отслеживать все изменения. По какой причине хотите хранить такую привязку в БД? LelikBolekПод выручкой я имел в виду сумму проданных абонементов + сумму оплаченных услуг в +к абонементу + оплаты разовых услуг + сумму проданных товаров От этой суммы считается ЗП менеджеров (как процент от дневной выручки)Разумеется, за минусом суммы возвратов клиентам, так? Тогда ситуация, при которой выручка отрицательная, как рассматривается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 14:24 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
Сложнее всего, когда у вас одновременно есть и (1) жестко привязанные (разнесенные) услуги-оплаты и (2) такие, для которых достаточно одного общего сальдо, которое должно считаться без жестко разнесенных (1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 14:49 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
boottyА зачем делать привязку оплат к услугам/товарам, если важно только сальдо? Если прально понял вопрос, то привязка оплаты и услуги нужна для того чтоб учесть доплату за посещение клуба в вечернее время по дневному абонементу. Т.е. надо учесть оплату именно услуги, без привязки к абонементу. Получается посещение (услуга) оплачена двумя позициями (дневным абонементом и доплатой за посещение в вечернее время) boottyРазумеется, за минусом суммы возвратов клиентам, так? Тогда ситуация, при которой выручка отрицательная, как рассматривается? А возвраты никак не делаются. Что с возу упало, то пропало. Деньги уже могут быть столеткакпропиты )))) Шутка !) Отрицательность дневной выручки у меня проявляется только при расчете ЗП менеджерам, и тут я просто ничего им не насчитываю если выручка в день <= 0. Это все оговорено заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 15:01 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolekПолучается посещение (услуга) оплачена двумя позициями (дневным абонементом и доплатой за посещение в вечернее время) В любом случае просто появляется еще одна услуга "посещение в вечернее время с дневным абонентом" и у неё есть своя цена. Она влияет на общее сальдо. Но никак не на оплату что внес клиент... Клиент просто платит и платит... Вы выставляете счет с абонентами, услугами и товарами... Клиенту высчитывается сальдо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 15:10 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
krvsa[quot LelikBolek] В любом случае просто появляется еще одна услуга "посещение в вечернее время с дневным абонентом" и у неё есть своя цена. Она влияет на общее сальдо. Но никак не на оплату что внес клиент... ну это видимо смотря с какого боку смотреть: у меня одно из основных понятий учета - "посещение" т.е. факт того что клиент пришел в клуб. Далее это посещение описывается такими основными показателями: куда? (какая услуга), к кому (кто инструктор, что инструктору упала капля денег за это посещение), как за это посещение заплатил (абонемент, разовая оплата, комбинированная оплата если по дневному абонементу вечером) А уж на этих посещениях строится весь анализ деятельности клуба Идея описывать каждое посещение как выставление счета за услугу (типа "вы нам должны за...) и оплаты этих услуг аля товар (внесение 100 руб за то что я вам был должен вот тогда ...), требует чаепития и осмысления )) Это конечно потребует переделки системы, но, возможно, позволить гибче добавлять новые виды услуг клуба . Буду думать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 15:25 |
|
||
|
Связь договоров, оплат и депозита
|
|||
|---|---|---|---|
|
#18+
LelikBolekЕсли прально понял вопрос, то привязка оплаты и услуги нужна для того чтоб учесть доплату за посещение клуба в вечернее время по дневному абонементу. Т.е. надо учесть оплату именно услуги, без привязки к абонементу. Получается посещение (услуга) оплачена двумя позициями (дневным абонементом и доплатой за посещение в вечернее время)Если человеку можно посетить клуб вечером по дневному абонементу без немедленной оплаты (т.е. в долг), то данная привязка тоже не обязательна, полагаю, если это учитывается в системе с ценой (с учетом скидки или отдельной услугой, как сказал krvsa). Если же список услуг/товаров делится на те, которые можно испльзовать без предварительной оплаты и те, которые должны быть обязательно сперва оплачены, то вам будет проще делать с привязкой. Но тогда подумайте о механизме переноса сальдо по существующим оплатам, типа: "Я оплатил массаж, но отказываюсь от него и вместо этого пойду на йогу" (которую надо оплатить до оказания услуги). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2010, 15:27 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=74&tid=1542687]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 465ms |

| 0 / 0 |
