Коллеги, подскажите как сделать правило конвертации правильно. Задача следующая, переношу документы из Комплексной автоматизации 1 в КА 2. В некоторых документах КА 1 у номенклатуры есть характеристики, но они не выбраны в выгружаемом документе, и после этого при проведения документа приемника в КА 2, система ругается, пишет что не выбрана характеристика в документе, решили создавать характеристику "без характеристики" и подставлять ее, но руками это делать долго. Так описать в ПКД проверку на характеристику в документе приемнике и если её нет, то создавать "без характеристике" и вставлять её? ну или хотя бы посоветуйте хороший источник информации по созданию правил конвертации.
---
Коллеги, всем спасибо помощь, попробовал по разному, написал код в событии "После загрузки" там и подтягиваю всё что необходимо. Немного разобрался, но хотелось бы более подробнее изучить конвертацию
---
Нет под руками КД, но насколько помню у объекта есть событие "ПослеЗагрузки" или как-то так
---
В событии после загрузки ставишь условие типа: Если НЕ ЗначениеЗаполнено(Объект.Характеристика) Тогда Объект.Характеристика = НЕОПРЕДЕЛЕНО КонецЕсли. Как-то так.
---
Обработчик ПослеЗагрузки
Вот так я создаю договор контрагента.
Сначала ищу его в базе, а если не найден, то создаю.

```1c
    ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ДоговорыКонтрагентов.Ссылка,
    | ДоговорыКонтрагентов.Владелец,
    | ДоговорыКонтрагентов.Организация,
    | ДоговорыКонтрагентов.ВидДоговора
    |ИЗ
    | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    |ГДЕ
    | ДоговорыКонтрагентов.Владелец = &Владелец
    | И ДоговорыКонтрагентов.Организация = &Организация
    | И ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора";

    Запрос.УстановитьПараметр("ВидДоговора", Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
    Запрос.УстановитьПараметр("Владелец", Объект.Контрагент);
    Запрос.УстановитьПараметр("Организация", Объект.Организация);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ДоговорКонтрагента = ВыборкаДетальныеЗаписи.Ссылка;
    Прервать;
    КонецЦикла;

    Если ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
    ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
    ДоговорКонтрагента.Владелец = Объект.Контрагент;
    ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
    ДоговорКонтрагента.Организация = Объект.Организация;
    ДоговорКонтрагента.Наименование = "Договор на скупку ценностей";
    ДоговорКонтрагента.ВалютаВзаиморасчетов = Константы.ВалютаРегламентированногоУчета.Получить();
    ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
    ДоговорКонтрагента.Записать();
    КонецЕсли;
    Объект.ДоговорКонтрагента = ДоговорКонтрагента.Ссылка;
```
---
как-то так:

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