При активных розничных продажах в конфигурации 1С:Розница может возникнуть неожиданная ситуация: после пробития чека с номером 9999 следующий чек регистрируется под номером 1. Нередко это совпадает с кратковременным отключением электричества, перезагрузкой оборудования или открытием новой смены, что вызывает закономерные сомнения — произошел ли аппаратный сбой или это штатное поведение системы. Разберем детально, как устроена нумерация чеков, какие счетчики за нее отвечают и что необходимо проверить в информационной базе и оборудовании.
Для понимания причин сброса номера проанализируем, какие именно числовые идентификаторы присваиваются операции продажи при пробитии чека. В системе параллельно работают три независимых механизма нумерации:
Номер документа ЧекККМ. Он формируется средствами платформы 1С на основании настроек нумератора, длины строки и заданных префиксов (префикс информационной базы РИБ, префикс организации).НомерЧекаККМ, который возвращается драйвером торгового оборудования после успешной печати на фискальном регистраторе.Когда кассир или администратор видит номер чека на бумажной ленте или в интерфейсе кассового узла, речь чаще всего идет именно об оперативном номере чека ККТ либо о реквизите Номер самого документа 1С.
Рассмотрим поведение контрольно-кассовой техники (например, фискальных регистраторов марок «Штрих-М» или «Атол»). В микропрограмме (прошивке) большинства кассовых аппаратов под счетчик операционных чеков зарезервировано фиксированное количество десятичных разрядов — 4 знака (от 0001 до 9999).
При достижении значения 9999 внутренний регистр устройства переполняется, и счетчик чеков аппаратно начинает отсчет заново с единицы (в некоторых моделях фиксируется чек 0000 или дублируется 9999 в качестве технологической отметки, после чего идет 1). Если в этот момент произошло кратковременное отключение света, это совпадение является случайным: аппарат в любом случае сбросил бы данный счетчик на 1 при пробитии следующего документа.
Проанализируем второй фактор — ограничения автонумератора самой платформы 1С. В конфигурациях длина стандартного реквизита Номер для документа ЧекККМ может быть жестко ограничена (например, 8 символами). Посмотрим, как распределяются эти символы при включенных механизмах распределенных информационных баз (РИБ):
РБ).О1).-).Когда числовая часть номера достигает предельного значения 9999, механизм автонумерации платформы 1С не имеет возможности добавить дополнительный разряд влево из-за ограничения общей длины реквизита. В результате платформа циклически начинает нумерацию заново, находя минимальный свободный номер в текущем периоде (как правило, ...0001).
Важно помнить, что смотреть реальную длину номера необходимо не в настройках ширины колонки журнала или формы списка, а непосредственно в дереве метаданных конфигуратора: свойства документа ЧекККМ, раздел Нумерация, свойство Длина номера.
Выясним, как именно кратковременное отключение электроэнергии может повлиять на кассовый аппарат. Внутри системной платы ККТ установлена литиевая батарейка резервного питания (обычно формата CR2032), которая поддерживает энергозависимую оперативную память (NVRAM/таймер реального времени) при отключении основного блока питания.
Если батарейка разряжена (напряжение ниже 2.8 В) или деградировала, при пропадании сетевого напряжения даже на несколько секунд происходит технологический сброс оперативной памяти ККТ. При этом фискальные данные в накопителе остаются нетронутыми, однако текущие операционные регистры ККТ (включая счетчик чеков текущей смены) сбрасываются в исходное состояние — на номер 1.
Для исключения ошибок уникальности и сбоев в работе кассового места выполним следующую последовательность действий:
Номер (номер 1С) и НомерЧекаККМ (номер кассы). Это позволит понять, на каком уровне произошел возврат к единице.00000001 за текущий период может заблокировать проведение последующих чеков с ошибкой «Номер документа не уникален». В этом случае в конфигураторе следует увеличить длину номера (рекомендуемый типовой стандарт — 11 символов) либо изменить периодичность нумератора.