|
КД 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
|
В итоге, как временная мера:
В обработчике ПослеКонвертации
ОбъектыКФизическомуУдалениюПослеКонвертации = КомпонентыОбмена.ПараметрыКонвертации.ОбъектыКФизическомуУдалениюПослеКонвертации;
Для Каждого лОБъектСсылка из ОбъектыКФизическомуУдалениюПослеКонвертации Цикл
лОбъект = лОбъектСсылка.ПолучитьОбъект();
лОбъект.Удалить();
ПланыОбмена.УдалитьРегистрациюИзменений(лОбъект.ОбменДанными.Получатели,Новый УдалениеОбъекта(лОбъектСсылка));
КонецЦикла
|
|