Ситуация, когда сотрудники по ошибке начинают работать в тестовой или архивной копии информационной базы, является классическим сценарием в практике системного администрирования 1С. Однако, если речь идет о розничной торговле и подключенном торговом оборудовании (ККТ), проблема переходит из разряда «просто переввести данные» в плоскость фискального учета. Рассмотрим подробно, что происходит в системе в этот момент, какие риски существуют и как правильно восстановить целостность данных в основной базе.
Для начала проанализируем, почему кассовый аппарат (ККТ) позволил пробить чеки из «неправильной» базы. Фискальный регистратор — это автономное устройство, для которого база 1С является лишь источником команд. Ему неважно, с какого физического сервера или из какого каталога пришла команда НапечататьЧек(). Если в настройках оборудования копии базы прописан верный IP-адрес или COM-порт кассы, она беспрекословно выполнит операцию.
Важный момент: в фискальном накопителе (ФН) и в системе ОФД (Оператора фискальных данных) все чеки выстроены в строгой последовательности. Касса сама присваивает порядковый номер чека за смену и фискальный признак документа. Даже если в копии базы нумерация документов ЧекККМ началась с единицы, в памяти кассы они получили свои законные порядковые номера (например, со 137-го по 180-й). С точки зрения налоговой инспекции (ИФНС) нарушений нет: выручка зафиксирована, данные переданы в облако своевременно.
В процессе обсуждения часто звучит предложение: «Сделайте возврат в копии базы и пробейте заново в основной». Разберем, почему этого делать категорически нельзя:
Нашим решением должен стать перенос данных без повторного обращения к фискальному накопителю.
Самым верным способом является перенос самих документов ЧекККМ и итогового Отчета о розничных продажах из копии в рабочую базу. Рассмотрим, как это сделать правильно.
Если конфигурации основной базы и копии идентичны, воспользуемся универсальной обработкой. Она позволяет перенести объекты с сохранением их внутренних идентификаторов (UUID).
ВыгрузкаЗагрузкаДанныхXML.epf.ЧекККМ.Важно: При загрузке документов 1С может попытаться запустить механизмы проведения. Убедитесь, что в основной базе в этот момент не подключено торговое оборудование или оно находится в режиме офлайн, чтобы случайно не отправить дублирующие команды на кассу.
Проанализируем ситуацию с регистрами. Сами по себе документы ЧекККМ в большинстве конфигураций (например, в «1С:Розница» или «1С:Управление торговлей») не делают движений по складским остаткам до момента закрытия смены. Все движения формирует документ Отчет о розничных продажах (ОРП).
Если смена в копии была закрыта, там сформировался ОРП. Его также необходимо перенести в основную базу. Если же смена не была закрыта, вам потребуется:
После переноса данных необходимо убедиться, что учетная система «видит» деньги так же, как их видит банк и налоговая. Проанализируем ситуацию с безналичной оплатой. Если кассиры использовали эквайринговый терминал, интегрированный с 1С, то оплаты прошли успешно, но записи о них остались в копии. После переноса документов ЧекККМ в основную базу, данные о транзакциях (номер слип-чека, RRN) должны появиться в соответствующих табличных частях документов оплаты. Проверьте Отчет о розничных продажах, вкладка «Оплата платежными картами» — суммы должны совпадать с банковской выпиской за этот день.
Чтобы больше не сталкиваться с «глупенькими кассирами» и «неосторожным поднятием копий», внедрим защитные механизмы. Рассмотрим три уровня защиты.
Пропишем в заголовке системы четкое предупреждение. Это делается программно при начале работы системы или через параметры запуска. Рассмотрим пример кода, который можно добавить в модуль управляемого приложения:
Процедура ПриНачалеРаботыСистемы()
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
Если Найти(Врег(СтрокаСоединения), "COPY") > 0 Или Найти(Врег(СтрокаСоединения), "TEST") > 0 Тогда
УстановитьЗаголовокСистемы("!!! КОПИЯ БАЗЫ !!! РАБОТА ЗАПРЕЩЕНА !!!");
КонецЕсли;
КонецПроцедуры
Сразу после восстановления базы из бекапа, первым делом необходимо зайти в справочник ПодключаемоеОборудование. Выясним причину, по которой касса осталась активной: обычно это происходит из-за сохранения настроек рабочего места.
Рекомендация: Просто удалите настройки подключения к ФН в копии базы. Если касса работает по сети, измените IP-адрес на несуществующий (например, 127.0.0.1). Теперь при попытке пробить чек программа выдаст ошибку связи, и кассир не сможет совершить продажу.
При использовании клиент-серверного варианта, в консоли администрирования кластера 1С обязательно устанавливайте флаг «Блокировка регламентных заданий включена». Это предотвратит автоматический обмен данными с ОФД, выгрузку чеков в бухгалтерию или синхронизацию с интернет-магазином из копии базы.
Мы выяснили, что пробитие чеков в копии — это не катастрофа, а технический инцидент, который решается аккуратным переносом данных. Главное — помнить, что физическая касса и учетная программа — это разные сущности. Пока данные в ФН и ОФД верны, ваш учет можно восстановить без санкций со стороны контролирующих органов. Используйте методы выгрузки XML, проверяйте итоговые отчеты о продажах и обязательно маркируйте копии баз, чтобы избежать подобных ситуаций в будущем.