Re: Вариант алгоритма регистрации продаж в рознице



Posted by Анимица Анатолий on February 28, 1999 at 13:19:32:

In Reply to: Дальние и старые дилеры 2 posted by Михаил Маркаров on February 28, 1999 at 12:03:18:

Предлагается вариант алгоритма регистрации продаж в розничной торговле, не связанный с регистрацией продажи единицы или лота товара по одному чеку в качестве отдельной операции. На мой взгляд, такой алгоритм преобразует недостаток "операционного" принципа регистрации события продажи лота в неоспоримое достоинство. Рассмотрим магазин M, в котором есть K касс с L секционными счетчиками каждый, S секций (отделов), и номенклатура товара содержит N позиций. Цены [С 1]..[C N] заданы экстрапараметрами.
Операция "Товары продажа в розницу ?S секция ?K касса ?L счетчик ?N товар ?Q количество ?C цена" производит следующие действия:
1) nerase tpr S,K,L,N,?QO,?C,?M3 (М3 - штамп операции)
2) если ни одного такого факта нет, обычная регистрация операции
3) если такой факт есть, а их не может быть больше одного, как Вы сейчас увидите, региcтрация операции
tpr S,K,L,M,(Q+QO),C,M3, где M3 - новый штамп,
4) регистрация прямо из файла-коэффициента строкой >> file (tape+k) образа чека как отчетной формы для ее просмотра внешними средствами, например, редактором клиента или хоть edit.com/
5) уничтожение предыдущей операции.
Результат. За торговый день будет зарегистрировано (sum(NN*KK*LL)) операций, где KK - число ККМ, LL - число счетчиков, сработавших за день хотя бы раз, NN - количество позиций товара, прошедших через KL счетчик ККМ.
Оценка числа операций. Разумно считать, что булочная продает по 2 буханки хлеба в минуту за 12 часов = 2*60*12=2400 операций. В моем алгоритме операций - 1 шт. Это крайний случай, но отношение 1:100..1:500 как мне кажется, разумно.
Проблема. Необходимо дополнить клиентскую часть операцией "Эту сделать, а эту убить, и чтобы в промежутке ни одна шустрая операция сбоку не влезла", иначе есть дыра, которую я не знаю, как закрыть имеющимися средствами. Даже спецклиентом. Транзакция, она и в Африке транзакция, и серверу надо это понимать.

Я не написал такую программу, ее делать не дольше, чем писать это сообщение, но заказчика на это у меня пока не было, одни разговоры.

Заодно неплохо бы обсудить ввод данных в операцию из нечеловеческого источника. Эту тему я поднимаю уже 10 или 100 раз.

Приглашаю к обсуждению.

С уважением ААА


Пpишедшие ответы: