РИБ: При создании периферийной базы отменить регистрацию некоторых объектов

  1. 9 г. назад

    Помогите, друзья.

    Мне необходимо при создании нового узла РИБ Отменить регистрацию объектов Справочники.Файлы и РегистрСведений.ЖурналСобытий
    У этих объектов отключена авторегистрация, но в состав обмена они входят

    Процедура ПередЗаписью(Отказ)
    	
    	Если не ЗначениеЗаполнено(Ссылка) Тогда
    		// Запись нового элемента (узла) Плана обмена
    		
    		СсылкаНового = ПланыОбмена.Полный.ПолучитьСсылку();
    		УстановитьСсылкуНового(СсылкаНового);
    		
    		ПланыОбмена.УдалитьРегистрациюИзменений(ПолучитьСсылкуНового(), Метаданные.Справочники.Файлы);
    		ПланыОбмена.УдалитьРегистрациюИзменений(ПолучитьСсылкуНового(), Метаданные.РегистрыСведений.ЖурналСобытий);
    		
    	КонецЕсли;
    	
    КонецПроцедуры
    

    Но, при создании образа все объекты попадают в создаваемую базу. Что я делаю не так?

  2. так тебе надо конкретные ссылки удалять из регистрации, а не СсылкаНового

    Ответы: (2)
  3. (1) это ссылка на план обмена, а не на объекты, которые не нужно выгружать

    Ответы: (3)
  4. (2) * на узел

    Ответы: (4)
  5. (3) так очищай после записи, когда уже есть конкретная ссылка на узел

  6. вот это трэшак какой-то?

    СсылкаНового = ПланыОбмена.Полный.ПолучитьСсылку();
    УстановитьСсылкуНового(СсылкаНового);
    ...
    ПолучитьСсылкуНового()

    или я уже позабыл 1с?

    Ответы: (6)
  7. (5) это фигня. Просто пробовал по всякому.

    Процедура ПриЗаписи(Отказ)
    	
    	Если ПроцедурыОбменаДанными.ТекущийУзелГлавный() Тогда
    		
    		Если НомерОтправленного = 0 Тогда
    			
    			ПланыОбмена.УдалитьРегистрациюИзменений(Ссылка, Метаданные.Справочники.Файлы);
    			ПланыОбмена.УдалитьРегистрациюИзменений(Ссылка, Метаданные.РегистрыСведений.ЖурналСобытий);
    			
    		КонецЕсли;
    		
    	КонецЕсли;
    	
    КонецПроцедуры
    

    так тоже не работает

    Ответы: (7)
  8. (6) может, они попадают в обмен уже после этого?

    Ответы: (8)
  9. (7) сейчас проверю

  10. не после, а во время, при создании нового - никаких изменений нет, их отменять чисто бесполезно. Выгрузятся согласно состава (правил) обмена. Или их (правила) править, или вычищать первую выгрузку или чистить после создания и первой загрузки рбд.

    Ответы: (11)
  11. При создании нового узла Никаких изменений не зарегистрировано

  12. (9) т.е. если даже авторегистрация отменена, в первоначальный образ попадут все объекты данного типа?
    А как тогда править эти правила?

    Ответы: (12)
  13. (11) обычно правят в КД-2 (конвертация данных).

  14. все не читал.

    отменяешь регистрацию перед созданием образа и ставишь отказ по условию в процедуре ПриОтправкеДанныхПодчиненному()

    Ответы: (14)
  15. (13) вот де ты раньше был? :)

    Я уже без тебя разобрался

    Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
    	
    	ТипЗначенияЭлемента = ТипЗнч(ЭлементДанных);
    	Если ТипЗначенияЭлемента = Тип("РегистрСведенийЗапись.ЖурналСобытий")
    		ИЛИ ТипЗначенияЭлемента = Тип("РегистрСведенийНаборЗаписей.ЖурналСобытий") Тогда 
    		ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    	КонецЕсли;
    	Если ТипЗначенияЭлемента = Тип("СправочникСсылка.Файлы")
    		ИЛИ ТипЗначенияЭлемента = Тип("СправочникОбъект.Файлы") Тогда 
    		ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    	КонецЕсли;
    	
    КонецПроцедуры
    
    Ответы: (15)
  16. 1Сергей вот де ты раньше был?

    ходил за тортом) купил аж целых 3!! штуки

    Ответы: (16)
  17. (15) зажрались :)

    ЗЫ шутю

или зарегистрируйтесь чтобы ответить!