Имя: Пароль:
1C
1С v8
КД 3. Игнорирование загрузки при отсутствии сопоставления.
0 totparen
 
27.06.16
08:34
Ребята, помогите решить задачу - как можно отказаться от загрузки объекта, если в базе приёмнике пользователь не сопоставил объекту какого-либо соответствия. (Синхронизация с доп. параметрами)
1 totparen
 
27.06.16
08:49
Какие предложения?
2 totparen
 
27.06.16
08:55
Можно конечно физически удалять данные после загрузки, но это крайняя мера.
3 totparen
 
27.06.16
13:44
Удаляю объект физически - возникла проблем:

лОбъект = лОбъектСсылка.ПолучитьОбъект();

лОбъект.Удалить();

Регистрирует факт удаления в плане обмена.

Думал очищать получателей перед удаленимем, так список узлов пуст. После удаления он заполнен, но

лОбъект.ОбменДанными.Получатели.Очистить();

не помогает. Как не регистрировать это действия на узлах?
4 Sonny
 
27.06.16
13:51
Добро пожаловать в мир КД 3.0! Пили БСП-шные модули, чтобы объект не записывался в базу.
5 totparen
 
27.06.16
13:54
(4) Переопределяемый модуль? Дай наводку?
6 totparen
 
27.06.16
13:55
(5) Упс! Условие - обмен с типовыми конфигурациями. Без включения изменений.
7 totparen
 
27.06.16
14:27
В итоге, как временная мера:

В обработчике ПослеКонвертации

ОбъектыКФизическомуУдалениюПослеКонвертации = КомпонентыОбмена.ПараметрыКонвертации.ОбъектыКФизическомуУдалениюПослеКонвертации;

Для Каждого лОБъектСсылка из ОбъектыКФизическомуУдалениюПослеКонвертации Цикл
    лОбъект = лОбъектСсылка.ПолучитьОбъект();
    лОбъект.Удалить();
    
    ПланыОбмена.УдалитьРегистрациюИзменений(лОбъект.ОбменДанными.Получатели,Новый УдалениеОбъекта(лОбъектСсылка));
КонецЦикла
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn