Как настроить правила синхронизации Розница - Бухгалтерия, чтобы не переносить возвраты из Отчетов о розничных продажах?

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

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

Шаг 1: Определяем формат обмена

Перед внесением изменений важно понять, какая технология лежит в основе вашей синхронизации: Конвертация данных 2.1 или универсальный формат EnterpriseData (КД 3.0). От этого напрямую зависит способ доработки.

  1. Откройте файл правил обмена (обычно это файл с расширением .xml).
  2. Изучите содержимое файла в текстовом редакторе. Если в заголовке или структуре тегов вы видите ПравилаОбмена или ПравилаКонвертацииОбъектов, значит, вы используете КД 2.1.
  3. Проверьте настройки обмена в 1С. Если в меню присутствует пункт «Переход на синхронизацию данных через универсальный формат», это косвенно подтверждает, что текущий обмен реализован по классической схеме КД 2.1.

Шаг 2: Реализация фильтрации в КД 2.1

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

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

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


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

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

Шаг 3: Особенности работы в EnterpriseData (КД 3.0)

Если вы используете современный формат EnterpriseData, прямое редактирование файлов правил не является рекомендованным подходом. Механизм обмена здесь опирается на XDTO-пакеты.

В этом случае эффективнее применить расширение конфигурации:

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

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

Заключение и рекомендации

Приступая к модификации правил, всегда помните о следующих правилах безопасности:

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

← На главную