|
РИБ, правила обмена, удаление объекта |
☑ |
0
alisto
11.12.13
✎
19:01
|
Добрый вечер!
Уважаемые, прошу помощи.
Как можно с помощью правил регистрации исключить удаляемые объекты из регистрации?
|
|
1
alisto
11.12.13
✎
19:09
|
В настроке правил есть обработчики "Перед оработкой", "При обработке" и т.д., все они выполняются "Перед записью объекта". Т.е. получается что объект еще не удалён из БД. Есть ли у такого (удаляемого) объекта признак что он будет удален после записи?
|
|
2
zladenuw
11.12.13
✎
19:22
|
так вроде в обработке же обмена указывается очищать или не очищать регистрацию
|
|
3
alisto
11.12.13
✎
19:24
|
Это понятно. Только для этого нужно обновление конфигурации. А мне бы конфу не обновлять, а правилами выкрутиться.
|
|
4
alisto
11.12.13
✎
19:26
|
Дополнительный вопрос. Где хранится регистрация изменений (не журнал регистрации)? Можно ли к этой информации делать запрос?
|
|
5
zladenuw
11.12.13
✎
19:28
|
(3) а при чем к конфе. это в обработке устанавливаешь в режиме предприятия.
|
|
6
alisto
11.12.13
✎
19:30
|
(5) в обработке? Немного не понял...
Знаю есть методы плана обмена "При отправке данных подчиненному", "При отправке данных главному" .... про них речь идет?
|
|
7
zladenuw
11.12.13
✎
19:34
|
|
|
8
alisto
12.12.13
✎
12:54
|
Задачу решил.
Решение, на мой взгляд, не красивое, но тем не менее оно работает. Может кому пригодится.
Взял самый часто проводимый документ мигрирующий по РИБу и в правилах обмена, в обработчике "Перед обработкой" поместил следующий код:
ГлавныйУз = ПланыОбмена.ГлавныйУзел();
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Изм.Узел,
| Изм.НомерСообщения,
| Изм.Ссылка,
| ВЫБОР
| КОГДА ЕСТЬNULL(Изм.Ссылка.Ссылка, 0) = 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ОбъектУдален,
| Изм.Ссылка.ПометкаУдаления КАК ПометкаУдаления
|ИЗ
| Документ._НужныйДок_.Изменения КАК Изм
|ГДЕ
| Изм.Ссылка.Ссылка ЕСТЬ NULL
|АВТОУПОРЯДОЧИВАНИЕ";
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
ПланыОбмена.УдалитьРегистрациюИзменений(ГлавныйУз, Результат.Ссылка);
КонецЦикла;
Где "_НужныйДок_" это название документа для которого нужно очистить регистрацию (для удаленных документов).
|
|
9
ilpar
12.12.13
✎
13:01
|
Нафиг оно нам?
Объект в одной базе удален - в другой нет получится.
|
|
10
alisto
12.12.13
✎
13:55
|
(9) а вдруг будет такая задача у кого нибудь.
Будет искать человек, мучаться, босс его будет прессовать, зп лишит. А так посмотрит, увидит тему на мисте, прочитает и всё сделает. Еще и премию дадут, и мне спасибо мысленно скажет. Хорошо же это... Добро делать.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший