Возможно, есть более простые варианты реализации задачи, сообщите в комментариях, добавлю.
Для поиска элемента в базе приемнике нужно поставить флажки "Поиск объекта при загрузке по свойству", "Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден":
Также можно принудительно задать поля поиска в обработчике "Поля поиска" в ПКО справочника "Контрагенты":
Далее остается как-то получать вид договора из документа и использовать его в обработчике "Поля поиска".
В обработчик "Перед выгрузкой" ПКС "Контрагенты" правила конвертации документа "Реализация товаров и услуг" пишем следующий код:
Далее добавляем новое ПКС (необходимо поставить флажки "Передавать данные в параметр","Поиск объекта при загрузке по свойству") у ПКО "Контрагенты" и заполняем его входящими данными:
Далее дописываем условие поиска:
Правила тестировались на конфигурации "Управление производственным предприятием, редакция 1.3 (1.3.87.2)".
Удачного внедрения!
В правиле конвертации объекта используйте обработчик «Поля поиска»
(1) не понял, что не так?
(2)Все так, я просто не заметил сначала ссылку на публикацию, думал это вопрос такой.
1) А само значение перечисления вид договора нельзя передать и анализировать без XMLСтрока?
2) Нельзя ли обойтись без создания доп.параметра, в Исходящие данные ПКС контрагента добавить ВидДоговора, в ПКО Контрагенты в обработчике Поля поиска анализировать Входящие данные или там Входящие данные недоступны?
(4) 1 — не пробовал. 2 — в обработчике Поля поиска недоступны входящие данные, поэтому такой сложный подход. Возможно есть другие пути решения, искал, не нашел.
(5)понял, спс
(16) 1. Можно, если в базе-приемнике есть аналогичный тип (в данном примере перечисление или справочник ВидДоговора) и создано ПКО, которое можно указать в ПКС выгружаемого параметра.
А выгрузка/загрузка по этим правилам тестировалась через обмен данными БСП или внешними обработками КД?
Просто помню у меня не получалось заставить БСП передавать данные в параметр (просто не писалась эта информация в файл выгрузки).
(8) правила тестировались внешними обработками КД.
А что помешало сразу в ПКС ДоговорКонтрагентаВидДоговора, в обработчике «Перед выгрузкой», сделать «Значение = XMLСтрока(Источник.ДоговорКонтрагента.ВидДоговора)»;
?)
(10) не понял) здесь источником является Контрагент. Откуда «ДоговорКонтрагента» в контрагенте?
а, да, сорри, невнимательно вчитался в задачу — не увидел, что надо по договору в РТУ определять
подумал, что условие на вид договора относится к основному договору контрагента
(2) Запрещено писать ЛС. Свяжись пожалуйста со мной veritas.una.12(sobaka)gmail(dot)com