|
Конвертация Данных: поля поиска | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
28.10.12
✎
20:21
|
Здравствуйте всем. У меня после переноса два элемента справочника на новом месте имеют в одном из своих реквизитов одинаковое значение, а должны - разное. Реквизит этот - ссылочный. Для его ПКС настроено определенное ПКО. В то ПКО я уже данные из ПКС передавал и через "Значение = Источник", и через "Входящие данные" - всё без толку. Хоть тресни, для обоих элементов вижу в выгруженном xml-файле одинаковое значение этого реквизита, а должно быть разное.
|
|||
1
PiotrLoginov
28.10.12
✎
20:35
|
Теперь немного конкретнее. Переношу из ТиС 8.6 в УТ 11. Справочник Контрагенты переношу в справочник Партнеры, а также в справочник Контрагенты, где каждый элемент имеет реквизит Партнер-Владелец. ПКО Партнеры получилось навороченное, но справочник Контрагенты источника перенесся в Партнеры приемника без проблем.
Теперь надо заполнить в приемнике справочник Контрагенты. Создал ПКО Контрагенты. Для ПКС Партнер указал ранее созданное ПКО Партнеры. Попытался перенести. Уже на этапе выгрузки получил кучу "Ошибок исполнения обработчика" из-за многочисленных "ПередВыгрузкой", "ПриВыгрузке" и т.п. Тогда создал ПКО Партнеры заново - простое, без лишних телодвижений, с указанием только полей поиска и способом получение значений этих полей. А теперь главное: полей несколько, т.к. многие партнеры в приемнике имеют одинаковое Наименование. Но это не спасает почему-то. Устал биться, пишу сюда. |
|||
2
ЧашкаЧая
28.10.12
✎
20:55
|
"Значение = Источник"
Именно так и было? "Значение" это переменная в которую нужно установить правильное значение реквизита, "Источник" переменная в которой хранится объект конвертации, "родитель" этого реквизита. Пример из потолка, имеем справочник номенклатура с реквизитом Услуга (булево) и нужно для услуг перенести ед. измерения "час" для всего остального "шт", в ПКС реквизита Единица измерения в правиле ПередВыгрузкой Когда Источник.Услуга Тогда ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("час"); Иначе ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); КонецЕсли; Значение = ЕдиницаИзмерения; |
|||
3
PiotrLoginov
28.10.12
✎
21:23
|
(2) Почитав пособия и справку к КД, понимаю этот механизм так: Когда при переносе очередного объекта в приемник (в моем случае - в элемент справочника Контрагенты) доходит очередь до ПКС, где тип значения приемника - ссылочный (в моем случае ссылка на элемент справочника Партнеры), управление передается в соответствующее ПКО (в моем случае - ПКО Партнеры), и вместе с управлением передается значение реквизитов - например, Значение = Источник или Значение = ПолучитьЗначение(ВходящиеДанные, "Наименование") - по которым будет производиться поиск элемента, ссылка на который требуется.
У меня в ПКО Партнеры аж три реквизита, по которым производится поиск, и все три я заполняю конкретными значениями, но почему-то все равно в выгруженном xml-файле я вижу одинаковое значение ссылочного реквизита для двух разных элементов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |