Имя: Пароль:
1C
1С v8
КД, как при выгрузки документа включить в хмл все ссылки как обьекты?
0 vde69
 
17.01.13
09:27
кто знает как при выгрузки документа включить в хмл все ссылки как обьекты?

пример

есть ПВД "Реализация", но нету ПВД "Контрагенты"
мне нужно что-бы при выгрузке документа реализации формировались два обьекта (каждый по своим сущкествующим правилам)
ДокументСсылка.Реализация и СправочникСсылка.Контрагенты

Смысл затеи - это перенос в базу справочников только по необходимости а не при их изменении.
1 Lokli
 
17.01.13
10:00
Я бы ковырял в ПКО "Реализация" обработчик событий перед выгрузкой. Только там необходимо учитывать уже выгруженные элементы справочника.
2 Aprobator
 
17.01.13
10:04
(0) хорошо смотрю ты новый год провел ). ..... все ссылки как объекты.....
3 Aprobator
 
17.01.13
10:05
произвольное ПВД и всего делов то.
4 ssh2006
 
17.01.13
10:05
(0) может я не понял вопрос, но так и будет происходить, ПВД "Контрагенты" не требуется. Пр ижелании в ПКО контрагенты можно поставить не замещать сущ-е
5 Aprobator
 
17.01.13
10:09
вообще да - ПКО то контрагенты в любом случае будет использоваться. Нафига еще какое то дополнительное формирование?
6 Reset
 
17.01.13
10:10
У меня минимальный опыт с КД, веротяно так:
Сформировать ПКО для документа и справочников. Реквизиты - ссылки на спр в документе не отключать.
В ПВД запретить выгрузку справочников.
7 Reset
 
17.01.13
10:10
в планы обмена справочники не включать, разумеется (" только по необходимости а не при их изменении")
8 Aprobator
 
17.01.13
10:14
(6) в ПВД не запретить. Можно только в ПКО поставить не замещать объект. А чтобы лишнюю инфу не тащить - создать правило, которое будет отрабатывать только поля поиска.
9 Reset
 
17.01.13
10:15
(8) "Отключить" флажок я имел ввиду.
Но не настаиваю (легко могу ошибиться)
10 mxs089
 
17.01.13
10:33
если в ПКО Реализация есть поле с правилом конвертации ПКО Контрагент, тогда контрагенты по ссылке тянутся
11 vde69
 
17.01.13
10:51
вопрос решил

1. создал алгоритм "ВыгрузитьСсылкуКакОбъект"

Если ЗначениеЗаполнено(СсылкаДляВыгрузки) тогда
   Если Параметры.МассивВыгруженыхСсылок.Найти(СсылкаДляВыгрузки) = неопределено Тогда
       ВыгрузитьПоПравилу(СсылкаДляВыгрузки, , , , ИмяПКОДляВыгрузки);
       Параметры.МассивВыгруженыхСсылок.Добавить(СсылкаДляВыгрузки);
   КонецЕсли;    
КонецЕсли;


2. в правилах конвертации документов прописал в обработчике "ПослеВыгрузки"

//--------------------------------------------------------
СсылкаДляВыгрузки = Источник.ДоговорКонтрагента;
ИмяПКОДляВыгрузки = "ДоговорыКонтрагентов";
Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);

//--------------------------------------------------------
ИмяПКОДляВыгрузки = "Контрагенты";

СсылкаДляВыгрузки = Источник.Контрагент;
Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);

СсылкаДляВыгрузки = Источник.Грузоотправитель;
Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);

СсылкаДляВыгрузки = Источник.Грузополучатель;
Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);

//--------------------------------------------------------
ИмяПКОДляВыгрузки = "ФизическиеЛица";
СсылкаДляВыгрузки = Источник.ОтпускПроизвел;
Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);

//--------------------------------------------------------
ИмяПКОДляВыгрузки = "Номенклатура";
Для Каждого эл из Источник.Товары Цикл
   СсылкаДляВыгрузки = эл.Номенклатура;
   Выполнить(Алгоритмы.ВыгрузитьСсылкуКакОбъект);
КонецЦикла;
12 mxs089
 
17.01.13
10:56
(11) прочти, что я написал, это все реализуется правилами
13 vde69
 
17.01.13
11:24
(12)
по галкам не выгружает....
14 vde69
 
17.01.13
11:30
(13) хотя вру, обработка - выгружает а вот обмен в УТ10 - нет.

для себя оставил свой вариант
15 acsent
 
17.01.13
11:32
если онлайн обмен, то он не выгружает по ссылкам. Только ручками перебирать.
Но смысл?
16 vde69
 
17.01.13
11:35
(15) обмен через файл
17 acsent
 
17.01.13
11:38
(16) причем здесь файл? онлайн обмен - это обработка такая (или точнее технология, используется в бсп). есть еще универсальный обмен