Цитата: john_the_ripper ➤ Поделитесь опытом пожалуйста, кто и как делает обрезку базы чеков на кассе и целесообразно ли это делать на УКМ сервере допустим. Может есть какие-то подводные камни.
Достаточно ли просто грохнуть запросом часть чеков запросом на кассе?
После восстановления кассы, эти чеки заново ведь подсасутся с УКМ'а?
И если воспользоваться функцией удаление чеков на УКМ сервере, то удалятся ли чеки с касс или только с УКМ сервера? Не влияет ли как-то проведение это операции на работу касс? Нормально ли проходят обмены в это время?
В общем интересен опыт :)
Наш опыт:
1. на кассах держим чеки за последние 90 дней.
2. на серверах - за всю историю работы УКМ 4.0 (не спрашивайте - зачем, надо!:agree:).
3. Размер БД СГО на ноябрь-2012 был 1,1 ТБ (продажи с 2006 года), 109 магазинов по 2-3-4 кассы в магазине, из них чуть больше половины - по безСМной технологии (СГО <-> касса).
4. Сейчас УКМ 50sp1.
Печать копии чека, товарного чека, возврата по чеку касса ищет на сервере, а в случае отсутствия связи ("ПОИСК") - в локальной БД.
Есть четыре нюанса:
1. Обрезка чеков на кассе запускается только после закрытия смены.
2. В процессе обрезки смен на кассах используется сервер, поэтому для успешного выполнения должна быть обеспечена бесперебойная связь.
3. Если обрезается очень много смен (например, при первом запуске), то на это может уйти сравнительно много времени: у нас на обрезку 20 смен уходило около 1-1,5 минут, соответственно, на обрезку смен за год - до получаса. Если кассу попытаться выключить через меню, то она выключится только после окончания выполнения процедуры обрезки. Но если кассир очень спешит и выключает кассу по питанию, возможны разные последствия.. Поэтому и в связи с п.1 рекомендую сокращать количество хранимых на кассах смен постепенно, начиная с количества дней с момента пробития первого чека по текущий момент. Мы делали обрезку с интервалом 20 смен в сутки, один раз в сутки запуская на СГО скрипт с запросом:
Код:
UPDATE trm_in_config_global SET value=GREATEST(90,value-20),version=0 WHERE id='client_dblives_value' AND deleted=0;
С той целью, чтобы, например, если на какой-нибудь кассе работали три дня назад, то чтобы было обрезано 60 смен ~ 4 минуты => кассир уж подождёт..
4. а вот это самое неудобное: процесс перезаливки кассы с загрузкой смен работает без какого-либо соответствия с настройками обрезки смена на кассах. То есть загружает все продажи по данной кассе, что есть на сервере этой кассы. И возникает ситуация как при первой обрезке большого количества смен. То есть при следующем закрытии смены на кассе после такой её перезаливки обрезка будет идти дольше обычного... :mega_shok: Данная ошибка зарегистрирована в С+ под номером 4639 и пока не исправлена.