Как выборочно выгружать документы из «1С:Розница 2.2» и загружать в «1С:Бухгалтерия предприятия 3.0»?

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

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

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

1. Настройка выборочной выгрузки документов (ручная регистрация)

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

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

  1. Откроем раздел Администрирование, перейдем в пункт Синхронизация данных и выберем Настройки синхронизации.
  2. В списке настроек найдем наш обмен с БП 3.0. На панели управления нажмем кнопку Состав отправляемых данных (иконка в виде монитора с круговой стрелкой).
  3. Перед нами откроется дерево всех объектов конфигурации, которые зарегистрированы к отправке. В колонке «Количество» отображается число подготовленных к выгрузке документов и справочников.
  4. Чтобы очистить весь список автоматической регистрации, выделим корневой узел дерева и нажмем кнопку Отменить регистрацию. Теперь счетчики всех объектов обнулятся, и при запуске обмена ничего лишнего отправлено не будет.
  5. Для выбора конкретных документов (например, только приходных накладных) найдем в дереве объект Документ.ПоступлениеТоваров (или «Поступление товаров»).
  6. Нажмем правой кнопкой мыши по этому объекту и выберем команду Зарегистрировать одиночный объект. В открывшемся списке документов отметим флагами те приходные накладные, которые мы хотим перенести.
  7. Альтернативный вариант — использовать команду Зарегистрировать изменения по отбору. Здесь мы можем задать жесткие условия, например: «Период равен Текущему месяцу» или «Склад равен Основному складу». Программа автоматически зарегистрирует только те документы, которые соответствуют нашему фильтру.
  8. Закроем окно состава отправляемых данных и запустим процесс синхронизации кнопкой Синхронизировать. Начнется выгрузка исключительно выбранных нами накладных.

2. Как переносятся связанные справочники и документы?

Частый вопрос пользователей: что произойдет со справочниками Номенклатура, Контрагенты, Договоры контрагентов и другими реквизитами, которые присутствуют внутри выбранной накладной?

Проанализируем этот механизм работы платформы 1С:

3. Механизм предотвращения дублей: уникальные идентификаторы (GUID)

Рассмотрим, как программа понимает, что документ или контрагент уже были перенесены ранее, и как она избегает дублирования информации.

Каждый объект в любой базе данных 1С имеет свой скрытый системный реквизит — УникальныйИдентификатор (GUID), представляющий собой 36-символьную строку формата xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. При обмене данными сопоставление происходит по следующему алгоритму:

  1. При первой загрузке объекта (например, контрагента) из Розницы в БП программа проверяет наличие связи в специальном регистре сведений. Этот регистр называется РегистрСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов.
  2. Если запись о соответствии GUID из Розницы и GUID в БП отсутствует, программа пытается найти объект по полям поиска. Для справочника Контрагенты это обычно ИНН и КПП, а для справочника Номенклатура — Артикул или Наименование.
  3. Если объект найден по ключевым полям, программа сопоставляет их: она связывает GUID объекта из Розницы с GUID уже существующего объекта в БП и делает запись в регистр публичных идентификаторов.
  4. Если по ключевым полям совпадений не найдено, создается новый элемент справочника в БП 3.0. Связь также фиксируется в регистре.
  5. При всех последующих выгрузках этого же документа или справочника поиск будет выполняться напрямую по идентификатору из регистра сопоставления. Даже если вы измените наименование поставщика в одной из баз, повторная загрузка документа не создаст дубль, а лишь обновит существующий объект.

4. Программная регистрация объектов для обмена (для разработчиков)

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


// Определим узел плана обмена, по которому настроена синхронизация
УзелОбмена = Неопределено;
ВыборкаУзлов = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
    // Исключаем предопределенный узел (это наша текущая база)
    Если ВыборкаУзлов.Ссылка <> ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.ЭтотУзел() Тогда
        УзелОбмена = ВыборкаУзлов.Ссылка;
        Прервать;
    КонецЕсли;
КонецЦикла;

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

5. Настройка распределения по организациям в многофирменном учете

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

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

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

6. Пошаговый алгоритм безопасного запуска синхронизации на копиях баз

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

  1. Создайте резервные копии (файлы формата .dt) баз «1С:Розница» и «1С:Бухгалтерия предприятия». Разверните их на тестовом сервере или локальном компьютере под другими именами.
  2. Запустите тестовую базу «1С:Розница». Перейдите в раздел Администрирование -> Синхронизация данных. Убедитесь, что установлен флаг Синхронизация данных.
  3. Перейдите по ссылке Настройки синхронизации данных, выберите создание нового обмена с «Бухгалтерия предприятия, редакция 3.0» и следуйте указаниям помощника.
  4. На этапе настройки правил отправки обязательно задайте параметры выборочной выгрузки справочников (только используемые в документах) и укажите отборы по организациям.
  5. При первой синхронизации программа приостановит процесс на этапе Сопоставление данных. Откроется специальное интерактивное окно. Внимательно проанализируйте сопоставленные объекты. Синие маркеры укажут на объекты, которые программа сомневается сопоставить автоматически. Сопоставьте контрагентов и номенклатуру вручную по ключевым реквизитам, чтобы исключить задваивание.
  6. После завершения сопоставления выполните выгрузку и проверьте результат в тестовой базе БП 3.0. Убедитесь, что перенеслись только запланированные документы, они корректно заполнены и проводятся без ошибок.

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

← На главную