[ОТВЕТИТЬ]
Опции темы
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, время: 23:12.

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