Почему справочник договоров контрагентов переносится не полностью при конвертации данных?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

Разберем основные причины такого поведения конвертации и пошагово рассмотрим способы их устранения.

Причина 1: Создание объектов только по ссылкам из документов

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

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

Проанализируем шаги для исправления этой ситуации:

  1. Выгрузка справочника отдельным правилом: убедимся, что в дереве ПВД настроена отдельная выгрузка справочника ДоговорыКонтрагентов. Рекомендуется поднять выгрузку справочников выше выгрузки документов, чтобы нормативно-справочная информация создавалась в базе-приемнике первой.
  2. Проверка флагов в ПКО документов: перейдем в ПКО каждого документа, где фигурирует договор, откроем ПКС для свойства ДоговорКонтрагента и проверим, снят ли флаг «Не выгружать объекты свойств источника по ссылкам», если требуется полная передача реквизитов вместе с документом.
  3. Регистрация изменений: если перенос выполняется через план обмена, убедимся, что для выгрузки зарегистрированы все элементы справочника ДоговорыКонтрагентов, а не только измененные документы.

Причина 2: Флаги замещения существующих объектов при загрузке

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

Разберем, на какие параметры настройки следует обратить внимание:

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

Причина 3: Ошибки сопоставления ссылочного реквизита «Организация»

Если среди пустых реквизитов всегда оказывается Организация, причина часто кроется в правиле конвертации для самого типа справочника Организации.

Рассмотрим диагностику связей ссылочных реквизитов:

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

Причина 4: Кэширование правил обмена и повторное использование сеанса

При отладке правил обмена в конфигурации «Конвертация данных» разработчики часто вносят исправления, выгружают правила в XML-файл, но при повторном запуске обмена изменения не применяются.

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

← На главную