КД 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