powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тендер на логику функционала
80 сообщений из 80, показаны все 4 страниц
Тендер на логику функционала
    #38757404
Добрый день.
Мой вопрос касается логики использования одиночного ресурса в многопользовательской среде. Возможно тема стара как мир, но это даже лучше, потому что не придется выдумывать велосипед, а воспользоваться коллективным человеческим опытом.

В таблице лежат остатки товаров, которые подвергаются продаже... На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия. При добавлении позиции указывается требуемое покупателем количество. По логике вещей акт продажи должен представлять собой единую транзакцию. Суть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов, но при этом остатки не должны уйти в минуса, или в общем говоря расходиться с реальным наличием. Поскольку незавершенная транзакция не позволяет увидеть другой транзакции сколько реально осталось в остатках с учетом резерва этой самой незавершенной транзакции, то тут и возникает вопрос: как лучше построить межтранзакционное взаимодействие, чтобы найти золотую середину между масштабируемостью и постоянной консистенцией данных.

Буду благодарен за любые идеи

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757458
gguueesstt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если товар продается по факту (т.е. физически присутствует), то запрещать "продажу в минус" не стоит.
Правда можно предупреждать кассира, что товар в нулях.
При проведении чека товар проверяется на наличие и если есть "минусы", то следует предпринять к-л действия (разрешить, дооприходовать, удалить из чека и пр.).

Как вариант - попадание в чек "резервирует" товар и его уже нельзя вбить в параллельный чек.

Проведение - транзакция, списывающая остатки.

зы: других вариантов не будет.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757468
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Архитектор Мендисабаль], так какие проблемы проверять остатки при завершении транзакции?
И если остатков меньше чем указано в нашей транзакции, делать откат с сообщением "Пока вы тыркались по кнопочкам количества товара, всё что можно было уплыло у Вас из под носа. Советуем Вам в следующий раз поменьше щёлкать лицом и у Вас будет всё ОК"
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757486
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архитектор МендисабальСуть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов, но при этом остатки не должны уйти в минуса
Поскольку у вас Оракул, достаточно на таблицу остатков повесить CHECK amount>=0. А прочий бред про транзакции лечится вдумчивым чтением концептов и прочей документации на предмет миниоткатов.

PS: "чтобы не расходилось с реальным наличием" - технически невозможно. Нет у компьютера способа узнать, что грузчик дядя Вася только что рассыпал по всему складу последний мешок муки.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757492
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
транзакция на запись должна быть короткой и в самом конце - при закрытии чека:

1. открыли транзакцию
2. проверили наличие на остатках
3. записали изменения в БД
4. подали команду на ККМ о закрытии чека (если требуется)
5. закрыли транзакцию

транзакция должна блокировать данные
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757871
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [Архитектор Мендисабаль]]Добрый день.
Мой вопрос касается логики использования одиночного ресурса в многопользовательской среде. Возможно тема стара как мир, но это даже лучше, потому что не придется выдумывать велосипед, а воспользоваться коллективным человеческим опытом.

В таблице лежат остатки товаров, которые подвергаются продаже... На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия. При добавлении позиции указывается требуемое покупателем количество. По логике вещей акт продажи должен представлять собой единую транзакцию.[/quot]
Вы не корректно, на мой взгляд, трактуете понятие "транзакция". Когда "накидывает" - это одни транзакции, которые увеличивают количество забронированное, и, соответственно, уменьшают количество свободное. А завершающая транзакция (формирования чека) уменьшает количество и, естественно, забронированное количество.
[quot [Архитектор Мендисабаль]] Суть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов, но при этом остатки не должны уйти в минуса, или в общем говоря расходиться с реальным наличием. Поскольку незавершенная транзакция не позволяет увидеть другой транзакции сколько реально осталось в остатках с учетом резерва этой самой незавершенной транзакции, то тут и возникает вопрос: как лучше построить межтранзакционное взаимодействие, чтобы найти золотую середину между масштабируемостью и постоянной консистенцией данных.

Буду благодарен за любые идеи
[/quot]
Нет никакой проблемы))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757873
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafтранзакция на запись должна быть короткой и в самом конце - при закрытии чека:

1. открыли транзакцию
2. проверили наличие на остатках
3. записали изменения в БД
4. подали команду на ККМ о закрытии чека (если требуется)
5. закрыли транзакцию

транзакция должна блокировать данные
))) в самом конце сообщить, что зря старался...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38757883
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Архитектор Мендисабаль],
И поймите, что дело вовсе не в "логике функционала", а в схеме БД)))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758038
Смотрите, дело даже не в минусах как таковых, а о расхождении остатков в виде цыфры в базе и конкретного колва на полке изза например такой транзакционной проблемы как потеряные изменения. И вобщемто в суть проблемы минусов я не расширяю до таких факторов как грузчик дядя Вася, а хотя бы ограничиться проблемой одновременного доступа к данным. С теоретической точки зрения мне больше импонирует фича с резервом, резервом заданного в чеке колва, а не всего совсем. Блокировать запись не годится потому что если ктото начал свои покупки с трусов, то второму пришедшему ТОЛЬКО за этими трусами невдомек ждать пока первый назаказывает себе еще 100 других позиций. Как собственно и организовать резерв или чтонить в этом роде меня и интересовало, потому де изменения сделанные одной транзакцией еще не видны другой пока первая не решит уже чтото...

Вообще я задавал этот вопрос на ветке Оракла потому что и ожидал решений с помощью доступных оракловых механизмов.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758049
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архитектор Мендисабальхотя бы ограничиться проблемой одновременного доступа к
данным.
Я же сказал: читай концепты о том как взаимодействуют update из параллельных транзакций на
уровне read committed (умолчательном для оракула). Тогда ты поймёшь, что Бредятина в
кои-то веки не сказал фигню и проблемы действительно нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758056
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [Архитектор Мендисабаль]]изза например такой транзакционной проблемы как потеряные изменения.....[/quot]
А можно спросить, а что это за такая проблема? И в какой конкретно СУБД и при каких условиях она есть?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758172
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [Архитектор Мендисабаль]]Смотрите, дело даже не в минусах как таковых, а о расхождении остатков в виде цыфры в базе и конкретного колва на полке изза например такой транзакционной проблемы как потеряные изменения. И вобщемто в суть проблемы минусов я не расширяю до таких факторов как грузчик дядя Вася, а хотя бы ограничиться проблемой одновременного доступа к данным. С теоретической точки зрения мне больше импонирует фича с резервом, резервом заданного в чеке колва, а не всего совсем. Блокировать запись не годится потому что если ктото начал свои покупки с трусов, то второму пришедшему ТОЛЬКО за этими трусами невдомек ждать пока первый назаказывает себе еще 100 других позиций. Как собственно и организовать резерв или чтонить в этом роде меня и интересовало, потому де изменения сделанные одной транзакцией еще не видны другой пока первая не решит уже чтото...

Вообще я задавал этот вопрос на ветке Оракла потому что и ожидал решений с помощью доступных оракловых механизмов.[/quot]
Это здесь распространенное явление))) Вроде человека что-то интересует, и он задает вопрос. А на самом деле - не интересует.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758296
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Архитектор Мендисабаль],

Вам дали правильный ответ в первом же посте - нельзя ограничивать кассу количеством товара. Дело кассира пробить по кассе ровно столько товара, сколько взял покупатель. И кассиру абсолютно до лампочки сколько там висит на остатке. Поэтому никаких проблем нет. У вас есть таблица с перечнем товаров и ценой - ее и используйте в процедуре продажи по кассе. И поскольку вы туда обращаетесь только для чтения то транзакция будет только на таблице продаж по кассе а не на товаре. Соответственно делайте транзакцию минимальной и все у вас получится.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758531
gguueesstt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобр[Архитектор Мендисабаль],

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

зы: Особенности БД тут абсолютно не причем. Делать надо исходя из того, что "БД заранее неизвестна". Да хоть DBF.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758644
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ моем опыте была ситуация, когда запрещались продажа в минус только неск. групп товара
А можете развернуто рассказать, что происходит в физическом мире при продаже в минус?
Пациент оплатил ящик водки, пришел, а на складе только пол-ящика.Что происходит дальше?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758758
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gguueessttВ моем опыте была ситуация, когда запрещались продажа в минус только неск. групп товара (причем продажа по факту), но по которым недопустим пересорт ввиду воровства и дороговизны.
Т.е. вы хотите сказать что взяв телевизор и подойдя к кассе я несмогу заплатить, потому что программа не даст продать в минус?.. Вы наверное живете в какой-то интересной стране. За такое магазин не только заплатит по суду, но и "прославится" на всю страну.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758763
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр[Архитектор Мендисабаль],

Вам дали правильный ответ в первом же посте - нельзя ограничивать кассу количеством товара. Дело кассира пробить по кассе ровно столько товара, сколько взял покупатель. И кассиру абсолютно до лампочки сколько там висит на остатке. Поэтому никаких проблем нет. У вас есть таблица с перечнем товаров и ценой - ее и используйте в процедуре продажи по кассе. И поскольку вы туда обращаетесь только для чтения то транзакция будет только на таблице продаж по кассе а не на товаре. Соответственно делайте транзакцию минимальной и все у вас получится.
Тогда бы и вопроса не было бы. Так что ответ (подразумевающий наличие товара в руках покупателя) - не правильный)).
"На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия."
Впрочем, уже выяснилось, что автора вопроса никакие ответы не интересуют))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758790
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бредятина,

Ответ правильный даже при таком подходе. То что описываете Вы относится к организации работы продавца в секции магазина. По уму продавец через терминал (кпк, ...) формирует счет покупателю. Потом покупатель идет на кассу и оплачивает товар в счете. После оплаты получает чек. Дальше если покупатель сам забирает товар то грузчики перемещают товар по списку в секцию выдачи, если оплачена доставка то перемещается в секцию доставки и доставляется покупателю в указанную точку.
В любом варианте никаких проблем нет. Вероятно ТС просто теоретик, поэтому и задает подобные вопросы.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758802
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрБредятина,
По уму продавец через терминал (кпк, ...) формирует счет покупателю. Потом покупатель идет на кассу и оплачивает товар в счете. После оплаты получает чек. Дальше если покупатель сам забирает товар то грузчики перемещают товар по списку в секцию выдачи, если оплачена доставка то перемещается в секцию доставки и доставляется покупателю в указанную точку.
В любом варианте никаких проблем нет. Вероятно ТС просто теоретик, поэтому и задает подобные вопросы.
С чего бы думать, что так работают все магазины. Был как-то в Технопоинте (не знаю местная наша сеть или она завезена к нам москвичами), так там сначала надо выбрать товар (причём необязательно по ихним мониторам, моожно и с домашнего распечатать что хочешь у них купить, потом пойти в кассу и заплатить деньги, а уж потом с чеком на руках в очередь к продавцам.
То есть отдавая деньги покупатель особо не представляет действительно ли в магазине есть такой товар. Один раз у них полчаса ждал когда мне видеокарту принесут (сейчас подумал, что видимо, у них не оказалось в магазин напротив похоже бегали).
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758805
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрgguueessttВ моем опыте была ситуация, когда запрещались продажа в минус только неск. групп товара (причем продажа по факту), но по которым недопустим пересорт ввиду воровства и дороговизны.
Т.е. вы хотите сказать что взяв телевизор и подойдя к кассе я несмогу заплатить, потому что программа не даст продать в минус?.. Вы наверное живете в какой-то интересной стране. За такое магазин не только заплатит по суду, но и "прославится" на всю страну.
Похоже у автора топика ситуация, когда сначала идёшь в кассу отдавать деньги, а уже потом с чеком бегаешь, ищёшь где же находится твой телевизор
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758845
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то кажется, что речь больше идет о продаже, условно говоря, железнодорожных билетов несколькими кассами. Вопрос - как избежать ситуации продажи последнего билета двумя кассирами
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758854
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londinium, в ждкассах любой билет последний. Ибо номер вагона и номер места сразу пропечатываются.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758863
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine, а там где не пропечатываются, последних билетов нет вообще. Всё влезут, кто билеты успел до отправления поезда купить
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758904
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИбо номер вагона и номер места сразу пропечатываются
А ситуация, когда два кассира хотят толкнуть одно и тоже место?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38758925
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine(не знаю местная наша сеть или она завезена к нам москвичами)москвичами, конечно, всё зло от них, клятых
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38759018
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [Архитектор Мендисабаль]]Добрый день.
Мой вопрос касается логики использования одиночного ресурса в многопользовательской среде. Возможно тема стара как мир, но это даже лучше, потому что не придется выдумывать велосипед, а воспользоваться коллективным человеческим опытом.

В таблице лежат остатки товаров, которые подвергаются продаже... На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия. При добавлении позиции указывается требуемое покупателем количество. По логике вещей акт продажи должен представлять собой единую транзакцию.
[/quot]

Обычно кассы работают off-line, т.е. отдельно от основной БД, или хотя бы могут так работать.
И обычно остатки списывают в конце кассовой смены. При этом только проведение одного чека должно быть транзакцией.
А два соседних чека делать транзакцией вовсе не обязательно.

[quot [Архитектор Мендисабаль]]
Суть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов, но при этом остатки не должны уйти в минуса, или в общем говоря расходиться с реальным наличием.
[/quot]

Не, суть ты кажется неверно понимаешь. Суть в том, что ты НЕ ЗНАЕШЬ сколько у тебя товара реально. У тебя есть только оценка,
близкая больше или меньше к реальности. И есть неоспоримый факт -- если ты какой-то товар продаешь, то он у тебя есть, т.е был на начало дня, не зависимо от того, сощитали ли этот конкретный экземпляр или нет. И если это неучтёнка, то по факту продажи
ты должен увеличить остатки (не обязательно исходные и даже лучше не исходные, чтобы было видно) с помощью акта пересортицы, который должен оформляться по фактической продаже.

Так что уход остатка в минус -- это нормальное явление.

[quot [Архитектор Мендисабаль]]
Поскольку незавершенная транзакция не позволяет увидеть другой транзакции сколько реально осталось в остатках с учетом резерва этой самой незавершенной транзакции, то тут и возникает вопрос: как лучше построить межтранзакционное взаимодействие, чтобы найти золотую середину между масштабируемостью и постоянной консистенцией данных.
[/quot]

Ну, там в общем всё просто, делаешь транзакцию, с UPDATE-ом, они сериализуются в очереди к остатку одного товара и всё ОК.
Причём для этого не нужно ничего делать, оно всё сделается само, автоматом, нужно только правильно оформить код.
Открыл транзакцию, сделал всё что нужно (провёл все позиции чека) -- и закоммитил, елси проблемы -- откатил.
Но к уходу остатка в минус это не имеет никакого отношения.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38759019
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gguueessttЕсли товар продается по факту (т.е. физически присутствует), то запрещать "продажу в минус" не стоит.
Правда можно предупреждать кассира, что товар в нулях.
При проведении чека товар проверяется на наличие и если есть "минусы", то следует предпринять к-л действия (разрешить, дооприходовать, удалить из чека и пр.).


Вот блин кассиру будто делать больше нечего!
Во классно придумал!
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38759029
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [Архитектор Мендисабаль]]Смотрите, дело даже не в минусах как таковых, а о расхождении остатков в виде цыфры в базе и конкретного колва на полке изза
[/quot]

Это всегда возможно в учёте. Это нормальное явление, его не нужно боятся.
Конечно, учёт стремиться отражать реальную картинку склада, но не всегда это получается.

[quot [Архитектор Мендисабаль]]апример такой транзакционной проблемы как потеряные изменения.
[/quot]

lost update ? Это -- проблемы СУБД, если у тебя в коде всё правильно, её не будет.
В оракле конкретно её нет. Уровень изоляции -- по умолчанию.


[quot [Архитектор Мендисабаль]]
Блокировать запись не годится потому что если ктото начал свои покупки с трусов, то второму пришедшему ТОЛЬКО за этими трусами невдомек ждать пока первый назаказывает себе еще 100 других позиций. Как собственно и организовать резерв или чтонить в этом роде меня и интересовало, потому де изменения сделанные одной транзакцией еще не видны другой пока первая не решит уже чтото...
[/quot]

Ничего блокировать не нужно, тебе нужно только правильно транзакцию организовать.
Начать, всё сделать, и завершить.

[quot [Архитектор Мендисабаль]]
Вообще я задавал этот вопрос на ветке Оракла потому что и ожидал решений с помощью доступных оракловых механизмов.[/quot]

там все механизмы --
begin tran
XXXX
commit;

и всё. При чём это универсально почти по всем СУБД.

(в оракле нет begin tran на сервере, просто делаешь первый оператор -- она сама начнётся).
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38759064
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрБредятина,

Ответ правильный даже при таком подходе. То что описываете Вы относится к организации работы продавца в секции магазина. По уму продавец через терминал (кпк, ...) формирует счет покупателю. Потом покупатель идет на кассу и оплачивает товар в счете. После оплаты получает чек. Дальше если покупатель сам забирает товар то грузчики перемещают товар по списку в секцию выдачи, если оплачена доставка то перемещается в секцию доставки и доставляется покупателю в указанную точку.
В любом варианте никаких проблем нет. Вероятно ТС просто теоретик, поэтому и задает подобные вопросы.
Ответ не правильный. Так как "формирует счет покупателю"))) У автора темы "накидывает"))) В этом все дело. Вы, пока, не понимаете, вероятно.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38759076
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumМне почему-то кажется, что речь больше идет о продаже, условно говоря, железнодорожных билетов несколькими кассами. Вопрос - как избежать ситуации продажи последнего билета двумя кассирами
Вы полагаете, что кассиры работают в "Экспресс" с одной БД?))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38760560
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivgguueessttЕсли товар продается по факту (т.е. физически присутствует), то запрещать "продажу в минус" не стоит.
Правда можно предупреждать кассира, что товар в нулях.
При проведении чека товар проверяется на наличие и если есть "минусы", то следует предпринять к-л действия (разрешить, дооприходовать, удалить из чека и пр.).
Вот блин кассиру будто делать больше нечего!
Во классно придумал!А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции.
В системе следует предусмотреть все варианты.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38760678
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик...

На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак....
Но некоторые вещи на практике выглядят следующим образом:
1. Минуса ... для хозяина бизнеса их разрешение, это возможно почти вылет в трубу медленно и незаметно, хотя
многие об этом даже и не догадываются... Рассказываю реальный случай: Владелец магазина канцелярских
товаров едет в супермаркет и встречает там своего продавца с тележкой набитой ручками, карандашами и тетрадями
(в ассортименте его магазина) и тут до него доходит, что продавец тупо в его магазине торгует своим товаром...
Естественно у хозяина всё идет в бешанные минуса ибо продавец ничего не ставит на приход, а просто пробивает
тупо свой товар вместо хозяйского - эдакий бизнес продавца внутри бизнеса хозяина, да еще без аренды,
да еще и с зарплатой.... по этому если хозяин бизнеса не дебил конченный, то минуса не нужны....
На счет запрещать совсем - наверное нет, но бить тревогу по каждому минусу - это однозначно !!!
2. Кто продал, кто не успел.... ну тут совсем всё просто... пропускайте всё то, что продаёте через
сканер штрих-кода и никаких проблем не будет и транзакций не нужно... есть две кассы и там и там в остатке
50 штук какой то хрени... если к одной кассе поднесли 30 штук этой хрени и начали пробивать, то ко второй
кассе смогут принести уже только 20 штук этой хрени и не более...
3. Плюсы и минусы в инвентаризации будут всегда - это человеческий фактор и после инвентаризации
нужно избыток ставить на приход, чтобы опять можно было продать, а минусы списывать ибо этого товара
уже нет, а всё это называется пересортица и бывает она от того, что продавцы продают по подбору а не сканером или умничают когда не нужно...
и очень часто при продаже списывается не тот товар, который продан, например покупатель принес на кассу
абсолютно одинаковую по форме посуду, но разную по цвету, а кассирша Маша бибикнула синюю тарелку
и поставила количество две тарелки продать, хотя вторая была желтого цвета и с другим штрихкодом и усё...
на инвентаризации вылезет, что желтой тарелки не хватает (её ведь не сканировали а так отдали) а синяя тарелка
лишняя ибо продали по учету 2 штуки, только вместо одной синей отдали желтую... ну и таких примеров куча...
По этому - лично мои советы по этому топику такие:
1. Схема данных - это очень важно !!! Чем умнее схема, тем транзакции нафик не нужны, у меня
до 10 касс работают с одним остатком и за 8 лет ни разу никто не нажал не так... (секреты не разглашаю)
2. Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761037
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag.... На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак....
Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего...
Не решается никак, но если вот так, то проблемы нет)) Очередной теоретик, так и не понявший суть вопроса))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761229
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagО.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик...

На самом деле проблема есть и в лоб она не решается на 100 % - можно сказать никак....
Но некоторые вещи на практике выглядят следующим образом:
1. Минуса ... для хозяина бизнеса их разрешение, это возможно почти вылет в трубу медленно и незаметно, хотя
многие об этом даже и не догадываются... Рассказываю реальный случай: Владелец магазина канцелярских
товаров едет в супермаркет и встречает там своего продавца с тележкой набитой ручками, карандашами и тетрадями
(в ассортименте его магазина) и тут до него доходит, что продавец тупо в его магазине торгует своим товаром...
Естественно у хозяина всё идет в бешанные минуса ибо продавец ничего не ставит на приход, а просто пробивает
тупо свой товар вместо хозяйского - эдакий бизнес продавца внутри бизнеса хозяина, да еще без аренды,
да еще и с зарплатой.... по этому если хозяин бизнеса не дебил конченный, то минуса не нужны....
На счет запрещать совсем - наверное нет, но бить тревогу по каждому минусу - это однозначно !!!
2. Кто продал, кто не успел.... ну тут совсем всё просто... пропускайте всё то, что продаёте через
сканер штрих-кода и никаких проблем не будет и транзакций не нужно... есть две кассы и там и там в остатке
50 штук какой то хрени... если к одной кассе поднесли 30 штук этой хрени и начали пробивать, то ко второй
кассе смогут принести уже только 20 штук этой хрени и не более...
3. Плюсы и минусы в инвентаризации будут всегда - это человеческий фактор и после инвентаризации
нужно избыток ставить на приход, чтобы опять можно было продать, а минусы списывать ибо этого товара
уже нет, а всё это называется пересортица и бывает она от того, что продавцы продают по подбору а не сканером или умничают когда не нужно...
и очень часто при продаже списывается не тот товар, который продан, например покупатель принес на кассу
абсолютно одинаковую по форме посуду, но разную по цвету, а кассирша Маша бибикнула синюю тарелку
и поставила количество две тарелки продать, хотя вторая была желтого цвета и с другим штрихкодом и усё...
на инвентаризации вылезет, что желтой тарелки не хватает (её ведь не сканировали а так отдали) а синяя тарелка
лишняя ибо продали по учету 2 штуки, только вместо одной синей отдали желтую... ну и таких примеров куча...
По этому - лично мои советы по этому топику такие:
1. Схема данных - это очень важно !!! Чем умнее схема, тем транзакции нафик не нужны, у меня
до 10 касс работают с одним остатком и за 8 лет ни разу никто не нажал не так... (секреты не разглашаю)
2. Принцип только один: Всё ставить на приход только через сканер штрих-кода и продавать всё только через сканер штрих-кода, в этом случае обсуждать здесь будет уже нечего...

+100500
Свидетельствую свой одобрям'с.
Теория без практики - мертва! (с)-возможно моё, но не гарантирую.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761278
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123vmagО.... сколько мнений и прений... причем сразу видно, кто чисто теоретик, а кто практик...


+100500
Свидетельствую свой одобрям'с.
Теория без практики - мертва! (с)-возможно моё, но не гарантирую.
Еще один теоретик, не понявший суть вопроса))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761311
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самуил Яковлевич Маршак И ведь верно, с той минуты
Стал ходить дурак надутый.

То и дело он, дурак,
Говорит другим: - Не так!

Он не плачет и не пляшет,
А на все рукою машет.

Постороннему никак
Не узнать, что он дурак.

Дети буквы пишут в школе,
Да и спросят: - Хорошо ли?

Поглядит в тетрадь дурак,
Да и вымолвит: - Не так.

Шьют портнихи на машинке,
Шьют сапожники ботинки.

Смотрит издали дурак
И бормочет: - Все не так!

И не так селедок ловят,
И не так борщи готовят,

И не так мосты мостят,
И не так детей растят!

Видят люди, слышат люди,
Как дурак дела их судит,

И подумывают так:
"Что за умница дурак!"
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761316
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Самуил Яковлевич Маршак И ведь верно, с той минуты
Стал ходить дурак надутый.

То и дело он, дурак,
Говорит другим: - Не так!

Он не плачет и не пляшет,
А на все рукою машет.

Постороннему никак
Не узнать, что он дурак.

Дети буквы пишут в школе,
Да и спросят: - Хорошо ли?

Поглядит в тетрадь дурак,
Да и вымолвит: - Не так.

Шьют портнихи на машинке,
Шьют сапожники ботинки.

Смотрит издали дурак
И бормочет: - Все не так!

И не так селедок ловят,
И не так борщи готовят,

И не так мосты мостят,
И не так детей растят!

Видят люди, слышат люди,
Как дурак дела их судит,

И подумывают так:
"Что за умница дурак!"
Самоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары... Еще один, теоретик-культуролог)))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761417
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаСамоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары..

Это конечно пипец...
Я вам советую пойти в магазин, дождаться момента когда кто то начнет платить за последний ящик пива,
и тут же подскочить к соседней кассе с просьбой пробить и вам этот же последний ящик пива.... может
тогда дойдут до вас слова обычного кассира... если опять нет, то он позовет охранника с дубинкой и т.д.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761487
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVMasterZivпропущено...
Вот блин кассиру будто делать больше нечего!
Во классно придумал!А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции.
В системе следует предусмотреть все варианты.

кассир считает деньги, а не товар.
Товар считает завскладом. По закрытии кассы это происходит.

Бить тревогу он конечно может, но если взять приведенный случай про торговлю своим товаром в чужом магазине, то продавец должен был сдать деньги за свой товар хозяину магазина, поскольку товар прошел через кассу. Т.е. хозяину только прибыль будет.

Именно поэтому во всех магазинах вы и видите надпись, что вы можете не платить за товар, если вам не выдали чек.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761494
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стал перечитывать тему с нуля...

Бредятина[Архитектор Мендисабаль],
И поймите, что дело вовсе не в "логике функционала", а в схеме БД)))

Схема БД тут ни при чём, транзакцию можно по любой схеме провести.
Максимум что будет плохого -- очень высокий уровень изоляции.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761495
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivLSVпропущено...
А что, по сабжу есть другие варианты ? Кассир просто сообщает администратору о проблеме. Либо действует по инструкции.
В системе следует предусмотреть все варианты.

кассир считает деньги, а не товар.
Товар считает завскладом. По закрытии кассы это происходит.


Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка.
А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит".
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761510
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, как выглядит касса ?

1) там остатки товаров не хранятся. Вообще.
2) там хранится словарь товаров (товарной номенклатуры), со штрихкодами. И прайс-лист на них (цены)
3) отрывается кассовая смена. кассиру сдают деньги со старой смены, остаток после выемки из кассы (ему нужно на сдачу).
4) идёт торговля.
5) открывается чек, по чеку проходит несколько товаров, у каждого -- кол-во, цена, сумма позиции товарной.
Да, и ещё важное теперь -- ещё есть скидка на каждый товар. Она может пересчитываться задним числом по закрытиии чека.
6) вот если какого-то товара нет в списке товаров кассы, или на него нет штрих-кода -- вот тогда жопа, надо ждать, пока товар не найдут или покупатель от него не откажется.
7) в процессе формирования чека кассир может свободно удалять и добавлять позиции чека (если напр. покупатель откажется от чего-то).
8) чек закрывается, формируется сумма чека, как сумма позиций. Тут можно предьявить скидочную карту, тогда позициии чека могут быть пересчитаны. Из суммы чека, суммы прихода от покупателя и сдачи формируется приход в кассу от чека. В кассе в рамках кассовой смены ведётся текущий балланс кассы, он корректируется.

9) всё, чек закрыт, товар не может быть вернут (только отдельной операцией возврата, и её часто делают не в этой кассе).
10) потом всё крутится по кругу в цикле от п.5 до п.8

10) закрывается кассовая смена. Берётся балланс кассы, производится выемка денег, формируется остаток кассы на следующую смену. (выемка может производится и в процессе смены, тогда считают купюры или монеты, и балланс кассы минусуют на эту сумму).


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

Вот тут, в пункте 11, и проводится изменение товарных остатков, это делается НЕ в кассе, и одной транзакцией (почеково или вся смена целиком или ещё как). И никаких проблем с изменением остатков нет.

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

Да, ещё раз, поскольку товар уже прошёл по кассе, и приход по нему учтён, и деньги будет нужно отдавать, и в том числе государству в виде налогов, то кладовщик их присвоить не может, и это для магазина чистая прибыль неучтённая, конечно, она может быть компенсирована неучтёнными потерями ранее на закупку этого неучтённого товара, которые обнаружатся несколько позже. Но никаких особых проблем, кроме необходимости разбираться, для магазина нет.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761515
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинMasterZivпропущено...


кассир считает деньги, а не товар.
Товар считает завскладом. По закрытии кассы это происходит.


Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка.
А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит".

Не, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы.

Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум.
" реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать.
"клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. " -- тут тоже нестрашно, ему вернут деньги, и всё. Именно поэтому существует такой документ, как чек, и процедура гашения чека.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761619
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторэто и вредно, потому что БД склада не обязана работать всё время кассовой смены -- она может и упасть, и свет могут вырубить, и вообще. А торговать надо
Здесь не совсем понятно. Логичнее списывать со склада в момент выкатки товара в зал. Или я не прав?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761622
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivРебята, как выглядит касса ?

1) там остатки товаров не хранятся. Вообще.
2) там хранится словарь товаров (товарной номенклатуры), со штрихкодами. И прайс-лист на них (цены)
3) отрывается кассовая смена. кассиру сдают деньги со старой смены, остаток после выемки из кассы (ему нужно на сдачу).
4) идёт торговля.
5) открывается чек, по чеку проходит несколько товаров, у каждого -- кол-во, цена, сумма позиции товарной.
Да, и ещё важное теперь -- ещё есть скидка на каждый товар. Она может пересчитываться задним числом по закрытиии чека.
6) вот если какого-то товара нет в списке товаров кассы, или на него нет штрих-кода -- вот тогда жопа, надо ждать, пока товар не найдут или покупатель от него не откажется.
7) в процессе формирования чека кассир может свободно удалять и добавлять позиции чека (если напр. покупатель откажется от чего-то).
8) чек закрывается, формируется сумма чека, как сумма позиций. Тут можно предьявить скидочную карту, тогда позициии чека могут быть пересчитаны. Из суммы чека, суммы прихода от покупателя и сдачи формируется приход в кассу от чека. В кассе в рамках кассовой смены ведётся текущий балланс кассы, он корректируется.

9) всё, чек закрыт, товар не может быть вернут (только отдельной операцией возврата, и её часто делают не в этой кассе).
10) потом всё крутится по кругу в цикле от п.5 до п.8

Вот все абсолютно правильно, за исключением того, что


MasterZivБить тревогу он конечно может, но если взять приведенный случай про торговлю своим товаром в чужом магазине, то продавец должен был сдать деньги за свой товар хозяину магазина, поскольку товар прошел через кассу. Т.е. хозяину только прибыль будет.

Прибыли у хозяина никакой не будет если продавец торгует своим товаром ибо почти вся Московская область
и по её примеру многие другие регионы работают без фискальных касс (кроме спиртного), а чеки выдают
на обычный принтер чеков с шириной ленты 80 мм (как в кафе предварительный чек) и это официально
разрешено правительством ну уже наверное года так три (кто не знает) по этому схема бизнеса в бизнесе
у всех воришек одинаковая:
- пробил покупателю свой товар а не хозяина...
- выдал чек на принтере 80 мм и взял деньги...
- согласно вашему пункту № 7 по удалял нужные позиции товара из текущего чека и бабки засунул в карман а не в кассу...

Ну и так в цикле.... а принтер чеков Х и Z отчеты не выдаёт... отчеты только в программе (в которой
всё тип топ)....
Честно говоря, у меня параллельно с программой прилагается и свой личный трактат о том как пресекать
тривиальное воровство и вот такие паразитические схемы бизнеса на чужом бизнесе...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761633
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор программой прилагается и свой личный трактат о том как пресекать
тривиальное воровство и вот такие паразитические схемы бизнеса на чужом бизнесе..
А поделиться сможете?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761640
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivСтал перечитывать тему с нуля...

Бредятина[Архитектор Мендисабаль],
И поймите, что дело вовсе не в "логике функционала", а в схеме БД)))

Схема БД тут ни при чём, транзакцию можно по любой схеме провести.
Максимум что будет плохого -- очень высокий уровень изоляции.
Вот. Правильно. С нуля... Но, опять пропустили важный нюанс. Когда "накидывает" количество не должно уменьшаться (товар еще физически на складе), но, должна быть гарантия получения)) Вы пропустили сообщение о свойстве "Забронировано". Значение которого изменяется именно в процессе "накидывания", который может быть продолжительным. На самом деле, это хорошо известное решение. И это именно схема БД))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761642
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКот Матроскинпропущено...

Это, очевидно, зависит от бизнес-процесса. Если у нас супермаркет - то да, кассиру совершенно незачем заморачиваться на учет товара, если товар принесли на кассу - значит, его надо пробить и точка.
А вот если кассир пробивает товар по каталогу и клиент с выбитым чеком и накладной идет на склад - то тут кассиру нужно учитывать товар и реагировать, если товар кончается - потому что клиента, который заплатил но не смог получить товар,ни разу не удовлетворят мантры "Товар считает завскладом. По закрытии кассы это происходит".

Не, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы.

Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум.
" реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать.

Почему же не может? Может и даже должен - именно потому что ему надо продавать, а товар, который закончился, нельзя продать. Как минимум это выразится в "Ой, вы знаете, выбарнный Вами товар закончился. Давайте подберем что-то другое". Гораздо лучше, если это случится на этапе выбития чека, чем когда покупатель с этим чеком пойдет на склад в соседнее здание, отсидит в очереди и только тогда услышит "опаньки".
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761647
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagБредятинаСамоирония здесь большая редкость))) Однако вопрос был не про портних и мосты, а про одновременное оформление документов нескольким клиентам на одни и те же товары..

Это конечно пипец...
Я вам советую пойти в магазин, дождаться момента когда кто то начнет платить за последний ящик пива,
и тут же подскочить к соседней кассе с просьбой пробить и вам этот же последний ящик пива.... может
тогда дойдут до вас слова обычного кассира... если опять нет, то он позовет охранника с дубинкой и т.д.
Еще раз повторю, Вы не поняли суть вопроса)) Совсем(( У Вас просто нет практики создания такого рода систем. Тем не менее, хорошо известное решение этого вопроса я пояснил пять дней назад. Научитесь хотя бы читать и перечитывать, читать и перечитывать)))
Впрочем:
"Чтобы быть справедливым, нужно для начала быть добрым. А быть добрым — это значит понимать, что все люди ошибаются." © Адриано Челентано
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761652
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumА поделиться сможете?

Я этот бумажный документ отдаю только лично в руки клиенту, который купил у меня программу,
просто так бросать в сеть такую бомбу по крайней мере не этично, не знаю как на счет хозяев
бизнеса, но воришки это точно возьмут на вооружение и может получиться как с историей открытия
автогена: мужик придумал, заявил, но кроме потрошителей сейфов никто на это внимание не обратил,
а результат всем известен - ограбили даже те банки, которые раньше считались неприступными...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761658
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаВот. Правильно. С нуля... Но, опять пропустили важный нюанс. Когда "накидывает" количество не должно уменьшаться (товар еще физически на складе), но, должна быть гарантия получения))

При нормальной схеме данных не накидывается, а реально списывается с остатков.... при удалении из чека -
возвращается обратно в остаток...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761662
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagБредятинаВот. Правильно. С нуля... Но, опять пропустили важный нюанс. Когда "накидывает" количество не должно уменьшаться (товар еще физически на складе), но, должна быть гарантия получения))

При нормальной схеме данных не накидывается, а реально списывается с остатков.... при удалении из чека -
возвращается обратно в остаток...
))))) Вы не процессом управляете, а что-то программируете, как Вам нравится. Не отгруженный товар находится на складе. Ваша "нормальная схема" не соответствует действительности. Вы все, что не соответствует действительности, считаете нормальным?) Сказали хотя бы "упрощенная модель", "упрощенная схема данных"))
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761698
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бредятина))))) Вы не процессом управляете, а что-то программируете, как Вам нравится. Не отгруженный товар находится на складе

Я просто делаю не так как делает 1С, а делаю всё наоборот, по этому мои клиенты работают в режиме реального времени и им не нужно ждать вечера или утра чтобы узнать реальный остаток - они это видят
сразу при сканировании товара... Если вокруг вас все ходят как вы - вверх головой, то это не значит. что вы все вместе ходите не вниз головой....
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761724
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagБредятина))))) Вы не процессом управляете, а что-то программируете, как Вам нравится. Не отгруженный товар находится на складе

Я просто делаю не так как делает 1С, а делаю всё наоборот,
Причем здесь 1с?)) Что наоборот?)) Вы хоть поняли в чем вопрос?)) Ваша схема данных не соответствует действительности. Вы, все, что не соответствует действительности, считаете нормальным?)
vmag по этому мои клиенты работают в режиме реального времени и им не нужно ждать вечера или утра чтобы узнать реальный остаток - они это видят
сразу при сканировании товара...
Причем здесь сканирование товара, ведь он лежит на складе, и пока не сканируется)) Говорите по существу, успокойтесь)) Все работают в режиме реального времени, ведь мы же говорим о системах реального времени. Вот только у Вас никто никогда не видит реальный остаток на складе. Это же очевидно))
vmagЕсли вокруг вас все ходят как вы - вверх головой, то это не значит. что вы все вместе ходите не вниз головой....
Совершенно не понятно какое отношение закон Гука и курс доллара имеют к обсуждаемому вопросу.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761911
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumавторэто и вредно, потому что БД склада не обязана работать всё время кассовой смены -- она может и упасть, и свет могут вырубить, и вообще. А торговать надо
Здесь не совсем понятно. Логичнее списывать со склада в момент выкатки товара в зал. Или я не прав?

Там обычно два склада, один "Склад 1" другой "ТОрговый зал 1".
Передают с одного на другой.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38761918
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Прибыли у хозяина никакой не будет если продавец торгует своим товаром ибо почти вся Московская область
и по её примеру многие другие регионы работают без фискальных касс (кроме спиртного), а чеки выдают
на обычный принтер чеков с шириной ленты 80 мм (как в кафе предварительный чек)



Ну так тогда это проблема данного хозяина магазина, что он такое у себя разрешает.
Впрочем, это по-любому его проблемы
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762062
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу так тогда это проблема данного хозяина магазина, что он такое у себя разрешает.
Впрочем, это по-любому его проблемы

Разрешает потому, что математика на уши давит... если есть десяток фискальных регистраторов , то это в год:
1. 10 х 4 х 3 500 (стоимость ТО в квартал) = 140 000 р (в год за ТО ККМ)
2. 10 х 8 000 (замена ЭКЛЗ) = 80 000 р (в год за замену ЭКЛЗ)
Итого затраты каждый год на десять ККМ = 220 000 р
Многих душит жаба платить (даже за одну ККМ 20 000), по-этому покупают один раз обычные принтеры чеков за 10 000 р.
и больше не отваливают каждый год по двести косарей непонятно кому и непонятно зачем,
тем более что закон гласит примерно так: на упрощенке можно не использовать ккм, но
по требованию покупателя ты обязан выписать хоть от руки товарный чек... ну, грех не воспользоваться...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762496
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumЗдесь не совсем понятно. Логичнее списывать со склада в момент выкатки товара в зал. Или я не прав?

Последняя моя тут реплика:

Остаток в зале - это атавизм (при условии что расстояние от склада до зала это один шаг через дверь)!
При запросе товара по коду должен высветится реальный остаток товара в этом здании на текущий момент,
тогда если того что есть в зале мало - будет две ситуации:
1. Кассир позаботиться о том, чтобы покупателю донесли нужное количество и через 5 минут все будут счастливы...
2. Кассир скажет (хотя видит что сцуко есть, но лень или долго) - что товар закончился, берите то что осталось и проваливайте, а когда
покупатель уйдет - скажет грузчику или менеджеру, что нужно бы доложить на полки ещё того-то...
Плюсы:
1. Не нужно ничего перемещать со склада в зал и обратно (нет необходимости в лишнем человеке, который мля будет
сцуко повторять чьи- то реальные и никому на()ер не нужные бизнес процессы с вида умного лица)
2. Не нужно отслеживать ассортимент зала (нет необходимости в дополнительных менеджерах) которые
будут сидеть за компами и мониторить а что в зале осталось то... Ассортимент зала будет регулироваться
по принципу рыночной экономики - один менеджер оторвал жопу, прошелся по полкам и дал команду добавить тот товар,
который на исходе или кассирша Маша заорет на весь зал - "Вася, еще ящик огурцов!!!"

Наглядный пример - автомат Калашникова - 5 деталей, а после опускания в болото сразу сцуко стреляет....
А если б его подвели под бизнес процесс, то чтоб с него стрельнуть вечером, нужно б было вставать в 6 утра...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762510
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmaglondiniumЗдесь не совсем понятно. Логичнее списывать со склада в момент выкатки товара в зал. Или я не прав?

Последняя моя тут реплика:

Остаток в зале - это атавизм (при условии что расстояние от склада до зала это один шаг через дверь)! .

Ну здрассте. А внутренняя инвентаризация как будет проходить, если никто не знает, сколько товара в зале, а сколько на складе?

Непосредственно для резервирования при продаже- да, не так важно где лежит товар. Но в принципе система, конечно, должна всегда быть способна показать, сколько товара где (и в том числе, какой остаток в зале).
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762518
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag1. Кассир позаботиться о том, чтобы покупателю донесли нужное количество и через 5 минут все будут счастливы...
...
может я чего то не понимаю, но в моем понимание слово "кассир" значит немного другое

AFAIK какой то странный БП, странного магазина, со странными кассирами. Даже в шаверме обычно два отдельных человека - человек который шаверму готовит и кассир который деньги пробивает.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762529
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevможет я чего то не понимаю, но в моем понимание слово "кассир" значит немного другое

ключевое слово не кассир а позаботится (позовет менеджера (который шаверму готовит)) или пошлёт нафик согласно пункту 2... (прочитайте доконца)
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762541
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинНе, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы.

Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум.
" реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать.

Почему же не может? Может и даже должен - именно потому что ему надо продавать, а товар, который закончился, нельзя продать. Как минимум это выразится в "Ой, вы знаете, выбарнный Вами товар закончился. Давайте подберем что-то другое". Гораздо лучше, если это случится на этапе выбития чека, чем когда покупатель с этим чеком пойдет на склад в соседнее здание, отсидит в очереди и только тогда услышит "опаньки".[/quot]
Честно говоря, какая-то странная дискуссия. Все нормальные системы допускают резервирование в момент оформления заказа.

Единственная проблема, что в момент сохранения набитого заказа действие можно получить коллизию. Но, мне кажется, что в реальной жизни:
1) это ситуация редкая
2) скажут ли человеку "знаете, эта позиция у нас закончилась" ровно в тот момент, когда набивают или через минуту, когда нажмут на кнопку "сохранить" - мне кажется не принципиально
3) если "принципиально" и продавцы не полные идиоты, то когда видят небольшой остаток, могут лишний раз нажать на кнопку "сохранить", что бы успеть его под свой заказ зарезервировать.

Собственно "кассир" и движение денег вообще параллельно.

AFAIK
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762542
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинMasterZivНе, конечно, схемы разные бывают, и способов организации торговли много, в каждой есть нюансы.

Только вряд ли этот товарищь называется "кассир", он продавец-кассир как минимум.
" реагировать, если товар кончается " продавец, очевидно, не может -- ему же продавать надо, а не за товаром бегать.

Почему же не может? Может и даже должен - именно потому что ему надо продавать, а товар, который закончился, нельзя продать. Как минимум это выразится в "Ой, вы знаете, выбарнный Вами товар закончился. Давайте подберем что-то другое". Гораздо лучше, если это случится на этапе выбития чека, чем когда покупатель с этим чеком пойдет на склад в соседнее здание, отсидит в очереди и только тогда услышит "опаньки".
Честно говоря, какая-то странная дискуссия. Все нормальные системы допускают резервирование в момент оформления заказа.

Единственная проблема, что в момент сохранения набитого заказа действие можно получить коллизию. Но, мне кажется, что в реальной жизни:
1) это ситуация редкая
2) скажут ли человеку "знаете, эта позиция у нас закончилась" ровно в тот момент, когда набивают или через минуту, когда нажмут на кнопку "сохранить" - мне кажется не принципиально
3) если "принципиально" и продавцы не полные идиоты, то когда видят небольшой остаток, могут лишний раз нажать на кнопку "сохранить", что бы успеть его под свой заказ зарезервировать.

Собственно "кассир" и движение денег вообще параллельно.

AFAIK
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762545
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagключевое слово не кассир а позаботится...
Может я мало хожу по "магазинам", только ни разу такого БП не видел

продавец - продает, кассир - занимается деньгами, менеджер - х.з.

если же магазин маленький и один человек занимается всем, в том числе и пол моет - то наверное проблемы блокировок, транзакций и одновременного доступа у них явно нет.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762551
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архитектор МендисабальВ таблице лежат остатки товаров, которые подвергаются продаже... На кассах в момент продажи создается документ ЧЕК, в который накидываются позиции товаров исходя из текущих остатков, то есть непосредственного наличия. При добавлении позиции указывается требуемое покупателем количество. По логике вещей акт продажи должен представлять собой единую транзакцию. Суть проблемы в том чтобы одну и ту же позицию в остатках могли использовать несколько продавцов...
В данном случае, виден падеж падежей.

Сначала был кассир, потом стал продавец. В общем, бардак который автоматизации не подлежит. Потом пошел полет фантазии.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762571
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинесли никто не знает, сколько товара в зале, а сколько на складе?

А зачем?
Если известно сколько всего...
Взял терминал сбора данных прошелся по складу, потом по залу и сравнивай итого со своим всего по учету...
Нет вообще никаких плюсов кроме дополнительного геморроя и так по многим абсолютно мертвым
так называемым бизнес процессам...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762832
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagКот Матроскинесли никто не знает, сколько товара в зале, а сколько на складе?

А зачем?
Если известно сколько всего...
Взял терминал сбора данных прошелся по складу, потом по залу и сравнивай итого со своим всего по учету...
Нет вообще никаких плюсов кроме дополнительного геморроя и так по многим абсолютно мертвым
так называемым бизнес процессам...
Зачем знать, что где лежит? Хотя бы чтобы не путаться, где сейчас лежит тот самый последний экземпляр, и не тормозить с комплектацией.
(уж не говоря про то, что если никто не знает, где конкретно лежит товар - неизвестно и кто за него отвечает, со всеми вытекающими)
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762845
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЗачем знать, что где лежит? Хотя бы чтобы не путаться, где сейчас лежит тот самый последний экземпляр

Как где лежит ? Если нет на полке, то через дверь на другой полке в соседней комнате...
Вот никого здесь не вижу, кто хотя бы час в неделю сидел рядом с кассиром по ту сторону прилавка...
Каких только клиентов у меня нет, от аптек до автозапчастей с рыболовом-спортсменом...
Мне иногда даже кажется, что если этим людям завязать глаза, то это никак не скажется на скорость
обслуживания, ибо они наизусть помнят где, чего и сколько лежит и только теперь я начинаю понимать,
почему покупают моё ПО... да потому, что уже через 20 минут можно реально работать и вводить остатки...
А людей которые приносят документацию в коробке размером со стиральную машину и начинают
дуть в уши про бизнес процессы - посылают потихоньку на()ер... И это хорошо... и это меня радует...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762883
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagМне иногда даже кажется, что если этим людям завязать глаза, то это никак не скажется на скорость
обслуживания, ибо они наизусть помнят где, чего и сколько лежит

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

В идеале:
попадание в чек = резервирование, удаление = снятие с резерва, проведение = списание с остатков. Пробитие "в минус" должно быть технически допустимо.
Вне зависимости от БД.
Все остальное - идиотский флуд ниачомъ.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38762979
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafтранзакция на запись должна быть короткой и в самом конце - при закрытии чека:

1. открыли транзакцию
2. проверили наличие на остатках
3. записали изменения в БД
4. подали команду на ККМ о закрытии чека (если требуется)
5. закрыли транзакцию

транзакция должна блокировать данные Просмотрел топик, и не увидел такого предложения: проверять наличие на остатках в момент создания позиции чека.
Если требуемое количество есть, оно резервируется, если нет - позиция в чеке не создается.
При сторнировании позиции, резерв снимается.
После закрытия чека товар считается проданным и списывается с остатков.

З.Ы. ТС похоже, давно забил...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38763013
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagКот МатроскинЗачем знать, что где лежит? Хотя бы чтобы не путаться, где сейчас лежит тот самый последний экземпляр
Как где лежит ? Если нет на полке, то через дверь на другой полке в соседней комнате...
Вот никого здесь не вижу, кто хотя бы час в неделю сидел рядом с кассиром по ту сторону прилавка...
Каких только клиентов у меня нет, от аптек до автозапчастей с рыболовом-спортсменом...
Мне иногда даже кажется, что если этим людям завязать глаза, то это никак не скажется на скорость
обслуживания, ибо они наизусть помнят где, чего и сколько лежит и только теперь я начинаю понимать,
почему покупают моё ПО... да потому, что уже через 20 минут можно реально работать и вводить остатки...
А людей которые приносят документацию в коробке размером со стиральную машину и начинают
дуть в уши про бизнес процессы - посылают потихоньку на()ер... И это хорошо... и это меня радует... Да все уже поняли, что ваше ПО покупают забегаловки, где продавец, кассир и кладовщик (матотвественное лицо) - один и тот же человек. И склад с торговым "залом" можно прокрыжить с ТСД за пару-тройку часов.
Но жизнь-то разнообразнее. Существуют сетевые магазины, в которых инвентаризация только складов, бригадой профессионалов с ТСД, занимает часов 12. А торгового зала - до суток...

Здесь же, очевидно, речь идет о ситуации, когда менеджер с кассиром сидят в офисе, а товар находится на складе в другом конце города. Причем, офисов много, а склад один.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38763052
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsЗдесь же, очевидно, речь идет о ситуации, когда менеджер с кассиром сидят в офисе, а товар находится на складе в другом конце города. Причем, офисов много, а склад один.

Да даже необязательно на другом конце города - достаточно чтобы на складе был десяток другой тысяч артикулов и работа велась круглосуточно (т.е. сменами). Догадываться куда сменщики запихнули артикул, который (по данным в системе) на складе есть, но его глазами нигде не видно - то еще удовольствие.
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38763164
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVИ при проведении не редко последний ящик ходового товара оказывался у двух менеджеров (а их было всего три)...
Про такие ситуации на реальном крупном (около 50% обще-российского рынка) складе рассказывали. Но например в OeBS есть функция ручного резервирования. Прямо в момент ввода. Т.ч. там это не проблема.

Тут не столько флуд, сколько терминологическая путаница. IMHO & AFAIK
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38763968
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин... т.е. учетная система им вообще нафиг не нужна :)

Она нужна только хозяину бизнеса... но нужна не такая, которая просто выворачивает всем мозг на изнанку,
и больше никакого толку, а нужная та, которая проста в освоении и эксплуатации и позволяет свести к минимуму
воровство, а учет становится прозрачным и понятным.... я сразу всех своих клиентов предупреждаю
(особенно продуктовых магазинов) , что через месяц после внедрения у вас уволятся все продавцы...
мне никто не верит, но так всегда и получается... уже выиграл около десятка пари по этому поводу...
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38764047
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagКот Матроскин... т.е. учетная система им вообще нафиг не нужна :)

Она нужна только хозяину бизнеса... но нужна не такая, которая просто выворачивает всем мозг на изнанку,
и больше никакого толку, а нужная та, которая проста в освоении и эксплуатации и позволяет свести к минимуму
воровство, а учет становится прозрачным и понятным.... я сразу всех своих клиентов предупреждаю
(особенно продуктовых магазинов) , что через месяц после внедрения у вас уволятся все продавцы ...
мне никто не верит, но так всегда и получается... уже выиграл около десятка пари по этому поводу...
Что пугает продавцов?
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38764442
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Что пугает продавцов?

Нет... просто у них остается только одна голая зарплата без дополнительных барышей,
а у хозяина выручка вырастает в месяц примерно на 20-40 %
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38764451
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagprog123Что пугает продавцов?

Нет... просто у них остается только одна голая зарплата без дополнительных барышей,
а у хозяина выручка вырастает в месяц примерно на 20-40 %Вау. Лично знать всех Одинцовских барыг - это наверное круто? :)
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38764463
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВау. Лично знать всех Одинцовских барыг - это наверное круто? :)

Ну... что-то в этом есть... только немножко шире (Москва, Одинцовский район, Камчатка, Питер, Находка,
Самара, Воркута...)
...
Рейтинг: 0 / 0
Тендер на логику функционала
    #38768393
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagskyANAВау. Лично знать всех Одинцовских барыг - это наверное круто? :)

Ну... что-то в этом есть... только немножко шире (Москва, Одинцовский район, Камчатка, Питер, Находка,
Самара, Воркута...)

На Дельфях поди всё?
...
Рейтинг: 0 / 0
80 сообщений из 80, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тендер на логику функционала
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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