|   |   | 
| 
 | РИБ, правила обмена, удаление объекта | ☑ | ||
|---|---|---|---|---|
| 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) а вдруг будет такая задача у кого нибудь.
 Будет искать человек, мучаться, босс его будет прессовать, зп лишит. А так посмотрит, увидит тему на мисте, прочитает и всё сделает. Еще и премию дадут, и мне спасибо мысленно скажет. Хорошо же это... Добро делать. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |