[ОТВЕТИТЬ]
16.03.2009 07:31
Vovantus
 
Вот уже второй раз в месяц происходит следующая фигня. В разных магазинах, в разное время, на разных лекспосах (с Flash и HDD), в процессе начальной инициализации УКМ возникает ошибка. Ругается на структуру файла RECEIPT.DB и ещё на какую-то табличку.
Каждый день, в процессе первой загрузки кассы, делается бэкап базы и конфигурации. Именно из этого бэкапа я восстановил данные (удалив предварительно старые индексы) и всё заработало. Следовательно, не в табличках дело. Кто что думает? Не нравится мне эта хня *118
16.03.2009 08:59
OlegON
 
Думаю, кеширование и ребут неожиданный.
16.03.2009 09:07
Vovantus
 
Цитата:
OlegON Думаю, кеширование и ребут неожиданный.
Кеширование тока на чтение, ребут исключён, бесперебойки везде. Я сначало подумал, что винт сыпаться начал, када впервый раз такая хня недавно произошла. Но на выходных повторилось уже на кассе с флэшкой. Причём флэшка ещё даже года не отработала.
16.03.2009 09:22
OlegON
 
А ты запускай вроде такого батника (не помню, как в ДОСе):
Цитата:
time /t && echo logon >> C:\log
cashmain && time /t && echo logoff >> C:\log
если логоффа нет - бей кассиров по рукам (у меня бесперебойник отрубали)
16.03.2009 09:32
Vovantus
 
Цитата:
OlegON если логоффа нет - бей кассиров по рукам (у меня бесперебойник отрубали)
Да не могли они бесперебойник вырубить. Я админов так надрессировал, что они приходят за 5-30 мин до открытия магазина и ещё даже не успев переодется сразу кассу врубают, а уже потом валят носики пудрить. Они знают, что бэкап - ЭТО ОЧЕНЬ ВАЖНО (пусть и приходится подождать 5-10 минут) и никада не трогают кассу до момента пока не отобразится главное меню УКМ. Фишка как раз в том, что бэкап прошёл успешно, а уже потом что-то происходит и структура табличек рушится. Что-то железное, я полагаю.
16.03.2009 09:57
OlegON
 
А что за бекап? Он структуру проверяет? А то, может, и фиксит ее? Т.е.
1) Бекап
2) Касса не работает
3) Восстанавливаем из бекапа в 1)
4) Касса работает?
16.03.2009 10:11
Vovantus
 
Цитата:
OlegON А что за бекап? Он структуру проверяет? А то, может, и фиксит ее?
Простой бэкап. При старте системы проверяется наличие сети, если она есть - архивируются все файлы с расширением *.db из каталога smukm30 и его подкаталога database. После этого архив отправляется на сетевой диск N. Но ты натолкнул меня на мысль. Я точно не помню, но на кассах реализована проверка структуры файловой системы либо перед архивированием, либо сразу после. Нужно в кассу залезть, посмотреть..
16.03.2009 15:37
konst
 
Каждое утро на всех кассах проганяется следующий батник:
а в предыдущем также делается архивирование дбшек и каталока УКМ и выкладывается архивчик на сервер магазина....

@echo off
cd c:\Smukm30\database
del *.px
del *.x*
del *.y*
cd ..
del *.err
del *.log
del *.px
del *.x*
del *.y*
del tmp*.db
scandisk.exe c: /AUTOFIX /NOSAVE /NOSUMMARY
defrag.exe c: /F /H
reset.com
17.03.2009 01:58
Vovantus
 
Цитата:
konst Каждое утро на всех кассах проганяется следующий батник:
А зечем индексы грохать каждый раз? Они не за одну минуту создаются на лексах с флэшками. У нас в магазинах, по воскресеньям, при первой загрузке кассы автоматически запускается переиндексация. Всё что требуется от кассиров - это нажать два раза ДА.
З.Ы. И как быть, если при такой схеме как у вас, касса загружается несколько раз в день? (например, электричество вырубают)
17.03.2009 07:05
OlegON
 
Цитата:
Vovantus З.Ы. И как быть, если при такой схеме как у вас, касса загружается несколько раз в день? (например, электричество вырубают)
Вот ты и нашел причину своих проблем... Уверен, что где-то либо не успевают, либо режут сразу... Ставь батник с фиксацией выхода...
17.03.2009 08:22
Vovantus
 
Цитата:
OlegON Вот ты и нашел причину своих проблем... Уверен, что где-то либо не успевают, либо режут сразу... Ставь батник с фиксацией выхода...
Э-э-э нет, батенька.. глюки происходят именно при ПЕРВОЙ загрузке. Все сервисные функции срабатывают тоже только при первом запуске. Т.е. делается бэкап, потом инициализация УКМ, потом ошибка, потом восстановление из бэкапа и после этого всё нормально работает. Пока наблюдаю, посмотрим, повторится эта бадяга или нет..
17.03.2009 09:15
konst
 
Цитата:
Vovantus З.Ы. И как быть, если при такой схеме как у вас, касса загружается несколько раз в день? (например, электричество вырубают)
При запуске кассы проверяется 1-й запуск сегодня или нет, если первый то выполняется если нет - то нет....
17.03.2009 09:25
Vovantus
 
Цитата:
konst При запуске кассы проверяется 1-й запуск сегодня или нет, если первый то выполняется если нет - то нет....
Интересно, просто. Я када батники писал, долго думал как лучше зделать. Остановился на варианте файлов-флагов на сетевом диске. Если есть, например, файл time01.in на диске N, значит делаем синхронизацию времени на 1-й кассе. После успешного завершения, файл удаляем. У тебя как?
17.03.2009 12:27
konst
 
В батнике вызывается программуля (описание ниже)
DAY.EXE-проверяет наличие фала соответствующего текущей дате с заданным расширением. Возвращает
значение 666 если файл существует. Если не существует – создаёт его.
Например DAY.EXE B!
Если текущая дата 01.01.2009 и файл с именем “090101.!B” существует программа вернёт 666, иначе создаст
его.
17.03.2009 23:42
akonev
 
Цитата:
Vovantus Э-э-э нет, батенька.. глюки происходят именно при ПЕРВОЙ загрузке. Все сервисные функции срабатывают тоже только при первом запуске...
надо проверить, что может быть такого в этих сервисных функциях, что могло бы менять среду запуска УКМ.

по ходу дела, после их отработки возможно чуть другое распределение свободной памяти, вызывающее труднопредсказуемые выверты поведения.
с такой фигней было бы очень просто бороться: после сервисных функций НЕ НАДО запускать укм. надо сразу уходить в ребут и получать уже вторую загрузку за день, без всякого сервиса: консервативное лечение синдрома первой загрузки! :)
попробуй, посмотри как повлияет. если ребутера под рукой нет - иди сюда:
бывают проще ребутеры, но они некошерные (ребут по прерыванию - два байта: CD 19 ; более злобный, ребут прыжком в биос - пять байт: EA F0 FF 00 F0)

только вот сильно подозреваю, что дело вовсе не в первой загрузке за день. наверняка, это еще и первый запуск укм после закрытия смены.
правда, как влияет закрытие смены - тоже понять не могу.
у тебя, случаем, автообрезка смен не включена? а то если нетерпеливые кассиры вырубают кассу не дождавшись окончания обрезки - может порушиться все, что хочешь, не только структура чека.
эту версию надо проверять как раз логированием выключения. или просто в stop.lst прописать создание флажка правильного выключения, а в автозагрузку - проверку его наличия: нашли - молча удалили и грузимся дальше; не нашли - запись в лог и красный свисток админу.
18.03.2009 07:52
Vovantus
 
Цитата:
Andrew_Konev только вот сильно подозреваю, что дело вовсе не в первой загрузке за день. наверняка, это еще и первый запуск укм после закрытия смены.
Ну да, первый не только за день, но и после закрытия смены. Но если бы при закрытии смены что-то прошло не так, то фиг бы касса вообще загрузилась, даже после восстановления из бэкапа. В бэкап ведь данные попадают ещё до первой инициализации УКМ. Олег прально на мысль натолкнул. Если у меня проверка структуры файловой системы стоит ПОСЛЕ бэкапа (что более вероятно по логике), то вполне возможно что scandsk.exe просто рушит таблицы по каким-то своим соображениям. Восстановление из бэкапа возвращает на место исправные таблички, но повторно проверка не запускается, т.к. она уже была в этот день. Ну вот типа так я думаю.
Цитата:
Andrew_Konev или просто в stop.lst прописать создание флажка правильного выключения, а в автозагрузку - проверку его наличия: нашли - молча удалили и грузимся дальше; не нашли - запись в лог и красный свисток админу.
Вот это хорошая идея. Учитывая что данный функционал можно добавить в конфигурацию не вставая с места, я этим займусь обязательно. Ох как я буду зол, если кто-то не дожидается надписи, разрешающей выключение кассы.
18.03.2009 08:43
akonev
 
Цитата:
Vovantus ...Но если бы при закрытии смены что-то прошло не так, то фиг бы касса вообще загрузилась, даже после восстановления из бэкапа...
не спрашивай почему, но это не так.

несколько раз напарывались на странную паталогию. лексы с флешкой. раздутый cashsail. переиндексация. все проходит нормально, но при первом запуске задумывается на проверке последнего чека (это как раз нормально после переиндексации) и сразу после этого валит структуру.

другой расклад с тем же результатом. тот же магазин. те же лексы с флешкой, автообрезка на 60 смен. после закрытия кассиры иногда не дожидаются окончания обрезки и ребутят. опять же валится структура (не каждый раз).

закончилась эта дребедень после того как:
1) вырубили автообрезку и начали регулярно резать руками на те же 60 смен.
2) обнаружили, что была какой-то заразкой включена оперсводка, которая не использовалась бэком. количество оперчеков ушло за 100тыс. выключили, старые оперчеки снесли.
3) прогнали scandisk и прибили lost&found цепочки
4) перебрали автозагрузку, оставили в памяти абсолютный минимум
5) переключили сетевого клиента на basic

до этого структура рушилась раз в пару недель. после - как отрезало.
так и не знаю, чего уж там не хватало: памяти, места на флехе, времени отзыва каталога оперсводки или еще чего...
19.03.2009 07:54
Vovantus
 
Цитата:
Andrew_Konev до этого структура рушилась раз в пару недель. после - как отрезало.
так и не знаю, чего уж там не хватало: памяти, места на флехе, времени отзыва каталога оперсводки или еще чего...
В общем решил, что пока будет достаточно логировать "правильное" выключение кассы через stop.lst и делать перезагрузку после всяких сервисных функций при первой загрузке кассы.

З.Ы. От себя хочу добавить, что флэшки на кассах рекомендуется менять. Как часто, каждый решает сам, т.к. нагрузка на кассы может быть разная. Вполне возможно, что достигнут предел операций записи и некоторые блоки начинают глючить. Хуже другое. На убитых флэшках, через низкоуровневые программы типа MHDD и VICTORIA, не всегда видно битые блоки. Во всяком случае, у меня была одна флэшка с железно сбойными секторами, но этого не могла определить ни одна программа. Вы не представляете сколько я с этим лекспосом мучался! Потом допёрло, пошёл в магаз, купил обычную флэху для фотика, поменял, переставил софт и проблем больше не было.

З.Ы.Ы. Правда, при покупке лучше брать скоростные флэшки. Я взял обычную и при каждой операции записи касса слегка подвисает на пару секунд.
Опции темы


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

 

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