Как настроить синхронизацию возвратов от покупателей между 1С:Розница и 1С:Бухгалтерия 3.0?

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

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

Разберем методологию: почему возвраты «исчезают»?

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

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

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

Проанализируем проблему пустой себестоимости

Одной из самых острых проблем является перенос возвратов с незаполненной колонкой Себестоимость. В 1С:Бухгалтерия 3.0, если ведется партионный учет, документ возврата не может быть проведен без определения стоимости товара. Выясним причину, почему так происходит.

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

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

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

Выясним особенности работы с Enterprise Data (ED)

Многие пользователи используют универсальный формат обмена Enterprise Data. Посмотрим на технические нюансы этого процесса. Как было отмечено опытными коллегами, старые версии формата (например, 1.6) имели ограниченную поддержку передачи розничных возвратов внутри документа ОтчетОРозничныхПродажах.

Если вы столкнулись с тем, что возвраты не переносятся, выполним следующие действия:

Разберем вариант использования правил КД 2.0 вместо Enterprise Data

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

Рассмотрим алгоритм перехода:

  1. Зайдем в список планов обмена через Все функции (Функции для технического специалиста).
  2. Найдем план обмена ОбменРозница20БухгалтерияПредприятия30.
  3. Проверим наличие типовых правил в составе конфигурации.

Преимущество этого метода в том, что старые правила были более жестко ориентированы на создание отдельных документов Возврат товаров от покупателя в БП, что может быть привычнее для бухгалтера.

Практические советы по «реанимации» синхронизации

Если документы уже перенесены с ошибками, или вы хотите предотвратить их появление в будущем, воспользуемся следующими рекомендациями:

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

2. Проверка сопоставления объектов. Часто документы не проводятся, потому что не сопоставлены кассы или терминалы оплаты. Если в возврате фигурирует Эквайринговый терминал, который не «узнан» бухгалтерией, документ может создаться с ошибками в движениях по денежным средствам.

3. Использование расширений. Проанализируем возможность применения расширений конфигурации для БП. Можно написать небольшой код, который будет подставлять себестоимость по среднему значению или из карточки товара, если документ основания не найден. Пример логики кода для подстановки цены:


// Пример упрощенной логики для расширения
Если ЗначениеЗаполнено(СтрокаТовара.Номенклатура) И Не ЗначениеЗаполнено(СтрокаТовара.ДокументРеализации) Тогда
    СтрокаТовара.Себестоимость = ПолучитьСреднююЦенуНоменклатуры(СтрокаТовара.Номенклатура, Объект.Дата);
КонецЕсли;

Подведем итоги

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

Если вы видите пустую себестоимость — ищите причину в отсутствии связи с документом продажи на стороне 1С:Розница. Правильное оформление возврата (строго на основании чека) решает 90% проблем с синхронизацией без участия программиста.

← На главную