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