Синхронизация данных между конфигурациями «1С:Розница» и «1С:Бухгалтерия предприятия 3.0» (БП) — один из ключевых бизнес-процессов в автоматизации торговых точек. Однако пользователи часто сталкиваются с ситуацией, когда справочники, кассовые ордера и установки цен успешно переносятся, а важнейшие документы — «Отчеты о розничных продажах» (ОРП) — систематически игнорируются обменом. Особенно остро эта проблема проявляется, если организация занимается оказанием услуг, а не продажей материальных товаров. При необходимости выполнять этот процесс по расписанию можно настроить автоматическую регулярную синхронизацию баз 1С без изменения их конфигураций.
В этой статье мы подробно разберем, почему документы ОРП могут не приходить в базу «1С:Бухгалтерия 3.0», как локализовать ошибку, настроить отладку фоновых процессов синхронизации и решить проблему раз и навсегда.
Для начала нам необходимо выяснить, на каком этапе происходит сбой: при выгрузке из «1С:Розница» или при загрузке на стороне «1С:Бухгалтерия». Для этого проанализируем состав отправляемых данных и содержимое файла обмена.
Выполним следующие действия для проверки регистрации объектов к обмену:
ОтчетОРозничныхПродажах. Проверим, зарегистрированы ли измененные документы для отправки. Если список пуст, вызовем принудительную регистрацию нужных документов кнопкой Зарегистрировать одиночный объект или перепроведем документы в базе.Если документы зарегистрированы к обмену, но в бухгалтерию они все равно не попадают, нам нужно проверить физическое наличие этих документов в XML-файле выгрузки. Для этого временно настроим обмен через локальный каталог:
Document.RetailSalesReport).Если поиск не дал результатов и теги документов в XML отсутствуют, значит, проблема находится на стороне «1С:Розница» — правила обмена по какой-то причине отсекают эти документы при формировании пакета. Если же документы в файле присутствуют, но в БП не создаются — проблема на стороне «1С:Бухгалтерия».
Когда стандартные средства диагностики не помогают определить причину «тихого» исчезновения документов, необходимо прибегнуть к механизму отладки фоновых заданий в Конфигураторе. Поскольку обмен выполняется в фоновом режиме, обычные точки останова в коде программы не сработают без специальной настройки среды разработки.
Разберем по шагам, как правильно настроить отладку фонового процесса синхронизации:
МенеджерОбменаЧерезУниверсальный (или аналогичный модуль правил обмена вашей версии конфигурации).ИмяДокумента_ПриОтправкеДанных или содержит алгоритм заполнения свойств ОРП.После прохождения этих шагов запустим синхронизацию данных из пользовательского режима «1С:Предприятия». Программа автоматически переключится на Конфигуратор и остановится в выбранной точке. Теперь мы можем пошагово (клавишей F10) отследить, на каком этапе алгоритм выгрузки решает пропустить или очистить структуру нашего документа. Для упрощения этого процесса можно применить расширение для отладки обмена через Универсальный формат.
Выясним частую причину, почему документы ОРП, содержащие только услуги (без товарных позиций), могут полностью игнорироваться правилами конвертации.
В типовых конфигурациях «1С:Предприятие» заложен жесткий алгоритм разделения сущностей. Документ «Отчет о розничных продажах» исторически предназначен для отражения розничной выручки и одновременного списания материальных запасов (товаров) со складов компании. Если в табличной части документа присутствуют исключительно позиции с типом номенклатуры Услуга, то старые версии правил обмена EnterpriseData могли расценивать такой документ как ошибочный или пустой, поскольку реального движения товаров по складу не происходит.
В коде общего модуля обмена это может выглядеть следующим образом:
Процедура ПередВыгрузкойДокумента(ДанныеИБ, Отказ)
// Если в документе нет товарных строк, правила могут выставить Отказ = Истина
Если ТолькоУслугиВТабличнойЧасти(ДанныеИБ) Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Решение этой проблемы кроется в синхронном обновлении конфигураций. В актуальных релизах «1С:Розница» и «1С:Бухгалтерия 3.0» разработчики исправили эту архитектурную недоработку. Правила обмена корректно обрабатывают услуги в составе ОРП и без проблем транслируют их в бухгалтерию. Важно помнить, что правила обмена жестко завязаны на структуру метаданных обеих баз. Если вы обновили «1С:Розницу», но оставили старую версию «1С:Бухгалтерии» (или наоборот), макет правил обмена ОбменРозницаБухгалтерияПредприятия30 потеряет совместимость, и выгрузка услуг снова сломается.
Еще один неочевидный нюанс кроется в специфике работы кассиров в интерфейсе РМК (рабочего места кассира) в «1С:Розница». Если кассир пробивает чек с признаком способа расчета «Без передачи товара» (например, при получении предоплаты или аванса от покупателя), поведение системы кардинально меняется:
ПоступлениеНаличных с видом операции «Розничная выручка» или оплаты по картам) с отнесением сумм на счет расчетов по авансам (62.02 или 62.32).Проанализируем продажи и исключим человеческий фактор: кассиры могли ошибочно выбирать признак «Без передачи товара» при стандартной продаже услуг день в день. Это приводит к тому, что ОРП в бухгалтерию приходит «пустым» или не приходит вовсе, а выручка зависает на счетах учета авансов.
Даже если файл обмена успешно сформирован в «1С:Розница» и передан в БП, документы ОРП могут не создаться в интерфейсе бухгалтерии, если в целевой базе не выполнены базовые настройки учета розницы. Проверим следующие параметры:
Перейдем в раздел Главное — Функциональность, выберем вкладку Торговля и убедимся, что установлен флаг Розничная торговля. Без этой опции документы розничных продаж скрыты из интерфейса конфигурации и блокируются механизмами загрузки.
Тип склада в «1С:Бухгалтерии», на который загружаются продажи, должен иметь вид Розничный магазин (АТТ — автоматизированная торговая точка). Если при автоматическом создании склада в БП ему по ошибке присвоился тип Неавтоматизированная торговая точка (НТТ), программа будет ожидать суммовой учет, а детальный попозиционный отчет о продажах услуг загружен не будет.
Для услуг должны быть четко определены счета доходов и расходов (90.01.1 и 90.02.1), а также счета учета НДС. Настроить их можно в регистре сведений Счета учета номенклатуры для группы или конкретных позиций услуг.
Подводя итог, сформируем последовательность действий для гарантированного восстановления выгрузки отчетов о розничных продажах:
// Пример программной регистрации документов для принудительной отправки
УзелОбмена = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("БП");
Если ЗначениеЗаполнено(УзелОбмена) Тогда
Выборка = Документы.ОтчетОРозничныхПродажах.Выбрать(НачалоДня(ТекущаяДата() - 86400), КонецДня(ТекущаяДата()));
Пока Выборка.Следующий() Цикл
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Выборка.Ссылка);
КонецЦикла;
КонецЕсли;
Соблюдение этих правил и своевременное обновление правил конвертации объектов гарантируют стабильный и безошибочный перенос розничной выручки от реализации услуг в бухгалтерию. Чтобы быстро проконтролировать результаты синхронизации, имеет смысл запустить автоматическое сравнение проводок в базах 1С для поиска возможных расхождений.