Почему документ "Перемещение товаров" не регистрируется для синхронизации между 1С:УТ 11.4 и 1С:БП 3.0, или помечается на удаление при отключении флага ограничений?

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

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

Понимание уведомления "Ограничения миграции данных"

Прежде всего, давайте проясним, что сообщение, которое вы изначально интерпретировали как "ошибку" при попытке регистрации объекта, является на самом деле штатным уведомлением системы 1С. Это уведомление информирует нас о том, что регистрируемый документ "Перемещение товаров" не соответствует установленным правилам и фильтрам для обмена данными. Для более гибкой настройки таких ограничений можно использовать расширение для произвольного отбора по реквизитам документов при обмене через EnterpriseData.

Флаг "Использовать при регистрации изменений объектов ограничения миграции данных" играет здесь ключевую роль. Когда этот флаг включен, система перед тем, как поставить объект в очередь на обмен, производит проверку: должен ли этот объект быть выгружен в базу-приемник в соответствии с текущими настройками синхронизации. Критерии для этой проверки могут быть самыми разнообразными, и мы рассмотрим основные из них:

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

Когда мы снимаем этот флаг, мы фактически говорим системе: "Несмотря на твои проверки, я хочу принудительно зарегистрировать этот объект к обмену". Это позволяет документу встать на регистрацию, обходя первоначальные фильтры. Однако, как мы увидим далее, это не решает проблему кардинально.

Причина пометки на удаление документа "Перемещение товаров" в 1С:Бухгалтерии

Поведение системы, при котором документ "Перемещение товаров" в базе 1С:Бухгалтерия предприятия помечается на удаление, является логичным и предсказуемым следствием отключения флага "Использовать при регистрации изменений объектов ограничения миграции данных". Давайте разберем этот процесс.

Механизм синхронизации данных в 1С работает в несколько этапов:

  1. Этап 1: Регистрация изменений. На этом этапе система в базе-источнике (в нашем случае УТ) определяет, какие объекты были изменены или созданы с момента последнего обмена, и должны быть зарегистрированы для выгрузки. Именно на этом этапе работает упомянутый флаг и связанные с ним ограничения. Если мы отключаем флаг, документ принудительно попадает в список на регистрацию, игнорируя фильтры.
  2. Этап 2: Формирование сообщения обмена. После регистрации изменений, когда подходит время для сеанса обмена, система начинает формировать пакет данных для отправки в базу-приемник (БП). На этом этапе происходит повторный, более глубокий анализ: система проверяет, соответствует ли каждый зарегистрированный объект всем настроенным правилам выгрузки и отборам.

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

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

Подобное поведение мы часто наблюдаем, когда объект в базе-источнике (УТ) изменяется таким образом, что перестает удовлетворять настроенным фильтрам, или когда фильтры обмена меняются, а старые объекты, ранее выгруженные, теперь им не соответствуют.

Ключевая причина: Устаревшие правила обмена и переход на "Универсальный формат EnterpriseData"

Один из критически важных моментов, который мы выяснили в ходе анализа ситуации, это упоминание вами "правил регистрации от 19 мая 2021" и наличие в дистрибутиве обновления 1С обработки "ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат".

Для современных версий конфигураций "Управление торговлей 11" и "Бухгалтерия предприятия 3.0" фирма "1С" произвела существенный переход на новую, более унифицированную и мощную технологию обмена — синхронизацию через универсальный формат EnterpriseData. Это фундаментальное изменение в механизмах обмена данными.

Что это означает на практике?

  1. Устаревшие правила не актуальны: Старые правила обмена, которые поставлялись в виде отдельных XML-файлов и, вероятно, датируются 2021 годом (или ранее), больше не являются актуальными и не поддерживаются для полноценной и корректной работы с последними релизами конфигураций. Они могли работать с предыдущими версиями, но с новыми релизами возникают несовместимости.
  2. Универсальный формат EnterpriseData: Это стандартизированный формат, который позволяет обмениваться данными между различными конфигурациями 1С (и даже не 1С системами) более гибко и надежно. Он встроен непосредственно в конфигурации и управляется через типовые помощники настройки, а не через внешние файлы правил.
  3. Обработка ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат: Если эта обработка присутствует в дистрибутиве вашего обновления, это прямой сигнал о том, что ваша текущая настройка обмена, скорее всего, использует устаревшую схему. Эта обработка предназначена для того, чтобы помочь нам мигрировать существующие настройки обмена на новый универсальный формат.

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

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

Дополнительные возможные причины проблемы и рекомендации

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

  1. Неверные настройки отборов в синхронизации:

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

    • Склады: Возможно, документ "Перемещение товаров" задействует склады, которые исключены из обмена. Мы должны перейти в раздел
      
      НСИ и Администрирование -> Настройки синхронизации данных -> Настройки синхронизации данных
      
      , выбрать нашу настройку и внимательно просмотреть вкладки с отборами, особенно те, что касаются документов "Перемещение товаров" и используемых в них объектов (склады, организации, подразделения).
    • Подразделения: Аналогично складам.
    • Номенклатура: Иногда отборы могут быть настроены по группам номенклатуры или отдельным позициям, и перемещаемые товары не попадают под эти критерии.
    • Договоры, проекты: В зависимости от сложности настройки, могут быть и другие отборы.

    Мы должны убедиться, что все реквизиты проблемного документа "Перемещение товаров" соответствуют заданным фильтрам.

  2. Несоответствие версий конфигураций:

    Хотя вы указали, что используете последние версии УТ и БП, всегда полезно перепроверить совместимость релизов. Фирма "1С" регулярно публикует информацию о минимально совместимых версиях для корректной работы синхронизации. Если версии конфигураций не полностью согласованы (например, УТ обновили, а БП — нет, или наоборот), это может приводить к ошибкам в обмене, даже если правила обмена актуальны. Мы должны убедиться, что обе конфигурации обновлены до последних стабильных релизов, которые заявлены как совместимые для синхронизации.

  3. Ошибки сопоставления объектов:

    Иногда проблемы могут возникать из-за того, что система не может однозначно сопоставить объекты в двух базах. Это происходит, когда объекты имеют одинаковые ключевые реквизиты (например, наименование или код), но разные уникальные идентификаторы (GUID). При синхронизации 1С старается найти соответствующий объект в базе-приемнике. Если сопоставление происходит некорректно, система может создавать дублирующие объекты, игнорировать изменения или, как в вашем случае, пытаться удалить "неправильный" объект.

    Для диагностики этой проблемы мы можем использовать стандартные средства 1С. В настройках синхронизации данных есть функционал для просмотра и ручного сопоставления объектов. Мы должны зайти в НСИ и Администрирование -> Настройки синхронизации данных -> Сопоставление объектов и проверить сопоставление ключевых справочников и объектов, участвующих в документе "Перемещение товаров" (например, номенклатура, склады, организации).

  4. Повреждение данных обмена:

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

Рассмотрев все эти аспекты, мы теперь можем предложить наиболее эффективный порядок действий для устранения проблемы.

Рекомендуемый порядок действий по устранению проблемы

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

  1. Создание резервных копий:

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

  2. Проверка и выполнение обработки "ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат":

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

  3. Удаление существующих настроек синхронизации:

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

    Для этого мы переходим в НСИ и Администрирование -> Настройки синхронизации данных, выбираем нашу настройку и используем команду "Удалить". В процессе удаления система может предложить очистить данные регистрации изменений — это рекомендуется сделать, чтобы избежать повторных выгрузок старых данных.

  4. Создание новой синхронизации данных через типовой помощник:

    Теперь мы приступаем к созданию новой синхронизации. Мы должны использовать типовой помощник настройки, который доступен в современных версиях 1С.

    • Запустим помощник создания новой синхронизации в одной из баз (например, в УТ):
      
      НСИ и Администрирование -> Настройки синхронизации данных -> Настроить синхронизацию данных
      
      .
    • Выберем вариант синхронизации (например, "Бухгалтерия предприятия, редакция 3.0").
    • Пройдем все шаги помощника, внимательно заполняя параметры:
      1. Вариант обмена: Укажем, что обмен будет осуществляться через файл на диске или FTP-ресурс, как вы это делали ранее.
      2. Начальная выгрузка: На первом этапе, если базы не пусты, мы можем выбрать полную выгрузку, чтобы убедиться, что все необходимые объекты перенесутся.
      3. Параметры соединения: Настроим путь к каталогу обмена или FTP.

    Помощник автоматически создаст правила обмена в универсальном формате EnterpriseData.

  5. Детальная настройка фильтров и отборов:

    Это самый важный этап после создания новой синхронизации. Мы должны очень внимательно настроить правила отправки и получения данных:

    • Перейдем в нашу новую настройку синхронизации: НСИ и Администрирование -> Настройки синхронизации данных, выберем ее и нажмем "Настроить правила отправки и получения данных".
    • Внимательно просмотрим каждую вкладку, касающуюся обмена документами "Перемещение товаров" и связанных с ними справочников.
    • Убедимся, что все организации, склады, подразделения и другие параметры, которые используются в документах "Перемещение товаров", участвуют в обмене. Отключим все лишние отборы, которые могут препятствовать выгрузке.
    • Проверим настройки по дате начала выгрузки данных.

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

  6. Выполнение тестового обмена и мониторинг:

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

    • Внимательно отследим логи обмена на предмет ошибок.
    • Проверим в базе-приемнике (БП), что документы "Перемещение товаров" корректно создаются/изменяются и не помечаются на удаление.
    • Протестируем создание нового документа "Перемещение товаров" в УТ и убедимся, что он регистрируется и корректно переносится в БП.
  7. Настройка регламентного задания:

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

Следуя этим рекомендациям, мы сможем не только решить текущую проблему с документом "Перемещение товаров", но и обеспечить надежную и стабильную работу синхронизации данных между УТ 11.4 и БП 3.0, используя современные и поддерживаемые механизмы 1С.

← На главную