В практике сопровождения розничных точек нередко возникает критическая ситуация: управляющий магазином или кассир утверждает, что продажи велись непрерывно, Z-отчеты успешно сняты и лежат на руках, эквайринг подтверждает поступление денег на расчетный счет, но в программе 1С:Розница за несколько конкретных рабочих дней отсутствуют чеки ККМ, кассовые смены и сводный документ ОтчетОРозничныхПродажах. При этом приходные накладные, акты переоценки и прочие складские операции за эти дни присутствуют. Рассмотрим причины возникновения этой проблемы и разберем по шагам алгоритм диагностики и восстановления данных.
Самая распространенная и неочевидная причина видимого отсутствия документов — сбитая дата в операционной системе клиентского ПК. Если системное время на кассовом месте случайно или намеренно переведено вперед (например, на два-три дня вперед), создаваемые кассиром документы не исчезают, а записываются будущим числом. При этом в текущем периоде образуется визуальная «дыра» в несколько дней.
Если к кассе подключен фискальный регистратор или АСПД (чекопечатающая машина), работающий в режиме синхронизации времени с компьютером, на печатных чеках и Z-отчете также будет отражена эта ошибочная дата. В результате бухгалтер или администратор ищет документы за фактические даты (например, 10–12 числа), а в информационной базе они уже проведены 13–15 числом.
Для проверки этой гипотезы выполним следующие действия:
Чеки ККМ или Кассовые смены и снимем все отборы по дате и кассе. Проверим наличие записей, дата которых больше текущего реального календарного дня.Данные.Добавление за проблемный период времени, но обратим внимание не на дату события, а на реквизит Дата самого созданного объекта (документа).Посмотрим на пример текста запроса, позволяющего выявить документы в будущем периоде:
ВЫБРАТЬ
Чеки.Ссылка КАК Документ,
Чеки.Дата КАК ДатаДокумента,
Чеки.Номер КАК НомерДокумента,
Чеки.КассаККМ КАК КассаККМ,
Чеки.СуммаДокумента КАК Сумма
ИЗ
Документ.ЧекККМ КАК Чеки
ГДЕ
Чеки.Дата > НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ)
УПОРЯДОЧИТЬ ПО
Чеки.Дата ВОЗРАСТАЮЩИЕ
Если в торговой сети используется распределенная информационная база (РИБ), пропажа документов за диапазон дат может быть следствием несанкционированного восстановления узла из бэкапа:
Выясним причину через журнал регистрации: проверим события авторизации пользователей и системные события за спорные даты. Если в журнале регистрации за выпавшие дни нет записей о действиях пользователей на точке, это указывает на физическую подмену файла базы данных (1Cv8.1CD) или развертывание архивной копии.
Проанализируем техническую особенность взаимодействия платформы 1С:Предприятие и торгового оборудования. Вызовы внешних драйверов подключаемого оборудования (фискальных регистраторов, АСПД) происходят вне транзакции СУБД. Встроенный язык платформы не может отменить физическую печать на ленте, если последующая запись в базе данных завершилась аварией.
Возможна ситуация, когда кассир выполнил операцию закрытия смены: оборудование напечатало бумажный Z-отчет, однако при попытке сформировать и провести в базе документ ОтчетОРозничныхПродажах возникла ошибка (падение платформы, сбой электропитания, взаимоблокировка транзакций). В результате транзакция базы данных откатилась, а фискальное устройство зафиксировало факт снятия смены.
Чтобы исключить потерю данных из-за сбоя транзакции, выполним следующие шаги проверки:
ЧекККМ до и после выпавших дней. Если номера идут без пропусков, документы в базе за этот период фактически не создавались. Наличие пропусков указывает на то, что номера выделялись, но транзакции были отменены либо объекты были удалены.Иногда документы присутствуют в базе физически, но скрыты от глаз конкретного пользователя:
Если документы были обнаружены в будущем периоде из-за сбитых часов ПК, исправим учетные данные следующим образом:
ОтчетОРозничныхПродажах, КассоваяСмена и подчиненных чеков ККМ.Дата в кассовых сменах и чеках ККМ на реальные фактические даты продаж.