0
trambalda
19.10.11
✎
15:40
|
Вообще торможу, настроил правила, константы не выгружаются. Объект источник - КонстантыНабор, никаких галочек в ПКО не стоит, синхронизация свойств сделана, при выгрузке ставлю галку на константы, пишет, что выгружено объектов ноль. Там есть какой-то подвох? ЧЯДНТ?
|
|
3
trambalda
20.10.11
✎
10:26
|
В общем, странные вещи. Как показала практика, выгрузка констант напрямую, а не по ссылкам, не происходит.
В процедуре ВыполнитьВыгрузкуИзмененныхДанныхДляУзлаОбмена следующая конструкция:
Для Каждого СтрокаПравилаВыгрузки Из ВременныйМассивПравилВыгрузкиДанных Цикл
МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки);
МассивВыгружаемыхМетаданных.Добавить(МетаданныеПВД);
КонецЕсли;
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, МассивВыгружаемыхМетаданных);
Но в случае выгрузки констант, в СтрокаПравилаВыгрузки.ОбъектВыборки находится тип "КонстантаНабор", и в МассивВыгружаемыхМетаданных попадает элемент с типом "ОбъектМетаданных" без значения, соответственно, метод ВыбратьИзменения по этому элементу, ничего не возвращает.
Переделал вот так:
Для Каждого СтрокаПравилаВыгрузки Из ВременныйМассивПравилВыгрузкиДанных Цикл
Если СтрокаПравилаВыгрузки.Наименование = "Константы" Тогда
Для Каждого МетаданныеПВД Из Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки).Константы Цикл
МассивВыгружаемыхМетаданных.Добавить(МетаданныеПВД);
КонецЦикла;
Иначе
МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки);
МассивВыгружаемыхМетаданных.Добавить(МетаданныеПВД);
КонецЕсли;
КонецЦикла;
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, МассивВыгружаемыхМетаданных);
И все заверте.
|
|