Как загрузить поставщиков и их договоры из 1С:БП 3.0 в 1С:УТ 11 при синхронизации?

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

Представьте классическую ситуацию из практики автоматизации: в компании долгое время велся полноценный учет продаж и складских операций в программе 1С:Управление торговлей (УТ 11), но при этом учет денежных средств и взаиморасчеты с поставщиками услуг велись исключительно на стороне 1С:Бухгалтерии предприятия (БП 3.0). В УТ просто не заводили документы списания безналичных денежных средств и поступления услуг.

И вдруг руководство принимает решение: вести казначейство, банк и все взаиморасчеты в управленческой базе УТ 11. Возникает серьезная техническая сложность: в УТ 11 полностью отсутствуют контрагенты-поставщики и их договоры, в то время как в БП 3.0 эта информация накоплена в огромном объеме. Вводить данные вручную — трудозатратно и чревато ошибками дублирования при последующих обменах. Нам необходимо перекачать справочники «назад» из БП 3.0 в УТ 11 с сохранением всех связей.

В этой статье мы подробно разберем по шагам, как настроить типовой обмен через универсальный формат EnterpriseData, чтобы корректно перенести контрагентов, банковские счета и договоры, а также разберем, почему договоры с поставщиками могут «молча» игнорироваться системой при загрузке.

Шаг 1. Настройка выгрузки справочной информации на стороне 1С:Бухгалтерии

По умолчанию в правилах типовой синхронизации между БП 3.0 и УТ 11 часто устанавливается режим «Не отправлять справочную информацию» или «Отправлять только используемую в документах». Это делается для того, чтобы не засорять торговую базу лишней нормативно-справочной информацией (НСИ). Чтобы перенести накопленных контрагентов из БП, нам нужно временно изменить эти правила.

Давайте выполним следующие действия в БП 3.0:

  1. Перейдем в раздел Администрирование — Синхронизация данных — Настройки синхронизации данных.
  2. Выберем нашу настройку обмена с УТ 11 и нажмем кнопку Изменить параметры подключения (или настроить правила отправки данных).
  3. В появившемся окне настроек найдем опцию, отвечающую за отправку справочников. Нам необходимо перевести ее в режим «Отправлять всю» или «Отправлять при необходимости» (в зависимости от релиза конфигурации).
  4. Сохраним настройки.

После изменения этой настройки программа разрешит выгрузку справочников, которые ранее игнорировались фильтрами обмена.

Шаг 2. Регистрация изменений контрагентов для обмена

Для того чтобы данные ушли в УТ 11, их необходимо зарегистрировать к отправке на узле обмена БП. Если мы просто запустим синхронизацию, новые данные не улетучатся сами по себе, так как система отслеживает только вновь измененные объекты.

Для принудительной регистрации воспользуемся встроенным инструментом:

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

После этого запустим синхронизацию со стороны БП 3.0. Данные будут выгружены в файл обмена или отправлены напрямую через веб-сервис/каталог.

Шаг 3. Анализ проблемы загрузки договоров с поставщиками в УТ 11

Очень часто при импорте зарегистрированных данных пользователи сталкиваются со странным поведением: контрагенты, банковские счета и договоры с видом «Прочее» успешно загружаются в УТ 11, а вот договоры с видом «С поставщиком» просто не создаются. При этом Журнал регистрации в УТ 11 не фиксирует никаких ошибок, база загружается «успешно».

Давайте выясним причину этого явления. Дело в том, что в УТ 11 архитектура ведения взаиморасчетов существенно отличается от БП 3.0. В Бухгалтерии договор — это обязательная первичная аналитика расчетов. В Управлении торговлей структура выглядит сложнее:

Партнер (управленческая сущность) -> Контрагент (юридическое лицо) -> Соглашение (условия закупок/продаж) -> Договор (финансовые параметры)

При импорте данных через EnterpriseData в УТ 11 срабатывает алгоритм в модуле менеджера обмена. Проанализируем логику работы обработчика ПОД_Справочник_ДоговорыКонтрагентов_Получение_ПриОбработке:

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

Шаг 4. Способы решения проблемы с договорами поставщиков

Рассмотрим несколько практических вариантов обхода этого ограничения без изменения типового кода конфигураций.

Вариант А. Временное отключение соглашений в УТ 11 (Самый простой способ)

Если на предприятии использование соглашений с поставщиками не является строго обязательным (или вы готовы настроить их позже вручную), самым быстрым решением будет их временное отключение на период первоначального импорта НСИ.

Выполним следующие шаги в УТ 11:

  1. Перейдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Закупки.
  2. В группе настроек Соглашения и договоры с поставщиками снимем флажок Соглашения с поставщиками. При этом флажок Договоры с поставщиками обязательно должен оставаться включенным!
  3. Запустим повторную синхронизацию данных. Теперь алгоритм импорта УТ 11 не будет искать привязку к соглашениям и создаст все договоры с поставщиками напрямую.
  4. После успешного завершения обмена и загрузки всех договоров опцию Соглашения с поставщиками можно снова включить в настройках системы.

Вариант Б. Предварительное создание соглашений

Если в УТ 11 уже ведется активная работа и отключать функциональную опцию соглашений нельзя даже временно, необходимо подготовить базу к приему договоров:

  1. Создайте в УТ 11 для каждого переносимого поставщика Индивидуальное соглашение об условиях закупок (или настройте одно Типовое соглашение, доступное для всех поставщиков).
  2. Убедитесь, что созданные соглашения имеют статус Действует и актуальный период действия.
  3. После этого выполните выгрузку договоров из БП. Система найдет подходящие соглашения по связям контрагентов и успешно запишет договоры.

Вариант В. Использование обработки «Выгрузка загрузка EnterpriseData» для облачных баз

Если базы находятся в облачном сервисе (например, 1С:Фреш), где могут быть ограничения на частоту запусков полных обменов, можно перенести справочники точечно с помощью xml-файла:

  1. В БП 3.0 откроем через меню Функции для технического специалиста стандартную обработку Выгрузка загрузка данных EnterpriseData.
  2. Выберем узел обмена с УТ 11, укажем выгрузку в файл.
  3. В списке объектов отметим только галочками Справочник.Контрагенты, Справочник.ДоговорыКонтрагентов и Справочник.БанковскиеСчета. При необходимости настроим отборы. Выгрузим файл.
  4. В УТ 11 откроем аналогичную обработку Выгрузка загрузка данных EnterpriseData и выполним загрузку полученного файла. Обратите внимание, что перед загрузкой также рекомендуется применить правила из Варианта А.

Таким образом, комбинируя правильную настройку регистрации изменений в БП 3.0 и временное управление функциональными опциями в УТ 11, мы можем быстро и безболезненно перенести всю базу поставщиков с их банковскими реквизитами и договорами, избежав ручного ввода информации и проблем с дублированием объектов при дальнейшей работе.

← На главную