|
|
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
[quot [Архитектор Мендисабаль]]Добрый день. Мой вопрос касается логики использования одиночного ресурса в многопользовательской среде. Возможно тема стара как мир, но это даже лучше, потому что не придется выдумывать велосипед, а воспользоваться коллективным человеческим опытом. В таблице лежат остатки товаров, которые подвергаются продаже... На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия. При добавлении позиции указывается требуемое покупателем количество. По логике вещей акт продажи должен представлять собой единую транзакцию. [/quot] Обычно кассы работают off-line, т.е. отдельно от основной БД, или хотя бы могут так работать. И обычно остатки списывают в конце кассовой смены. При этом только проведение одного чека должно быть транзакцией. А два соседних чека делать транзакцией вовсе не обязательно. [quot [Архитектор Мендисабаль]] Суть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов, но при этом остатки не должны уйти в минуса, или в общем говоря расходиться с реальным наличием. [/quot] Не, суть ты кажется неверно понимаешь. Суть в том, что ты НЕ ЗНАЕШЬ сколько у тебя товара реально. У тебя есть только оценка, близкая больше или меньше к реальности. И есть неоспоримый факт -- если ты какой-то товар продаешь, то он у тебя есть, т.е был на начало дня, не зависимо от того, сощитали ли этот конкретный экземпляр или нет. И если это неучтёнка, то по факту продажи ты должен увеличить остатки (не обязательно исходные и даже лучше не исходные, чтобы было видно) с помощью акта пересортицы, который должен оформляться по фактической продаже. Так что уход остатка в минус -- это нормальное явление. [quot [Архитектор Мендисабаль]] Поскольку незавершенная транзакция не позволяет увидеть другой транзакции сколько реально осталось в остатках с учетом резерва этой самой незавершенной транзакции, то тут и возникает вопрос: как лучше построить межтранзакционное взаимодействие, чтобы найти золотую середину между масштабируемостью и постоянной консистенцией данных. [/quot] Ну, там в общем всё просто, делаешь транзакцию, с UPDATE-ом, они сериализуются в очереди к остатку одного товара и всё ОК. Причём для этого не нужно ничего делать, оно всё сделается само, автоматом, нужно только правильно оформить код. Открыл транзакцию, сделал всё что нужно (провёл все позиции чека) -- и закоммитил, елси проблемы -- откатил. Но к уходу остатка в минус это не имеет никакого отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:20 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
gguueessttЕсли товар продается по факту (т.е. физически присутствует), то запрещать "продажу в минус" не стоит. Правда можно предупреждать кассира, что товар в нулях. При проведении чека товар проверяется на наличие и если есть "минусы", то следует предпринять к-л действия (разрешить, дооприходовать, удалить из чека и пр.). Вот блин кассиру будто делать больше нечего! Во классно придумал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:21 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
[quot [Архитектор Мендисабаль]]Смотрите, дело даже не в минусах как таковых, а о расхождении остатков в виде цыфры в базе и конкретного колва на полке изза [/quot] Это всегда возможно в учёте. Это нормальное явление, его не нужно боятся. Конечно, учёт стремиться отражать реальную картинку склада, но не всегда это получается. [quot [Архитектор Мендисабаль]]апример такой транзакционной проблемы как потеряные изменения. [/quot] lost update ? Это -- проблемы СУБД, если у тебя в коде всё правильно, её не будет. В оракле конкретно её нет. Уровень изоляции -- по умолчанию. [quot [Архитектор Мендисабаль]] Блокировать запись не годится потому что если ктото начал свои покупки с трусов, то второму пришедшему ТОЛЬКО за этими трусами невдомек ждать пока первый назаказывает себе еще 100 других позиций. Как собственно и организовать резерв или чтонить в этом роде меня и интересовало, потому де изменения сделанные одной транзакцией еще не видны другой пока первая не решит уже чтото... [/quot] Ничего блокировать не нужно, тебе нужно только правильно транзакцию организовать. Начать, всё сделать, и завершить. [quot [Архитектор Мендисабаль]] Вообще я задавал этот вопрос на ветке Оракла потому что и ожидал решений с помощью доступных оракловых механизмов.[/quot] там все механизмы -- begin tran XXXX commit; и всё. При чём это универсально почти по всем СУБД. (в оракле нет begin tran на сервере, просто делаешь первый оператор -- она сама начнётся). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:27 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
Злой БобрБредятина, Ответ правильный даже при таком подходе. То что описываете Вы относится к организации работы продавца в секции магазина. По уму продавец через терминал (кпк, ...) формирует счет покупателю. Потом покупатель идет на кассу и оплачивает товар в счете. После оплаты получает чек. Дальше если покупатель сам забирает товар то грузчики перемещают товар по списку в секцию выдачи, если оплачена доставка то перемещается в секцию доставки и доставляется покупателю в указанную точку. В любом варианте никаких проблем нет. Вероятно ТС просто теоретик, поэтому и задает подобные вопросы. Ответ не правильный. Так как "формирует счет покупателю"))) У автора темы "накидывает"))) В этом все дело. Вы, пока, не понимаете, вероятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:43 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
londiniumМне почему-то кажется, что речь больше идет о продаже, условно говоря, железнодорожных билетов несколькими кассами. Вопрос - как избежать ситуации продажи последнего билета двумя кассирами Вы полагаете, что кассиры работают в "Экспресс" с одной БД?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:48 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
MasterZivgguueessttЕсли товар продается по факту (т.е. физически присутствует), то запрещать "продажу в минус" не стоит. Правда можно предупреждать кассира, что товар в нулях. При проведении чека товар проверяется на наличие и если есть "минусы", то следует предпринять к-л действия (разрешить, дооприходовать, удалить из чека и пр.). Вот блин кассиру будто делать больше нечего! Во классно придумал!А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции. В системе следует предусмотреть все варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 13:23 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
О.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик... На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак.... Но некоторые вещи на практике выглядят следующим образом: 1. Минуса ... для хозяина бизнеса их разрешение, это возможно почти вылет в трубу медленно и незаметно, хотя многие об этом даже и не догадываются... Рассказываю реальный случай: Владелец магазина канцелярских товаров едет в супермаркет и встречает там своего продавца с тележкой набитой ручками, карандашами и тетрадями (в ассортименте его магазина) и тут до него доходит, что продавец тупо в его магазине торгует своим товаром... Естественно у хозяина всё идет в бешанные минуса ибо продавец ничего не ставит на приход, а просто пробивает тупо свой товар вместо хозяйского - эдакий бизнес продавца внутри бизнеса хозяина, да еще без аренды, да еще и с зарплатой.... по этому если хозяин бизнеса не дебил конченный, то минуса не нужны.... На счет запрещать совсем - наверное нет, но бить тревогу по каждому минусу - это однозначно !!! 2. Кто продал, кто не успел.... ну тут совсем всё просто... пропускайте всё то, что продаёте через сканер штрих-кода и никаких проблем не будет и транзакций не нужно... есть две кассы и там и там в остатке 50 штук какой то хрени... если к одной кассе поднесли 30 штук этой хрени и начали пробивать, то ко второй кассе смогут принести уже только 20 штук этой хрени и не более... 3. Плюсы и минусы в инвентаризации будут всегда - это человеческий фактор и после инвентаризации нужно избыток ставить на приход, чтобы опять можно было продать, а минусы списывать ибо этого товара уже нет, а всё это называется пересортица и бывает она от того, что продавцы продают по подбору а не сканером или умничают когда не нужно... и очень часто при продаже списывается не тот товар, который продан, например покупатель принес на кассу абсолютно одинаковую по форме посуду, но разную по цвету, а кассирша Маша бибикнула синюю тарелку и поставила количество две тарелки продать, хотя вторая была желтого цвета и с другим штрихкодом и усё... на инвентаризации вылезет, что желтой тарелки не хватает (её ведь не сканировали а так отдали) а синяя тарелка лишняя ибо продали по учету 2 штуки, только вместо одной синей отдали желтую... ну и таких примеров куча... По этому - лично мои советы по этому топику такие: 1. Схема данных - это очень важно !!! Чем умнее схема, тем транзакции нафик не нужны, у меня до 10 касс работают с одним остатком и за 8 лет ни разу никто не нажал не так... (секреты не разглашаю) 2. Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 14:35 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
vmag.... На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак.... Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего... Не решается никак, но если вот так, то проблемы нет)) Очередной теоретик, так и не понявший суть вопроса)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 17:43 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
vmagО.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик... На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак.... Но некоторые вещи на практике выглядят следующим образом: 1. Минуса ... для хозяина бизнеса их разрешение, это возможно почти вылет в трубу медленно и незаметно, хотя многие об этом даже и не догадываются... Рассказываю реальный случай: Владелец магазина канцелярских товаров едет в супермаркет и встречает там своего продавца с тележкой набитой ручками, карандашами и тетрадями (в ассортименте его магазина) и тут до него доходит, что продавец тупо в его магазине торгует своим товаром... Естественно у хозяина всё идет в бешанные минуса ибо продавец ничего не ставит на приход, а просто пробивает тупо свой товар вместо хозяйского - эдакий бизнес продавца внутри бизнеса хозяина, да еще без аренды, да еще и с зарплатой.... по этому если хозяин бизнеса не дебил конченный, то минуса не нужны.... На счет запрещать совсем - наверное нет, но бить тревогу по каждому минусу - это однозначно !!! 2. Кто продал, кто не успел.... ну тут совсем всё просто... пропускайте всё то, что продаёте через сканер штрих-кода и никаких проблем не будет и транзакций не нужно... есть две кассы и там и там в остатке 50 штук какой то хрени... если к одной кассе поднесли 30 штук этой хрени и начали пробивать, то ко второй кассе смогут принести уже только 20 штук этой хрени и не более... 3. Плюсы и минусы в инвентаризации будут всегда - это человеческий фактор и после инвентаризации нужно избыток ставить на приход, чтобы опять можно было продать, а минусы списывать ибо этого товара уже нет, а всё это называется пересортица и бывает она от того, что продавцы продают по подбору а не сканером или умничают когда не нужно... и очень часто при продаже списывается не тот товар, который продан, например покупатель принес на кассу абсолютно одинаковую по форме посуду, но разную по цвету, а кассирша Маша бибикнула синюю тарелку и поставила количество две тарелки продать, хотя вторая была желтого цвета и с другим штрихкодом и усё... на инвентаризации вылезет, что желтой тарелки не хватает (её ведь не сканировали а так отдали) а синяя тарелка лишняя ибо продали по учету 2 штуки, только вместо одной синей отдали желтую... ну и таких примеров куча... По этому - лично мои советы по этому топику такие: 1. Схема данных - это очень важно !!! Чем умнее схема, тем транзакции нафик не нужны, у меня до 10 касс работают с одним остатком и за 8 лет ни разу никто не нажал не так... (секреты не разглашаю) 2. Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего... +100500 Свидетельствую свой одобрям'с. Теория без практики - мертва! (с)-возможно моё, но не гарантирую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 20:00 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
prog123vmagО.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик... +100500 Свидетельствую свой одобрям'с. Теория без практики - мертва! (с)-возможно моё, но не гарантирую. Еще один теоретик, не понявший суть вопроса)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 21:07 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
Самуил Яковлевич Маршак И ведь верно, с той минуты Стал ходить дурак надутый. То и дело он, дурак, Говорит другим: - Не так! Он не плачет и не пляшет, А на все рукою машет. Постороннему никак Не узнать, что он дурак. Дети буквы пишут в школе, Да и спросят: - Хорошо ли? Поглядит в тетрадь дурак, Да и вымолвит: - Не так. Шьют портнихи на машинке, Шьют сапожники ботинки. Смотрит издали дурак И бормочет: - Все не так! И не так селедок ловят, И не так борщи готовят, И не так мосты мостят, И не так детей растят! Видят люди, слышат люди, Как дурак дела их судит, И подумывают так: "Что за умница дурак!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 21:58 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
SERG1257Самуил Яковлевич Маршак И ведь верно, с той минуты Стал ходить дурак надутый. То и дело он, дурак, Говорит другим: - Не так! Он не плачет и не пляшет, А на все рукою машет. Постороннему никак Не узнать, что он дурак. Дети буквы пишут в школе, Да и спросят: - Хорошо ли? Поглядит в тетрадь дурак, Да и вымолвит: - Не так. Шьют портнихи на машинке, Шьют сапожники ботинки. Смотрит издали дурак И бормочет: - Все не так! И не так селедок ловят, И не так борщи готовят, И не так мосты мостят, И не так детей растят! Видят люди, слышат люди, Как дурак дела их судит, И подумывают так: "Что за умница дурак!" Самоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары... Еще один, теоретик-культуролог))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 22:06 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
БредятинаСамоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары.. Это конечно пипец... Я вам советую пойти в магазин, дождаться момента когда кто то начнет платить за последний ящик пива, и тут же подскочить к соседней кассе с просьбой пробить и вам этот же последний ящик пива.... может тогда дойдут до вас слова обычного кассира... если опять нет, то он позовет охранника с дубинкой и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 04:48 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
LSVMasterZivпропущено... Вот блин кассиру будто делать больше нечего! Во классно придумал!А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции. В системе следует предусмотреть все варианты. кассир считает деньги, а не товар. Товар считает завскладом. По закрытии кассы это происходит. Бить тревогу он конечно может, но если взять приведенный случай про торговлю своим товаром в чужом магазине, то продавец должен был сдать деньги за свой товар хозяину магазина, поскольку товар прошел через кассу. Т.е. хозяину только прибыль будет. Именно поэтому во всех магазинах вы и видите надпись, что вы можете не платить за товар, если вам не выдали чек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 09:08 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
Стал перечитывать тему с нуля... Бредятина[Архитектор Мендисабаль], И поймите, что дело вовсе не в "логике функционала", а в схеме БД))) Схема БД тут ни при чём, транзакцию можно по любой схеме провести. Максимум что будет плохого -- очень высокий уровень изоляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 09:17 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
MasterZivLSVпропущено... А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции. В системе следует предусмотреть все варианты. кассир считает деньги, а не товар. Товар считает завскладом. По закрытии кассы это происходит. Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка. А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 09:20 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
Ребята, как выглядит касса ? 1) там остатки товаров не хранятся. Вообще. 2) там хранится словарь товаров (товарной номенклатуры), со штрихкодами. И прайс-лист на них (цены) 3) отрывается кассовая смена. кассиру сдают деньги со старой смены, остаток после выемки из кассы (ему нужно на сдачу). 4) идёт торговля. 5) открывается чек, по чеку проходит несколько товаров, у каждого -- кол-во, цена, сумма позиции товарной. Да, и ещё важное теперь -- ещё есть скидка на каждый товар. Она может пересчитываться задним числом по закрытиии чека. 6) вот если какого-то товара нет в списке товаров кассы, или на него нет штрих-кода -- вот тогда жопа, надо ждать, пока товар не найдут или покупатель от него не откажется. 7) в процессе формирования чека кассир может свободно удалять и добавлять позиции чека (если напр. покупатель откажется от чего-то). 8) чек закрывается, формируется сумма чека, как сумма позиций. Тут можно предьявить скидочную карту, тогда позициии чека могут быть пересчитаны. Из суммы чека, суммы прихода от покупателя и сдачи формируется приход в кассу от чека. В кассе в рамках кассовой смены ведётся текущий балланс кассы, он корректируется. 9) всё, чек закрыт, товар не может быть вернут (только отдельной операцией возврата, и её часто делают не в этой кассе). 10) потом всё крутится по кругу в цикле от п.5 до п.8 10) закрывается кассовая смена. Берётся балланс кассы, производится выемка денег, формируется остаток кассы на следующую смену. (выемка может производится и в процессе смены, тогда считают купюры или монеты, и балланс кассы минусуют на эту сумму). 11) в этот же момент формируется расходный лист на склад со списком проданных товаров, по сути это -- сумма всех прозиций всех чеков. Не очень важно, как их проводить в складской БД, но главное, что до этого момента касса никак не взаимодействует с БД склада, по нескольким причинам: -- некоторые кассы просто тупо не умеют. -- это и вредно, потому что БД склада не обязана работать всё время кассовой смены -- она может и упасть, и свет могут вырубить, и вообще. А торговать надо. Вот тут, в пункте 11, и проводится изменение товарных остатков, это делается НЕ в кассе, и одной транзакцией (почеково или вся смена целиком или ещё как). И никаких проблем с изменением остатков нет. Вот тут остатки могут уйти в минус, и если это происходит, формируется акт пересортицы, который фиксирует задним числом на начало смены наличие неучтённых единиц товара, которые были проданы за смену. А далее дело кладовщика (завскладом) уже думать, откуда этот товар "вырос". Да, ещё раз, поскольку товар уже прошёл по кассе, и приход по нему учтён, и деньги будет нужно отдавать, и в том числе государству в виде налогов, то кладовщик их присвоить не может, и это для магазина чистая прибыль неучтённая, конечно, она может быть компенсирована неучтёнными потерями ранее на закупку этого неучтённого товара, которые обнаружатся несколько позже. Но никаких особых проблем, кроме необходимости разбираться, для магазина нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 09:45 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинMasterZivпропущено... кассир считает деньги, а не товар. Товар считает завскладом. По закрытии кассы это происходит. Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка. А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит". Не, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы. Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум. " реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать. "клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. " -- тут тоже нестрашно, ему вернут деньги, и всё. Именно поэтому существует такой документ, как чек, и процедура гашения чека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 09:50 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
авторэто и вредно, потому что БД склада не обязана работать всё время кассовой смены -- она может и упасть, и свет могут вырубить, и вообще. А торговать надо Здесь не совсем понятно. Логичнее списывать со склада в момент выкатки товара в зал. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 10:49 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
MasterZivРебята, как выглядит касса ? 1) там остатки товаров не хранятся. Вообще. 2) там хранится словарь товаров (товарной номенклатуры), со штрихкодами. И прайс-лист на них (цены) 3) отрывается кассовая смена. кассиру сдают деньги со старой смены, остаток после выемки из кассы (ему нужно на сдачу). 4) идёт торговля. 5) открывается чек, по чеку проходит несколько товаров, у каждого -- кол-во, цена, сумма позиции товарной. Да, и ещё важное теперь -- ещё есть скидка на каждый товар. Она может пересчитываться задним числом по закрытиии чека. 6) вот если какого-то товара нет в списке товаров кассы, или на него нет штрих-кода -- вот тогда жопа, надо ждать, пока товар не найдут или покупатель от него не откажется. 7) в процессе формирования чека кассир может свободно удалять и добавлять позиции чека (если напр. покупатель откажется от чего-то). 8) чек закрывается, формируется сумма чека, как сумма позиций. Тут можно предьявить скидочную карту, тогда позициии чека могут быть пересчитаны. Из суммы чека, суммы прихода от покупателя и сдачи формируется приход в кассу от чека. В кассе в рамках кассовой смены ведётся текущий балланс кассы, он корректируется. 9) всё, чек закрыт, товар не может быть вернут (только отдельной операцией возврата, и её часто делают не в этой кассе). 10) потом всё крутится по кругу в цикле от п.5 до п.8 Вот все абсолютно правильно, за исключением того, что MasterZivБить тревогу он конечно может, но если взять приведенный случай про торговлю своим товаром в чужом магазине, то продавец должен был сдать деньги за свой товар хозяину магазина, поскольку товар прошел через кассу. Т.е. хозяину только прибыль будет. Прибыли у хозяина никакой не будет если продавец торгует своим товаром ибо почти вся Московская область и по её примеру многие другие регионы работают без фискальных касс (кроме спиртного), а чеки выдают на обычный принтер чеков с шириной ленты 80 мм (как в кафе предварительный чек) и это официально разрешено правительством ну уже наверное года так три (кто не знает) по этому схема бизнеса в бизнесе у всех воришек одинаковая: - пробил покупателю свой товар а не хозяина... - выдал чек на принтере 80 мм и взял деньги... - согласно вашему пункту № 7 по удалял нужные позиции товара из текущего чека и бабки засунул в карман а не в кассу... Ну и так в цикле.... а принтер чеков Х и Z отчеты не выдаёт... отчеты только в программе (в которой всё тип топ).... Честно говоря, у меня параллельно с программой прилагается и свой личный трактат о том как пресекать тривиальное воровство и вот такие паразитические схемы бизнеса на чужом бизнесе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 10:53 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
автор программой прилагается и свой личный трактат о том как пресекать тривиальное воровство и вот такие паразитические схемы бизнеса на чужом бизнесе.. А поделиться сможете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 11:04 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
MasterZivСтал перечитывать тему с нуля... Бредятина[Архитектор Мендисабаль], И поймите, что дело вовсе не в "логике функционала", а в схеме БД))) Схема БД тут ни при чём, транзакцию можно по любой схеме провести. Максимум что будет плохого -- очень высокий уровень изоляции. Вот. Правильно. С нуля... Но, опять пропустили важный нюанс. Когда "накидывает" количество не должно уменьшаться (товар еще физически на складе), но, должна быть гарантия получения)) Вы пропустили сообщение о свойстве "Забронировано". Значение которого изменяется именно в процессе "накидывания", который может быть продолжительным. На самом деле, это хорошо известное решение. И это именно схема БД)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 11:07 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
MasterZivКот Матроскинпропущено... Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка. А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит". Не, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы. Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум. " реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать. Почему же не может? Может и даже должен - именно потому что ему надо продавать, а товар, который закончился, нельзя продать. Как минимум это выразится в "Ой, вы знаете, выбарнный Вами товар закончился. Давайте подберем что-то другое". Гораздо лучше, если это случится на этапе выбития чека, чем когда покупатель с этим чеком пойдет на склад в соседнее здание, отсидит в очереди и только тогда услышит "опаньки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 11:09 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
vmagБредятинаСамоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары.. Это конечно пипец... Я вам советую пойти в магазин, дождаться момента когда кто то начнет платить за последний ящик пива, и тут же подскочить к соседней кассе с просьбой пробить и вам этот же последний ящик пива.... может тогда дойдут до вас слова обычного кассира... если опять нет, то он позовет охранника с дубинкой и т.д. Еще раз повторю, Вы не поняли суть вопроса)) Совсем(( У Вас просто нет практики создания такого рода систем. Тем не менее, хорошо известное решение этого вопроса я пояснил пять дней назад. Научитесь хотя бы читать и перечитывать, читать и перечитывать))) Впрочем: "Чтобы быть справедливым, нужно для начала быть добрым. А быть добрым — это значит понимать, что все люди ошибаются." © Адриано Челентано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 11:11 |
|
||
|
Тендер на логику функционала
|
|||
|---|---|---|---|
|
#18+
londiniumА поделиться сможете? Я этот бумажный документ отдаю только лично в руки клиенту, который купил у меня программу, просто так бросать в сеть такую бомбу по крайней мере не этично, не знаю как на счет хозяев бизнеса, но воришки это точно возьмут на вооружение и может получиться как с историей открытия автогена: мужик придумал, заявил, но кроме потрошителей сейфов никто на это внимание не обратил, а результат всем известен - ограбили даже те банки, которые раньше считались неприступными... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2014, 11:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38761316&tid=1540780]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 161ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...