Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.03.29;
Скачать: [xml.tar.bz2];

Вниз

Актуализация данных в программе в сетевом режиме   Найти похожие ветки 

 
Novicer   (2014-02-07 02:22) [0]

Добрый вечер мастера! Вопрос по базам, вернее оптимальной реализации сетевого режима работы программы. Например есть два ПК на которых работает программа в сетевом режиме. Мое представление всего процеса: первый ПК, конечно сервер(не выделенный) на котором крутиться огнептиц и раб.место, тоесть ведется учет товара. С второго ПК прога конектится к серваку и тоже может делать все то же что и первая. Теперь рабочая ситуация: некий товар в количестве 1шт. открыли для продажи одновременно на обоих ПК, на первом продали быстрее, на втором в окошке продаж показано что она есть, хотя она уже продана. Что будет после попытки продажи? Как избежать подобных казусов? Была мысль использовать таймер для обновления инфы, теперь больше склоняюсь к мысли проверки актуального количества перед продажей. Как делают профи, посоветуете?


 
Inovet ©   (2014-02-07 02:47) [1]

Наличие и в резерве. Начали оформлять — ушло в резерв, отменили вернулось в наличие, продали — ушло в проданные. Добавлять товар в счёт клиенту в соответствующей транзакции, тогда не будет

> [0] Novicer   (07.02.14 02:22)
> открыли для продажи одновременно на обоих ПК

Как это так? Это ошибка в логике. Должно быть так — продавец видит
на складе 5 штук
из них 2 в резерве, т.е. могут или продаться или вернуться в доступные для продажи через некоторое время, возможно, видит кем и когда зарезервированы.

Я это как-то так представляю.


 
Novicer   (2014-02-07 10:09) [2]

Идея хорошая, но обычно в окошке продаж есть возможность указать нужное количество продаваемого товара и заранее неизвестно сколько покупателю взбредет в голову взять, отсюда непонятно сколько резервировать? Все что есть наверно тоже не совсем хорошо :) Тогда с другого ПК вобще ничего из этого товара продать не смогут :(


 
Inovet ©   (2014-02-07 10:51) [3]

> [2] Novicer   (07.02.14 10:09)
> неизвестно сколько покупателю взбредет в голову взять

Когда взбрело в голову — поместить товар в нужном количестве в счёт, при этом он резервируется до отмены счёта или до оплаты. Не, ну может, конечно, в малом интервале времени два продавца захотят поместить товаров в сумме больше, чем есть свободных — выдать последнему сообщение
Запрос на резерв 9 пыньков
Остаток — 8
в резерве 3
Вова нажимает «Просмотр резерва»
2 зарезервировал Петя по счёту 123, 1 зарезервировал Вася по счёту 124)
— У нас есть 8 и 3 пока в резерве. Выписывать 8, если снимут с резерва, то добавим. Мы можем предложить вам к этим 8 пынькам ещё 8 шманьков специально разработанных для этой модели пыньков. Вот они на витрине, сейчас я вам покажу? Очень удобные. Берёте?
— Да. Хорошие шмыньки.
— Отлично. Так что тут у нас с резервом. Вот! Как раз ещё один пынёк доступен. Выписываем?
— Конечно. Мне как раз надо 9 пыньков.
— Добавляем. И ещё один шмынёк?
— Ну конечно.
— Проходите со счётом на кассу.

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


 
Novicer   (2014-02-07 11:51) [4]

Забавно и главное доступно :) Спасибо! Теперь с реализацией стало понятнее.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2015.03.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.002 c
15-1407699293
Дмитрий СС
2014-08-10 23:34
2015.03.29
Библиотека словоформ


2-1391763373
TForm
2014-02-07 12:56
2015.03.29
Скопировать данные из одного указателя в другой


2-1391686016
XCoder
2014-02-06 15:26
2015.03.29
Возврат результата из вложенной функции


15-1408003458
NailMan
2014-08-14 12:04
2015.03.29
Никому не интересна работа программера Delphi?


4-1271301738
Interesting
2010-04-15 07:22
2015.03.29
Температура проца





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский