Мы сталкиваемся с распространенной проблемой при настройке синхронизации данных между конфигурациями 1С:Управление торговлей (УТ) 11.4 и 1С:Бухгалтерия предприятия (БП) 3.0, когда документ "Перемещение товаров" не становится на регистрацию для обмена или, после принудительной регистрации, помечается на удаление в базе-приемнике. Разберем по шагам причины такого поведения системы и предложим пути решения.
Прежде всего, давайте проясним, что сообщение, которое вы изначально интерпретировали как "ошибку" при попытке регистрации объекта, является на самом деле штатным уведомлением системы 1С. Это уведомление информирует нас о том, что регистрируемый документ "Перемещение товаров" не соответствует установленным правилам и фильтрам для обмена данными. Для более гибкой настройки таких ограничений можно использовать расширение для произвольного отбора по реквизитам документов при обмене через EnterpriseData.
Флаг "Использовать при регистрации изменений объектов ограничения миграции данных" играет здесь ключевую роль. Когда этот флаг включен, система перед тем, как поставить объект в очередь на обмен, производит проверку: должен ли этот объект быть выгружен в базу-приемник в соответствии с текущими настройками синхронизации. Критерии для этой проверки могут быть самыми разнообразными, и мы рассмотрим основные из них:
Когда мы снимаем этот флаг, мы фактически говорим системе: "Несмотря на твои проверки, я хочу принудительно зарегистрировать этот объект к обмену". Это позволяет документу встать на регистрацию, обходя первоначальные фильтры. Однако, как мы увидим далее, это не решает проблему кардинально.
Поведение системы, при котором документ "Перемещение товаров" в базе 1С:Бухгалтерия предприятия помечается на удаление, является логичным и предсказуемым следствием отключения флага "Использовать при регистрации изменений объектов ограничения миграции данных". Давайте разберем этот процесс.
Механизм синхронизации данных в 1С работает в несколько этапов:
Так вот, хотя принудительная регистрация и состоялась (потому что мы отключили флаг), в момент формирования сообщения для отправки в БП система повторно анализирует данные. Поскольку документ "Перемещение товаров" по-прежнему не соответствует настроенным правилам выгрузки и отборам, с точки зрения механизма синхронизации, этого объекта в базе-приемнике быть не должно. Он воспринимается как "лишний" или не соответствующий актуальным правилам.
Поэтому в БП отправляется не команда на изменение или создание документа, а команда на его удаление. Система фактически говорит: "В базе-источнике этот документ не должен выгружаться согласно правилам, значит, в базе-приемнике он тоже не должен существовать".
Подобное поведение мы часто наблюдаем, когда объект в базе-источнике (УТ) изменяется таким образом, что перестает удовлетворять настроенным фильтрам, или когда фильтры обмена меняются, а старые объекты, ранее выгруженные, теперь им не соответствуют.
Один из критически важных моментов, который мы выяснили в ходе анализа ситуации, это упоминание вами "правил регистрации от 19 мая 2021" и наличие в дистрибутиве обновления 1С обработки "ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат".
Для современных версий конфигураций "Управление торговлей 11" и "Бухгалтерия предприятия 3.0" фирма "1С" произвела существенный переход на новую, более унифицированную и мощную технологию обмена — синхронизацию через универсальный формат EnterpriseData. Это фундаментальное изменение в механизмах обмена данными.
Что это означает на практике?
ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат: Если эта обработка присутствует в дистрибутиве вашего обновления, это прямой сигнал о том, что ваша текущая настройка обмена, скорее всего, использует устаревшую схему. Эта обработка предназначена для того, чтобы помочь нам мигрировать существующие настройки обмена на новый универсальный формат.Использование старых правил с новыми релизами конфигураций — это прямой путь к самым разнообразным и труднодиагностируемым ошибкам, включая некорректную регистрацию объектов, их неправильное сопоставление, ошибки при конвертации данных, и, конечно же, необъяснимую пометку на удаление. Система пытается работать по новым стандартам, но получает инструкции по старым правилам, что приводит к конфликтам. Для решения проблем с битыми ссылками при сопоставлении можно воспользоваться инструментом для исправления правил обмена справочников.
Мы должны понимать, что решение проблемы, скорее всего, лежит не в тонкой настройке старых правил или манипуляциях с флагами, а в полноценном переходе на современный механизм синхронизации.
Хотя основной причиной, вероятно, является устаревшая схема обмена, мы также должны рассмотреть другие потенциальные факторы, которые могут влиять на процесс синхронизации, чтобы обеспечить комплексное решение.
Как мы уже обсуждали, это одна из самых частых причин проблем. Мы должны внимательно проверить, какие фильтры установлены в нашей настройке синхронизации данных. Это касается не только организаций, но и других параметров, таких как:
НСИ и Администрирование -> Настройки синхронизации данных -> Настройки синхронизации данных
Мы должны убедиться, что все реквизиты проблемного документа "Перемещение товаров" соответствуют заданным фильтрам.
Хотя вы указали, что используете последние версии УТ и БП, всегда полезно перепроверить совместимость релизов. Фирма "1С" регулярно публикует информацию о минимально совместимых версиях для корректной работы синхронизации. Если версии конфигураций не полностью согласованы (например, УТ обновили, а БП — нет, или наоборот), это может приводить к ошибкам в обмене, даже если правила обмена актуальны. Мы должны убедиться, что обе конфигурации обновлены до последних стабильных релизов, которые заявлены как совместимые для синхронизации.
Иногда проблемы могут возникать из-за того, что система не может однозначно сопоставить объекты в двух базах. Это происходит, когда объекты имеют одинаковые ключевые реквизиты (например, наименование или код), но разные уникальные идентификаторы (GUID). При синхронизации 1С старается найти соответствующий объект в базе-приемнике. Если сопоставление происходит некорректно, система может создавать дублирующие объекты, игнорировать изменения или, как в вашем случае, пытаться удалить "неправильный" объект.
Для диагностики этой проблемы мы можем использовать стандартные средства 1С. В настройках синхронизации данных есть функционал для просмотра и ручного сопоставления объектов. Мы должны зайти в НСИ и Администрирование -> Настройки синхронизации данных -> Сопоставление объектов и проверить сопоставление ключевых справочников и объектов, участвующих в документе "Перемещение товаров" (например, номенклатура, склады, организации).
В редких случаях проблема может быть связана с повреждением служебных данных обмена (регистров сведений регистрации изменений). Это может произойти из-за сбоев, некорректных завершений работы или других технических проблем. В таких ситуациях может помочь полная перенастройка синхронизации или очистка данных регистрации изменений (это следует делать крайне осторожно и только после создания резервной копии!).
Рассмотрев все эти аспекты, мы теперь можем предложить наиболее эффективный порядок действий для устранения проблемы.
Вместо того чтобы вручную отключать флаги, использовать внешние обработки или пытаться "починить" устаревшие правила, мы рекомендуем полностью перенастроить синхронизацию с нуля, используя актуальный для современных конфигураций помощник настройки. Разберем шаги:
Это критически важный первый шаг. Перед любыми изменениями в настройках синхронизации или удалением существующих обменов, мы должны обязательно создать актуальные резервные копии обеих информационных баз — 1С:Управление торговлей и 1С:Бухгалтерия предприятия. Это позволит нам восстановить системы в случае непредвиденных проблем.
Если вы обнаружили эту обработку в дистрибутиве обновления, значит, ваша текущая синхронизация настроена по старой схеме. Мы должны найти и запустить эту обработку в каждой из баз. Ее цель — помочь системе подготовиться к новому формату обмена. Следуйте инструкциям обработки. Она может предложить удалить старые настройки обмена или обновить служебные данные.
После создания резервных копий и, возможно, выполнения обработки перехода, мы рекомендуем удалить старые настройки синхронизации данных в обеих базах. Это позволит нам начать с чистого листа, избежав конфликтов и "хвостов" от устаревших правил.
Для этого мы переходим в НСИ и Администрирование -> Настройки синхронизации данных, выбираем нашу настройку и используем команду "Удалить". В процессе удаления система может предложить очистить данные регистрации изменений — это рекомендуется сделать, чтобы избежать повторных выгрузок старых данных.
Теперь мы приступаем к созданию новой синхронизации. Мы должны использовать типовой помощник настройки, который доступен в современных версиях 1С.
НСИ и Администрирование -> Настройки синхронизации данных -> Настроить синхронизацию данных
Помощник автоматически создаст правила обмена в универсальном формате EnterpriseData.
Это самый важный этап после создания новой синхронизации. Мы должны очень внимательно настроить правила отправки и получения данных:
НСИ и Администрирование -> Настройки синхронизации данных, выберем ее и нажмем "Настроить правила отправки и получения данных".Именно здесь мы исключаем возникновение уведомлений об "ограничениях миграции данных", поскольку настроим правила таким образом, чтобы они соответствовали нашим реальным потребностям.
После полной настройки запустим первый обмен. Рекомендуем выполнить его в ручном режиме, чтобы мы могли контролировать процесс.
После того как мы убедились в корректности ручных обменов, мы можем снова настроить регламентное задание для автоматической синхронизации по запланированному времени (например, каждые 15 минут), как это было у вас ранее.
Следуя этим рекомендациям, мы сможем не только решить текущую проблему с документом "Перемещение товаров", но и обеспечить надежную и стабильную работу синхронизации данных между УТ 11.4 и БП 3.0, используя современные и поддерживаемые механизмы 1С.