Имя: Пароль:
1C
1С v8
Выгрузка 1с EnterpriseData не "затирать" документ в приемнике
,
0 Skom2
 
16.03.23
14:20
Подскажите, как можно настроить правила, чтобы не затирался документ в приемнике, если он уже есть там.
1 Skom2
 
16.03.23
14:58
неужто никто не делал?
2 KJlag
 
16.03.23
15:23
НеЗамещатьОбъектПриЗагрузке - Булево. По умолчанию  - определяется в правилах обмена, но может быть изменено. Если для данного параметра установить значение Истина, то объект идентифицированный при загрузке (т.е. найденный в информационной базе приемнике по значению синхронизирующих полей) не будет изменен/замещен.

в пко на странице настройки
3 KJlag
 
16.03.23
15:24
а стоп. туплю. ED же.
тогда сорри - не то. чет заклинило на кд 2
4 Skom2
 
16.03.23
15:29
ага. ЕД, что б их.
5 xraf
 
16.03.23
15:34
(0) где-то тут может?

"Выполняется обработчик «Перед записью полученных данных». В обработчике доступны параметры: «ПолученныеДанные» и «ДанныеИБ».
Если объект найден, параметр «ДанныеИБ» содержит ссылку на этот объект."
6 Skom2
 
16.03.23
15:46
пока смотрю в сторону редактирования правил через конвертацию данных 3
7 xraf
 
16.03.23
15:49
(6) Может проще в базе-приемнике отловить это место и прикрутить расширение?
8 xraf
 
16.03.23
17:03
user1203419 25.03.22 19:35
Доброго дня

Для того чтобы не замещать имеющийся объект использую

ПередЗаписьюПолученныхДанных
Если ДанныеИБ <> Неопределено Тогда
   ПолученныеДанные = Неопределено;
КонецЕсли;
9 Skom2
 
16.03.23
16:01
(8) спасибо, попробую
10 Skom2
 
16.03.23
18:29
Вдруг кому пригодится

Сделал через расширение. в модуле обмена данными ч/з универсальный формат для нужных документов сделал так:

&Вместо("ПКО_Документ_РеализацияТоваровУслуг_ПередЗаписьюПолученныхДанных")
Процедура УО_ПКО_Документ_РеализацияТоваровУслуг_ПередЗаписьюПолученныхДанных(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена)
    //++: если данные уже имеются, то пропустим загрузку
    //Если ДанныеИБ = Неопределено, тогда это новый объект, продолжаем вызов и работаем стандартно
    Если ДанныеИБ = Неопределено Тогда
        ПродолжитьВызов(ПолученныеДанные, ДанныеИБ, КонвертацияСвойств, КомпонентыОбмена);
    КонецЕсли;
    //++ если данные уже имеются, то пропустим загрузку    // Вставить содержимое метода.
КонецПроцедуры
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.