Почему «Отчет о розничных продажах» не формирует движения по регистру «Денежные средства в кассах ККМ»?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

В практике работы с 1С:Управление нашей фирмой (УНФ) редакции 3.0 пользователи часто сталкиваются с ситуацией, когда после загрузки данных из сторонних программ или при синхронизации остатки в кассах ККМ отображаются корректно, но после выполнения операции «Групповое перепроведение документов» данные из отчетов пропадают, а остатки уходят в минус. Разберем детально, почему это происходит, как работает механизм формирования движений и что нужно проверить, чтобы восстановить учет.

Анализ механизма проведения документа

Для начала проанализируем, как документ ОтчетОРозничныхПродажах взаимодействует с регистром накопления ДенежныеСредстваВКассахККМ. Важно понимать разницу между «записью набора записей» при обмене данными и «проведением» документа в самой системе. При первичной синхронизации внешние обработки часто записывают данные в регистры напрямую, фактически «насильно» вставляя строки в таблицу базы данных. Однако, когда мы запускаем Групповое перепроведение, система очищает старые движения и запускает штатный программный код модуля документа. Если условия для формирования движений не соблюдены, документ очистит регистр, но не создаст в нем новые записи.

Проверка ключевых реквизитов документа

Рассмотрим основные причины, по которым стандартная логика 1С:УНФ может «отказаться» формировать записи по кассе ККМ:

  1. Тип оплаты: Перейдем на вкладку «Оплата» в документе. Для формирования движений по регистру ДенежныеСредстваВКассахККМ обязательно должен быть указан вид оплаты с типом «Наличные». Если при выгрузке это поле осталось пустым или заполнилось некорректно, система решит, что наличных денег в кассу не поступало.
  2. Настройки Кассы ККМ: Проверим карточку кассы, указанную в шапке документа. Тип кассы должен быть установлен как «Торговая точка» или «ККМ» (фискальный регистратор/автономная касса). Если касса имеет тип «Операционная касса», движения по розничным регистрам формироваться не будут.
  3. Тип склада: Проанализируем склад, указанный в документе. В УНФ для розничных операций склад должен иметь тип «Розница» или «Розничная точка».

Влияние функциональных опций и кассовых смен

Выясним причину в настройках самой программы. В 1С:УНФ 3.0 существует тесная связь между отчетом и сущностью «Кассовая смена». Если вы загрузили отчеты, но в базе отсутствуют соответствующие документы КассоваяСмена со статусом «Закрыта», штатный алгоритм проведения может блокировать движения по денежным средствам.

Также проверим раздел «Настройки — Еще больше возможностей — Продажи». Найдем опцию «Архивировать чеки ККМ». В зависимости от этой настройки, ответственность за остатки в кассе может перекладываться с отдельных чеков на итоговый отчет. Если настройки были изменены перед перепроведением, логика программы изменится для всех документов в периоде.

Техническая диагностика через отладчик

Если визуальная проверка реквизитов не дала результата, воспользуемся инструментами разработчика. Посмотрим на процесс проведения «глазами программы». Для этого нам понадобится режим Конфигуратора. Разберем этот процесс по шагам:

  1. Откроем базу в режиме Конфигуратора.
  2. Найдем в дереве метаданных документ ОтчетОРозничныхПродажах и откроем его модуль объекта.
  3. Найдем процедуру ОбработкаПроведения. В ней нас интересует вызов общего модуля, отвечающего за отражение движений.
  4. Поставим точку останова (клавиша F9) на строке, где вызывается процедура отражения движений по регистру ДенежныеСредстваВКассахККМ. Примерный вид кода для поиска:

ПроведениеДокументовУНФ.ОтразитьДвижения(
    "ДенежныеСредстваВКассахККМ", 
    ПараметрыПроведения, 
    Отказ);

Запустим отладку (F5), перейдем в режим «Предприятие» и попробуем провести один проблемный документ. Программа остановится на выбранной строке. Используя клавишу F8 (шаг «внутрь»), мы сможем проследить, в какой момент условие (например, Если ВидОплаты = ПредопределенноеЗначение(...)) возвращает Ложь и прерывает запись в регистр.

Как исправить ситуацию без программиста

Если мы выяснили, что проблема в неверно заполненных реквизитах (например, не заполнена категория оплаты), мы можем воспользоваться обработкой «Групповое изменение реквизитов». Проанализируем алгоритм действий:

Важный момент: если данные были загружены «криво» изначально, иногда проще очистить документы и выполнить повторную синхронизацию, предварительно настроив правила сопоставления касс и типов оплат в узле обмена. Это гарантирует, что при каждом последующем перепроведении (которое может случиться автоматически при закрытии месяца) ваши остатки в кассах ККМ не «улетят» в минус.

← На главную