Здравствуйте!
Возникла проблема при конвертации с установлением Владельца.
в Источнике есть независимый документ "Вложения", его конвертирую в 2 справочника в 8.3. Один справочник "ВерсииФайлов"-подчиненный справочнику "Файлы", соответственно при конвертации необходимо установить поле "Владелец". Значение этого поля я должна указать СправочникСсылка на справочник "Файлы", но оно есть только в приемнике, соответственно через Параметры сделать это не удалось, т.к. при задании параметров можно задать только тип значения для ИСТОЧНИКА.
Данные в эти справочники загружаю через ПВД, где указана ВыборкаДанных.
??? Что написать в "значении" поля "Владелец"
Вот Собственно Скрины:
http://i-fotki.info/17/9c0cbb05d6d110f76d1f0e547e4c1521d995b3201293841.jpg.html http://i-fotki.info/17/725949beee28bdc75257a8599e002e6bd995b3201293842.jpg.html
пишу вот такой код в обработчике "после загрузки объекта"
Я думаю, вам ссылку на владельца лучше передавать через структуру. И пользоваться для этого такими переменными как Входящиеданные() или ИсходящиеДанные
или же через ключ выгружаемых данных
только тогда ставить Поиск по наименованию и Владельцу, а так же галку:Получать значение из входящих данных. Обработчик используйте в ПКО: ПередВыгрузкой()
В ПКС обработчики не требуются
(2) Bukaska, Да, конвертация независимый-подчиненный.
Ссылки на владельца в источнике у меня нет, через структуру ПередВыгрузкой() я обращаться не могу, т.к. перегружаю с 7.7. в 8.3, если только список значений.
По сути перегружаю одни и те же данные(наименование файла,документ, к которому он привязан, путь )в 2 справочника, но один подчиненный (там хранятся версии файлов, в моем случае-она единственная, здесь же надо указать владельца-ссылку на этот же файл из справочника "Файлы"), а другой Владелец(в нем есть ссылка на версию).
КлючВыгружаемыхДанных - Произвольный. По умолчанию - это ссылка на объект Источник, а если Источник неопределен, то используется ИмяПКО (подразумевается, что правило описывает в таком случае один объект-приемник). Данный параметр необходимо использовать если одному объекту источнику могут соответствовать несколько объектов приемника, например, в зависимости от входящих данных, или в случае, когда объект приемник полностью заполняется из входящих данных (например по результатам запроса), а объект источник, как таковой отсутствует.
Ничего не написано, что только для платформы 8.. Обычно всегда пишут. Значит можно использовать в конвертации 7.7-8х
и ещё:
НеЗапоминатьВыгруженные - Булево. Параметр противоположный по смыслу параметру ЗапоминатьВыгруженные. По умолчанию - определяется в правилах обмена, но может быть изменено. Только для платформы 1С:Предприятие 7.7.
Пишу ваш код в ПКО "ВерсииФайлов" (это подчиненный справочник, источника нет), данные получаю из ПВД с помощью Выборки Данных.
Отдельно для поля "Владелец" ставлю галочки "Получать из входящих", в ПВД Версии создаю входящие данные
ВходящиеДанные = СоздатьОбъект("СписокЗначений");//вот здесь не через список значений, структура для 8
ВходящиеДанные.Установить("Владелец",????); нет у меня источника -владельца, вот в этом проблема
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ВерсииФайлов00002");
//Отказ = 1;
я правильно поняла, вашу идею?
Что -то я спуталась.. Разве для подчиненного справочника нужен ПВД?
Насчет конвертаций.. Один в несколько - я бы предпочла ПВД.
А по части владельца.. это я говорила как раз для ПКО подчиненного справочника, у которого нет своего ПВД.
А ПВД я так понимаю надо делать для владельца-справочника.
А то что я говорю про ключ выгружаемых данных.. это нужно делать в ПКО подчиненного справочника ПередВыгрузкой. А на подчиненные справочники вроде ПВД не нужно.. Хотя я может что путаю?
Я уже сама запуталась, как надо, пытаюсь пробовать варианты. Вопрос так и остался. Что написать в значении владелец, как заполнить Входящие данные?
Я сначала сделала 2 ПВД для 2-х справочников, и 2 ПКО с пустыми источниками. А потом в обработчике "После загрузки данных" хотела установить владельца , находя по НаитиПоНаименованию или по коду, но не получилось. Поэтому ,Ю чтобы попробовать ваш вариант, мне непонятно, что я должна написать во Входящих данных. Собственно пути обхода начались именно с этого.
Спасибо за участие в моей проблеме.
Если вам в ПКО при выгрузке у подчиненного справочника давать ключ выгружаемых данных, то важно сделать поиск по владельцу и наименованию, а у вас
установлены галки поиска другие? Все равно поиск по владельцу важен. в самих ПКС ничего не пишем.. ставим галки поиска наименования и владельца, у них же ставим галки - получать из входящих данных
Это я так понимаю.. у вас и есть подчиненный справочник - версии файлов. ПКО у подчиненного справочника есть, ПВД для него не нужен
А справочник Вложения вы конвертите в справочник Файлы. ПКО(Вложения/Файлы) По синхронизации данных для ПКС много схожих реквизитов? А то может стандартную выборку оставить?
И для этой стандартной выборки указать ПКО(Вложения/Файлы)
Изначально я именно так и делала, все эти ПВД у меня возникли от того, что практически все необходимые мне данные лежат в табличной части источника, а в приемнике это реквизиты (т.е. нужно каждую строку конвертировать в элемент справочника), у меня никак не получалось их оттуда выудить, потом получилось через ПВД, где организуется выборка данных, тогда все галочки убираются "Получить из входящих", иначе не работало. Зато здесь с Владельцем засада.
Это так телепатом быть трудно.
Как вариант
Поскольку у нас Владелец.. ссылочный тип.. тут так просто Значение или Выражение() не покатит..
Может вручную в ПКО..
ПриВыгрузке что-нить влепить типа: Приемник = источник;
Или:
В обработчике ПриВыгрузке по моему доступен УзелССылки.. а Приемник=Источник вставить в ПКС владельца?
Если Источник.Владелец=" " Тогда
УзелСсылки = "Файлы"
Тут уже вопрос что будет в файле.. Попадет туда поле Владелец.. и попадет ли туда значение поля..
Но это опять же.. ориентир на ПКО..Насколько оно передастся в ПВД с произвольным алгоритмом - вопрос ещё...
Короче тут ещё мутить и муьтить.. но вы правы.. засада..