Отмена загрузки данных в базу (конвертация 3.0)

1. Kutuzov 743 06.02.18 11:42 Сейчас в теме +3 $m
Добрый день! Как в правилах конвертации 3.0 указать, чтобы в базе приемнике не происходила запись объекта, который пришел из базы отправителя? Цель в том, чтобы настроить односторонний обмен. При этом из базы отправителя могут отправляться любые данные, а уже в базе приемнике мы решаем, принимать присланные изменения или нет.
Нашел только
ПолученныеДанные = Неопределено;

Но при этом если приходит объект, которого в базе получателе нет, в дальнейшем в обмене происходит ошибка
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3918)}: Значение не является значением объектного типа (Ссылка)
Ну то есть он все равно пытается дальше работать с пришедшим объектом.

"ПометкаУдаления = Истина" не предлагать))
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MaxS 2879 07.02.18 09:51 Сейчас в теме +3 $m
// Кардинальный метод
Процедура ПередКонвертацией ...
Если КомпонентыОбмена.НаправлениеОбмена = "Получение" Тогда
	КомпонентыОбмена.ПравилаОбработкиДанных.Очистить();
...

// Индивидуальный подход
Процедура ПОД_Справочник_КассыККМ_Отправка_ПриОбработке(ДанныеИБ, ИспользованиеПКО, КомпонентыОбмена)
	Если Истина Тогда // тут Ваше условие
		ОчиститьИспользованиеПКО(ИспользованиеПКО);
	КонецЕсли;
КонецПроцедуры

Процедура ОчиститьИспользованиеПКО(ИспользованиеПКО)  // это есть в типовых
	Для Каждого Правило Из ИспользованиеПКО Цикл
		ИспользованиеПКО.Удалить(Правило.Ключ);
	КонецЦикла;
КонецПроцедуры
Показать
3. MaxS 2879 07.02.18 10:00 Сейчас в теме
Как отменить загрузку нового в Процедура ПКО_..._Получение_ПередЗаписьюПолученныхДанных(
пока не знаю. Не сталкивался.
Можно пытаться в ПОД анализировать данные и там действовать.
4. Airlord 07.02.18 10:15 Сейчас в теме
Добрый день! В Объекте "После загрузки" :
 
Если Объект.ЭтоНовый() Тогда
.....
КонецЕсли;

ничего не решит?
5. Airlord 07.02.18 10:39 Сейчас в теме
Либо анализировать "Правила выгрузки данных" по нужной группе объектов - обычно, если объект еще не выгружался (в составе отправляемых данных) стоит "Не выгружался" - напротив выгружавшегося стоит № отправленного (сообщения). И соответственно от этого плясать, т.е. не давать ему ПКО:

имяПКО = Неопределено;
6. leosoft 166 07.02.18 10:40 Сейчас в теме
А галочку "не замещать" почему бы не поставить? в настройках ПКО?
Извините, не обратил внимание, что это КД 3.0!
7. user790616 8 09.03.21 16:32 Сейчас в теме
ПКО_..._ПередЗаписьюПолученныхДанных

ПолученныеДанные=Неопределено;
8. MaxS 2879 09.03.21 18:41 Сейчас в теме
Дополнение к (3)
Процедура ПКО_Справочник_Организации_Получение_ПередЗаписьюПолученныхД­анных(

Если НЕ ДанныеИБ=Неопределено Тогда // Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их
	ПолученныеДанные = Неопределено;
КонецЕсли;
KOTzilla; pyrkin_vanya; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот