[ОТВЕТИТЬ]
20.10.2008 16:27
undos
 
Подскажите: участились случаи, что кассиры выключают кассы не нажимая расчет..... чеки в базе не сохраняются... деньги в карманы...... кто что предпринимал для предотвращения таких случаев ?
20.10.2008 17:12
akonev
 
1) восстановление последнего чека при сбое (_RECRESTORE=1 в CF_INI.DB)
иногда глючит: чек на самом деле закрылся, а файлик не удалился. начинает ругаться на уникальность номеров чеков.
файл с последним чеком приходится убивать. как зовется не помню, но расширение $$$ - их можно все прибивать не думая.
как только кассиры об этом узнают - могут начать убивать сами. но это уже чуть сложнее, чем просто кассу ребутнуть.

2) при наличии видеонаблюдения - при загрузке кассы сбрасывать текущее время в какой-нить файлик и выкладывать его на сервер.
потом отсматривать моменты перезагрузок в "нештатное" время.

3) объявление типа: "если вам не выдали кассовый чек - позвоните по телефону xxx-xxx-xxxx. мы вернем вам деньги за вашу покупку в тройном размере"
деньги, разумеется, с кассира.
но тут надо хорошо продумать вопросы законности и возможных злоупотреблений уже покупателей.

4) тупо ввести практику контрольных закупок сотрудниками центрального офиса и руководством других магазинов.
не нужно даже ловить момент, когда кассу перегружали.
просто чек не дали - к ногтю.
20.10.2008 17:20
undos
 
Andrew_Konev, спасибо большое, счас быстро буду смотреть пункт 2. А можно поподробнее насчет 1) (как будет работать касса если выставить _RECRESTORE=1 в CF_INI.DB )или где почитать....

кстати 5) есть отчет в УКМ - регистрации, показывает кто и когда лазил в УКМ.
20.10.2008 17:50
akonev
 
почитать - нигде. опция недокументированная.

работать будет так: после перезагрузки, при входе в режим кассира, посмотрит наличие файлика и если его найдет - откроет чек и вывалит его содержимое до перезагрузки, как будто его тока что насканировали.
дальше все как обычно: или закрыть или аннулировать.

кроме уже упомянутого глюка, что файл не удалился и чек с таким номером уже есть, возможен еще вариант, когда файл просто не читается.

пробовал включить эту фишку у клиента на пробу в одном из магазинов.
железно имели хоть один вызов в неделю на убийство этого файлика.
им не понравилось и перешли к пункту 2 - журнал включений.

так что включать только точно зная, кто будет скакать в магазин и реанимировать кассу.

еще один вариант забыл. но он уже от кассы зависит. и вообще, несколько за уши притянут.
если при использовании СП101 отключить печать чека после расчета - чек будет открываться сразу же, как только отсканировали вторую позицию чека или нажали подитог.
при перезагрузке он этот свой чек аннулирует.
количество аннуляций можно отображать в Z-отчете.
один клиент ввел жесткое отслеживание количества аннуляций и требует с кассиров объяснительную на каждую аннуляцию с приложением аннулированного чека.
20.10.2008 17:57
akonev
 
Цитата:
undos есть отчет в УКМ - регистрации, показывает кто и когда лазил в УКМ.
это не тема.
пошла покушать - вышла из режима кассира. вернулась - вошла.
пошла покакать..., покурить..., маме позвонить... - та же песня.
администратор выгнал в зал на выкладку - опять.

замаешься фильтровать штатные/нештатные регистрации.
21.10.2008 03:04
Vovantus
 
Цитата:
undos Подскажите: участились случаи, что кассиры выключают кассы не нажимая расчет..... чеки в базе не сохраняются... деньги в карманы...... кто что предпринимал для предотвращения таких случаев ?
Можно тупо отслеживать время когда был запущен СМ. Пишем в файлике autoexec.bat, перед запуском СМ, следующую строчку:
echo %date%-%time%>>n:\start.txt
Само собой, сетевой диск N должен быть подключён. Далее, требуется административно вменить в обязанности кассиров фиксировать время и причину всех перезагрузок касс. Они быстро поймут что под них копают и придумают другой способ как воровать бабло Но это уже другой вопрос.
21.10.2008 10:50
undos
 
а как отследить время когда был завершен сеанс правильно, т.е. по кнопке завершение работы ?
21.10.2008 11:35
akonev
 
Цитата:
Vovantus echo %date%-%time%>>n:\start.txt
Само собой, сетевой диск N должен быть подключён
а диск может и потеряться.
поэтому
Код:
echo %date%-%time%>>с:\start.txt
copy c:\start.txt n:\
даже если не сможет когда-то сразу в сеть положить, все равно запомнит.
21.10.2008 11:39
akonev
 
Цитата:
undos а как отследить время когда был завершен сеанс правильно, т.е. по кнопке завершение работы ?
Цитата:
OlegON Выяснилось. Есть файлики start.lst и stop.lst. Вот в последний-то и впишите строку запуска нужной программки.
то есть тебе надо подобную же командочку врисовать в stop.lst
21.10.2008 12:07
undos
 
у меня таких файликов start.lst и stop.lst нет :( или их создать самому надо ?
21.10.2008 12:17
akonev
 
Цитата:
undos у меня таких файликов start.lst и stop.lst нет :( или их создать самому надо ?
да. создать самому в smukm30.
09.06.2009 06:13
HellBoy
 
Странно, сегодня пробовал проделать эту штуку, и не получается.
Под XP в cmd все делает (показываетт дату, время заносит данные в файл), попробовал на кассе, а там нивкакую, на команду %date% матерится что незнает такой, и если написать всю строку (echo %date%-%time%>>с:\start.txt) то кроме "-" ничего не получишь. ДОС не тот?
Пардон, забыл сказать, start и stop тоже не выполняет.
09.06.2009 06:24
Vovantus
 
Цитата:
HellBoy Странно, сегодня пробовал проделать эту штуку, и не получается.
У меня тоже, но даже хуже - вообще не выполняются файлики start.lst и stop.lst. Грешу на версию УКМ, но обновиться не могу пока.
09.06.2009 15:34
akonev
 
Цитата:
HellBoy ...Под XP в cmd все делает (показываетт дату, время заносит данные в файл), попробовал на кассе, а там нивкакую, на команду %date% матерится что незнает такой, и если написать всю строку (echo %date%-%time%>>с:\start.txt) то кроме "-" ничего не получишь. ДОС не тот?
DOS тот.
просто command.com от DOS - это не cmd.exe от WinXP.
в нем еще не было %date% и %time%

dt4log2.exe>>с:\start.txt

dt4log.exe делает то же самое (тупо выдает на консоль дату и время), но не вставляет перевод строки.
это если после даты-времени захочется что-то дописать.
Вложения
Тип файла: rar dt4log.rar (5.4 Кб, 94 просмотров)
09.06.2009 16:54
konst
 
Мы эту проблему частично решили так:
1. Логирование загрузок кассы
2. включили логирование в самом УКМ
3. в автозагрузку впихнули самописную утилитку
которорая при 1 запуске (в течении дня) дает спокойно закгрузить укм
при каждом последующем - требует ввести логин и пароль
пароль знает только администратор магазина...
соответсвтенно также пишется в лог...
пароли периодически меняются...
ну а дальше только анализ - ФИО кассира - кол-во перезагрузок
С "лидерами" - работает служба безопасности
все логи пишутся локально на кассе
но каждое утро выкладываются на сервер + бэкап кассы
10.06.2009 06:49
Vovantus
 
Возможно, я недостаточно времени выделил для проведения опытов с файликами start.lst и stop.lst, но вот такая конструкция нифига не дала:
echo cash_on >> n:\cash_on.txt
и
echo cash_off >> n:\cash_off.txt
Ни при старте УКМ, ни при его завершении, ничего не было записано. Даже файликии соответствующие не создались
10.06.2009 09:12
akonev
 
действительно, просто echo start в start.lst у меня на тестовой кассе не отработал.

сработал такой вариант:
- все нужные команды забиваем в батник. к примеру, c:\start.bat
- в start.lst пишем c:\command.com /C c:\start.bat

срабатывает после тестирования, перед самым выходом в меню.

попытка вставить в start.lst просто c:\start.bat, у меня на тестовой кассе уводила кассу в ребут сразу после тестирования.

моя версия происходящего:
укм вызвает указанные в *.lst команды через прерывание DOS.
соответственно, внутренние команды command.com, такие как echo - не работают.
работают только явно указанные внешние программы.
это должны быть именно программы, а не батники. батники исполняются не сами по себе, их обрабатывает command.com
10.06.2009 09:20
Vovantus
 
Цитата:
Andrew_Konev - в start.lst пишем c:\command.com /C c:\start.bat
До этого я не додумался. Пробовал просто прописать путь к батнику с командами и после этого касса тоже уходила в ребут. Смутило то, что под виндой всё работало, а под досом такая вот бяка произошла.
10.06.2009 10:16
HellBoy
 
Тут на днях в одном магазине задали такой вопрос можно ли вручную "завесить" кассу, и если да то как? Никто не в курсе, а то некотторые умудряются по нескольку раз завесить кассу чтоб был повод перезагрузиться без записи чека. Причем без сообщения админину.

Konst
, если не тайна, можешь поподробней расписать как сделать ваш вариант борьбы? (если можно то и утилитку выложить)
10.06.2009 11:32
Vovantus
 
В продолжении темы. В файлик stop.lst поместил следующее:
Код:
c:\command.com /C c:\stop.bat
В файлик stop.bat поместил следующее:
Код:
c:\command.com /c c:\vc\vc.exe
После завершения работы в УКМ, оболочка волкова командера не запустилась. Немного поколдовав и поместив в файлик stop.lst следующий код:
Код:
c:\command.com /C echo Start >> n:\cash_logs.txt
соответствующий файлик был создан, вместе с содержимым. Думаю, по аналогии, будет работать и start.lst. Таким образом, в самом простом случае, можно отслеживать, что каждой загрузке УКМ соответствует корректное выключение, а не тупая перезагрузка кассы.
10.06.2009 12:21
akonev
 
Цитата:
В файлик stop.bat поместил следующее:
c:\command.com /c c:\vc\vc.exe
Вот это точно неудачный вариант.
все-таки stop.lst отрабатывает не после завершения работы укм, а в процессе завершения.
если бы запустился VC - ты бы имел полную кашу в памяти: три(!) экземпляра command.com, укм2 и VC в придачу. оно тебе нада?
кстати, могло тупо не хватить памяти.
10.06.2009 12:32
Vovantus
 
Цитата:
Andrew_Konev Вот это точно неудачный вариант.
А зачем вообще вызывать отдельный батник, если можно всё прям в start.lst/stop.lst прописать, типа вот так:
Код:
c:\command.com /c "команда с параметрами" 
10.06.2009 13:57
akonev
 
Цитата:
Vovantus А зачем вообще вызывать отдельный батник...
можно и не вызывать. единственное:

если вызываем батник - один и тот же экземпляр command.com отрабатывает все команды из него (если, конечно, ты в батник не вписываешь снова вызовы command.com);

если ты будешь все внутренние команды прописывать в *.lst - для каждой из них будет грузиться command.com, отрабатывать и сразу выгружаться.

результат будет одинаковый
11.06.2009 06:53
Vovantus
 
Цитата:
HellBoy Konst, если не тайна, можешь поподробней расписать как сделать ваш вариант борьбы? (если можно то и утилитку выложить)
Утилитку писать не обязательно, можно и стандартными средствами всё организовать по похожей схеме. Например, самый простой вариант. На компе пишем батник, который будет в расшаренной для кассы папке, рано утром (или при включении компа), создавать какой-нить файл-флаг. Заметьте, для каждой кассы должен быть свой флаг. Далее, на кассе правим файлик autoexec.bat. Пишем там условие проверки файла-флага в расшаренной папке. Если флажок найден, значит удаляем его нафиг и спокойно грузимся. Если флаг не обнаружен, то через команду call вызываем другой батник, в котором пишем самую примитивную авторизацию через пароль. В итоге, самый первый раз касса грузиться нормально, все последующие запрашивает пароль. Но на мой взгляд, схема с паролями не очень эффективна. Всякое может произойти в течении рабочего дня и не всегда администратор на месте (у нас вчера гром гремел и при выгрузке одной из касс, она зависла). Поэтому, как я выше уже предлагал, делаем следующее.
Создаём файлы start.lst и stop.lst, помещаем туда команды:
Код:
c:\command.com /c echo Start Cash >> n:\StartStop.txt
и
Код:
c:\command.com /c echo Stop Cash >> n:\StartStop.txt
для каждого файла соответственно.
Переодически просматриваем их на предмет наличия пары записей включение - выключение. Таким образом бедет видно, когда кассу перезагрузили, а когда тупо вырубили. Но это не очень удобно.
Я пошёл ещё дальше и написал скрипт, который ведёт логи времени включения/выключения УКМ и при отсутствии записи о выключении, пишет в отдельный лог ошибку. Буду обкатывать, если кому интересно, могу поделиться скриптом для nnCron.
Осталось тока придумать, как фиксировать некорректное выключение кассы при временном отсутствии локальной сети, када касса будет находится в автономном режиме.
11.06.2009 07:00
akonev
 
Цитата:
Vovantus ...Осталось тока придумать, как фиксировать некорректное выключение кассы при временном отсутствии локальной сети..
про это я тебе еще на первой страничке сказал: надо лог писать на локальный диск, а следующей командой копировать его в сеть.
когда будет сеть - тогда и дойдут до тебя логи. но зафиксируется все
11.06.2009 07:04
Vovantus
 
Цитата:
Andrew_Konev про это я тебе еще на первой страничке сказал..
Это всё понятно. Но в этом случае, содержание лога должно формироваться на самой кассе, а не на компе. Что намного уложняет разбивку лога по дням, месяцам, времени. Получается, что все события тупо валятся в один лог. Не удобно так!
З.Ы. Представь себе, что тебя неделю не было. Предположим, есть 100 магазинов по 10 касс. В этом случае нужно перелапатить огромное количество логов. В моём случае, ты сразу будешь видеть по отдельному логу, в какой именно день и на какой кассе было несоответствие записи по включению-выключению.
З.Ы.Ы. Кстати, если не нужно видеть када касса включалась/выключалась, то можно прям на самой кассе делать вроверку соответствия записей и в случае расхождения, создавать лог ошибок.
11.06.2009 08:20
akonev
 
чес слово, на пустом месте проблему изобретаешь.
Код:
echo start >>c:\log.txt
if not exist n:\log.txt goto avtonom
copy n:\log.txt+c:\log.txt n:\log.txt
erase c:\log.txt
:avtonom
до кучи, чтобы самому не анализировать...
тебе же только некорректные перезагрузки нужны?
в стоп:
Код:
echo correct_off>>c:\flag.txt
в старт:
Код:
if exist c:\flag.txt goto no_log

echo non_correct_start >>c:\log.txt
if not exist n:\log.txt goto avtonom
copy n:\log.txt+c:\log.txt n:\log.txt
erase c:\log.txt
:avtonom

:no_log
erase c:\flag.txt
только это все надо в *.bat писать, не в *.lst
11.06.2009 08:50
Dim
 
Вопрос Отделу ККМ... А почему бы не сделать, чтоб УКМ2 сама анализировала некорректные перезагрузки?
11.06.2009 08:55
Vovantus
 
Цитата:
Andrew_Konev только это все надо в *.bat писать, не в *.lst
Ага, рабочая схема. Тока нуна убрать логирование включения/выключения, смысла нет от него, т.к. не видно када происходили эти события. Тупо, если нет флага на выключение, создаём файлик, пишем в него что-нить и при появлении сети копируем на сетевой диск. Будет видно, что были некорректные выключения, но опять же не видно, када именно они происходили.
11.06.2009 08:59
akonev
 
Цитата:
Dim Вопрос Отделу ККМ... А почему бы не сделать, чтоб УКМ2 сама анализировала некорректные перезагрузки?
дык он не тока анализирует, но еще и чек восстанавливает, так-то.
понятно, что это не совсем то, о чем ты говоришь, но все же.


Опции темы


Часовой пояс GMT +3, время: 09:25.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.