При настройке обмена данными между конфигурациями, например, при переносе документов из Комплексная автоматизация 2.4 в Бухгалтерия предприятия 3.0 с помощью Конвертация данных 2.1, часто возникает необходимость задать жесткое значение для определенного реквизита. Рассмотрим, как правильно присвоить значение реквизиту (например, валюте документа) так, чтобы объект находился именно в базе-приемнике.
Когда документ уже создан в базе-приемнике, но требует дозаполнения данными, которые не передаются из источника напрямую, оптимально использовать событие После загрузки. В этом обработчике мы можем обратиться к менеджерам справочников базы-приемника.
Для присвоения валюты с кодом «643» выполним следующие шаги:
Конвертация данных 2.1.Правила конвертации объектов (ПКО) для нужного документа, например, Приходный кассовый ордер.После загрузки и впишите туда код, который обеспечит поиск элемента непосредственно в текущей базе:
// Находим ссылку на валюту в базе-приемнике по коду
ВалютаСсылка = Справочники.Валюты.НайтиПоКоду("643");
// Присваиваем найденное значение реквизиту объекта
Объект.ВалютаДокумента = ВалютаСсылка;
Важное замечание: Мы рекомендуем всегда добавлять проверку на заполненность найденного значения, чтобы избежать ошибок при записи документа в случае, если валюта с таким кодом отсутствует в системе.
ВалютаСсылка = Справочники.Валюты.НайтиПоКоду("643");
Если ЗначениеЗаполнено(ВалютаСсылка) Тогда
Объект.ВалютаДокумента = ВалютаСсылка;
КонецЕсли;
Если вы хотите, чтобы значение подставлялось на этапе подготовки данных, можно использовать правило конвертации свойства (ПКС). В этом случае в поле Перед выгрузкой для конкретного свойства нужно указать выражение, которое выполнится на стороне приемника.
В настройках ПКС для свойства ВалютаДокумента укажите следующее выражение:
Выражение = "Справочники.Валюты.НайтиПоКоду(""643"")";
Этот метод удобен тем, что позволяет переопределить логику заполнения конкретного поля, не затрагивая общий процесс загрузки всего объекта.
При использовании метода НайтиПоКоду важно учитывать несколько технических нюансов, чтобы обмен проходил корректно:
Справочники.Валюты.РоссийскийРубль, если такой предопределенный элемент существует в вашей версии Бухгалтерия предприятия 3.0.ВалютаДокумента является обязательным для проведения, убедитесь, что ваш код гарантированно находит ссылку. Если поиск вернет «пустую ссылку», документ может записаться с ошибкой или вовсе не записаться, что приведет к сбою загрузки.Использование предложенных методов позволяет гибко настраивать правила обмена, не прибегая к сложной модификации конфигураций, а решая задачу средствами самой Конвертации данных. Выбирайте вариант, который кажется вам наиболее прозрачным для поддержки: использование После загрузки дает больше контроля над уже сформированным объектом, а Перед выгрузкой позволяет задать логику заполнения на уровне самого свойства.