|
Непосредственное удаление объекта при обмене
| ☑ |
0
Антиквар
13.04.12
✎
11:38
|
Всем привет!
Непосредственно удаляю элемент справочника в базе-источнике. В базе-приемнике в процедуре ПередУдалением() ставлю Отказ, если это "НЕ ОбменДанными.Загрузка"
Т.е. мне нужно, чтобы в базе-приемнике невозможно было удалить объект даже программно, только через обмен.
Но почему-то в процедуре ПередУдалением() всегда
ОбменДанными.Загрузка = Ложь, хотя непосредственное удаление пришло сюда с обменом.
Я что-то не учел, или так и должно быть? Удаление, пришедшее с обменом не хранит в себе признак загрузки при обмене?
Как тогда можно определить источник, откуда удаляем объект? С обменом это пришло или нет.
|
|
1
Антиквар
13.04.12
✎
12:27
|
может тут нужно как-то через "УдалениеОбъекта" действовать?
не пойму как
|
|
2
Лефмихалыч
13.04.12
✎
12:29
|
(1) именно через удалениеОбъекта и нужно. Признак ОбменДанными.Загрузка в базе не хранится и с обменом не приходит
|
|
3
Антиквар
13.04.12
✎
12:44
|
(2) Но ведь в процедурах ПриЗаписи(), ПередЗаписью() признак "ОбменДанными.Загрузка" есть. Он автоматически ставится, когда обмен идет. А здесь непонятно, почему признак отсутствует ?
>> именно через удалениеОбъекта и нужно
а как, не подскажете?
Я могу через УдалениеОбъекта удалить по ссылке. Но как определить, что это удаление пришло с обменом? Ведь иначе мне нужно сделать Отказ=Истина
|
|
4
Агент Инфостарта
13.04.12
✎
13:27
|
(3) Через штатные дополнительные свойства объекта, не?
|
|
5
Антиквар
13.04.12
✎
13:39
|
(4) а что за дополнительные свойства объекта?
ЭтотОбъект.ОбменДанными.Загрузка показывает Ложь, и мне это непонятно.
А какие ещё свойства могут свидетельствовать о загрузке по обмену?
|
|
6
Антиквар
13.04.12
✎
16:17
|
Нашел причину:
в обработке ОбменДаннымиXML почему-то при физическом удалении не ставится ОбменДанными.Загрузка = Истина
Причем эта строка заремлена. Почему 1С от этого отказалась непонятно, но я разремил, и у меня заработало.
|
|