Почему не переносятся отчеты о розничных продажах при обмене между 1С:Розница и 1С:Бухгалтерия 3.0?

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

Синхронизация данных между конфигурациями «1С:Розница» и «1С:Бухгалтерия предприятия 3.0» (БП) — один из ключевых бизнес-процессов в автоматизации торговых точек. Однако пользователи часто сталкиваются с ситуацией, когда справочники, кассовые ордера и установки цен успешно переносятся, а важнейшие документы — «Отчеты о розничных продажах» (ОРП) — систематически игнорируются обменом. Особенно остро эта проблема проявляется, если организация занимается оказанием услуг, а не продажей материальных товаров. При необходимости выполнять этот процесс по расписанию можно настроить автоматическую регулярную синхронизацию баз 1С без изменения их конфигураций.

В этой статье мы подробно разберем, почему документы ОРП могут не приходить в базу «1С:Бухгалтерия 3.0», как локализовать ошибку, настроить отладку фоновых процессов синхронизации и решить проблему раз и навсегда.

Шаг 1. Локализация проблемы: где теряются данные?

Для начала нам необходимо выяснить, на каком этапе происходит сбой: при выгрузке из «1С:Розница» или при загрузке на стороне «1С:Бухгалтерия». Для этого проанализируем состав отправляемых данных и содержимое файла обмена.

Выполним следующие действия для проверки регистрации объектов к обмену:

  1. В «1С:Розница» перейдем в раздел Администрирование — Синхронизация данных.
  2. Нажмем на кнопку с изображением «полукруглых стрелочек» или выберем пункт Состав отправляемых данных напротив нашей настройки обмена.
  3. Найдем в списке документ ОтчетОРозничныхПродажах. Проверим, зарегистрированы ли измененные документы для отправки. Если список пуст, вызовем принудительную регистрацию нужных документов кнопкой Зарегистрировать одиночный объект или перепроведем документы в базе.

Если документы зарегистрированы к обмену, но в бухгалтерию они все равно не попадают, нам нужно проверить физическое наличие этих документов в XML-файле выгрузки. Для этого временно настроим обмен через локальный каталог:

  1. Выполним выгрузку данных в файл (XML-пакет).
  2. Откроем полученный XML-файл с помощью любого текстового редактора (например, Notepad++).
  3. Запустим поиск по тексту (Ctrl+F) и попробуем найти тег, отвечающий за ОРП (в универсальном формате EnterpriseData это обычно структуры, связанные с розничными продажами, например, Document.RetailSalesReport).

Если поиск не дал результатов и теги документов в XML отсутствуют, значит, проблема находится на стороне «1С:Розница» — правила обмена по какой-то причине отсекают эти документы при формировании пакета. Если же документы в файле присутствуют, но в БП не создаются — проблема на стороне «1С:Бухгалтерия».

Шаг 2. Как запустить отладку фонового задания обмена?

Когда стандартные средства диагностики не помогают определить причину «тихого» исчезновения документов, необходимо прибегнуть к механизму отладки фоновых заданий в Конфигураторе. Поскольку обмен выполняется в фоновом режиме, обычные точки останова в коде программы не сработают без специальной настройки среды разработки.

Разберем по шагам, как правильно настроить отладку фонового процесса синхронизации:

  1. Запустим конфигуратор той базы, где происходит сбой отправки (в нашем случае — «1С:Розница»).
  2. В главном меню перейдем в пункт Отладка — Подключение...
  3. В открывшемся окне нажмем на кнопку Настройка автоматического подключения.
  4. Установим флаг напротив пункта Фоновые задания и нажмем ОК. Теперь конфигуратор будет автоматически перехватывать все фоновые процессы, запускаемые от имени текущего пользователя.
  5. Откроем дерево метаданных, перейдем в ветку Общие — Общие модули и найдем модуль МенеджерОбменаЧерезУниверсальный (или аналогичный модуль правил обмена вашей версии конфигурации).
  6. Для быстрого поиска нужного события воспользуемся поиском по тексту (Ctrl+F) и найдем процедуру, отвечающую за отправку ОРП. Как правило, она называется ИмяДокумента_ПриОтправкеДанных или содержит алгоритм заполнения свойств ОРП.
  7. Установим точку останова (клавиша F9) в самом начале тела этой процедуры.

После прохождения этих шагов запустим синхронизацию данных из пользовательского режима «1С:Предприятия». Программа автоматически переключится на Конфигуратор и остановится в выбранной точке. Теперь мы можем пошагово (клавишей F10) отследить, на каком этапе алгоритм выгрузки решает пропустить или очистить структуру нашего документа. Для упрощения этого процесса можно применить расширение для отладки обмена через Универсальный формат.

Шаг 3. Влияние номенклатуры с типом «Услуга» на выгрузку ОРП

Выясним частую причину, почему документы ОРП, содержащие только услуги (без товарных позиций), могут полностью игнорироваться правилами конвертации.

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

В коде общего модуля обмена это может выглядеть следующим образом:


Процедура ПередВыгрузкойДокумента(ДанныеИБ, Отказ)
    // Если в документе нет товарных строк, правила могут выставить Отказ = Истина
    Если ТолькоУслугиВТабличнойЧасти(ДанныеИБ) Тогда
        Отказ = Истина; 
    КонецЕсли;
КонецПроцедуры

Решение этой проблемы кроется в синхронном обновлении конфигураций. В актуальных релизах «1С:Розница» и «1С:Бухгалтерия 3.0» разработчики исправили эту архитектурную недоработку. Правила обмена корректно обрабатывают услуги в составе ОРП и без проблем транслируют их в бухгалтерию. Важно помнить, что правила обмена жестко завязаны на структуру метаданных обеих баз. Если вы обновили «1С:Розницу», но оставили старую версию «1С:Бухгалтерии» (или наоборот), макет правил обмена ОбменРозницаБухгалтерияПредприятия30 потеряет совместимость, и выгрузка услуг снова сломается.

Шаг 4. Специфика чеков «без передачи товара» (авансы и предоплаты)

Еще один неочевидный нюанс кроется в специфике работы кассиров в интерфейсе РМК (рабочего места кассира) в «1С:Розница». Если кассир пробивает чек с признаком способа расчета «Без передачи товара» (например, при получении предоплаты или аванса от покупателя), поведение системы кардинально меняется:

Проанализируем продажи и исключим человеческий фактор: кассиры могли ошибочно выбирать признак «Без передачи товара» при стандартной продаже услуг день в день. Это приводит к тому, что ОРП в бухгалтерию приходит «пустым» или не приходит вовсе, а выручка зависает на счетах учета авансов.

Шаг 5. Необходимые настройки на стороне «1С:Бухгалтерии 3.0»

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

  1. Включение розничной торговли в функциональности:

    Перейдем в раздел Главное — Функциональность, выберем вкладку Торговля и убедимся, что установлен флаг Розничная торговля. Без этой опции документы розничных продаж скрыты из интерфейса конфигурации и блокируются механизмами загрузки.

  2. Сопоставление складов:

    Тип склада в «1С:Бухгалтерии», на который загружаются продажи, должен иметь вид Розничный магазин (АТТ — автоматизированная торговая точка). Если при автоматическом создании склада в БП ему по ошибке присвоился тип Неавтоматизированная торговая точка (НТТ), программа будет ожидать суммовой учет, а детальный попозиционный отчет о продажах услуг загружен не будет.

  3. Счета учета номенклатуры:

    Для услуг должны быть четко определены счета доходов и расходов (90.01.1 и 90.02.1), а также счета учета НДС. Настроить их можно в регистре сведений Счета учета номенклатуры для группы или конкретных позиций услуг.

Итоговый чек-лист для восстановления обмена ОРП

Подводя итог, сформируем последовательность действий для гарантированного восстановления выгрузки отчетов о розничных продажах:

  1. Обновим обе конфигурации («1С:Розница» и «1С:Бухгалтерия») до самых последних и, главное, совместимых друг с другом релизов. Для автоматизации этого процесса и предварительного создания резервных копий можно запустить автоматическое обновление и тестирование баз 1С в фоновом режиме.
  2. Проверим в «1С:Розница», зарегистрированы ли документы ОРП к отправке в узле обмена. Если нет — выполним регистрацию изменений вручную:
  3. 
    // Пример программной регистрации документов для принудительной отправки
    УзелОбмена = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("БП");
    Если ЗначениеЗаполнено(УзелОбмена) Тогда
        Выборка = Документы.ОтчетОРозничныхПродажах.Выбрать(НачалоДня(ТекущаяДата() - 86400), КонецДня(ТекущаяДата()));
        Пока Выборка.Следующий() Цикл
            ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Выборка.Ссылка);
        КонецЦикла;
    КонецЕсли;
    
  4. Проверим чеки в кассовой смене на наличие признаков «Без передачи товара» — убедимся, что услуги продавались как обычный расчет, а не аванс.
  5. В «1С:Бухгалтерии 3.0» проверим активность опции розничной торговли и тип склада (он должен быть АТТ).
  6. Если документы не проводятся после загрузки, откроем Журнал регистрации в БП 3.0, отфильтруем события по источнику «Данные.Синхронизация данных» и исправим ошибки сопоставления аналитик (НДС, статьи ДДС, счета учета доходов/расходов).

Соблюдение этих правил и своевременное обновление правил конвертации объектов гарантируют стабильный и безошибочный перенос розничной выручки от реализации услуг в бухгалтерию. Чтобы быстро проконтролировать результаты синхронизации, имеет смысл запустить автоматическое сравнение проводок в базах 1С для поиска возможных расхождений.

← На главную