|
Как правильно при пометке на удаление документа удалять записи независимого регистра ? |
☑ |
0
Румата
14.12.18
✎
09:25
|
Есть Независимый, Непериодический регистр сведений, который заполняется в документе через табличное поле с типом значения этого же регистра. Одно из измерений регистра - тот самый документ в котором добавляются записи в этот регистр.
Как при пометке на удаление документа удалять все записи из регистра в измерении "Документ" которого находится помечаемый на удаление документ ?
|
|
1
Ёпрст
гуру
14.12.18
✎
09:36
|
В модуле дока пропиши в предопределенной проце очистку записей регистра
|
|
2
catena
14.12.18
✎
09:37
|
(0)Сделай измерение ведущим и "оносамо"
|
|
3
RomanYS
14.12.18
✎
09:40
|
(2) при пометке на удаление?
|
|
4
Румата
14.12.18
✎
09:43
|
(catena) Сделал, не получилось. При пометке удаления записи не очищаются.
|
|
5
Румата
14.12.18
✎
09:44
|
(Ёпрст) А в какой предопределенной процедуре сделать ?
|
|
6
Ёпрст
гуру
14.12.18
✎
09:47
|
Обработкаудаленияпроведения
|
|
7
Ёпрст
гуру
14.12.18
✎
09:48
|
Надеюсь, что записи регистра нужны вам только у проведенного документа.
|
|
8
Ёпрст
гуру
14.12.18
✎
09:50
|
Если нет, то в модуле дока пропиши в проце ПередУдалением
|
|
9
catena
14.12.18
✎
09:50
|
(3)Прошу прощения))
|
|
10
Румата
14.12.18
✎
09:50
|
(Ёпрст) Спасибо, пошел пробовать !
|
|
11
НЕА123
14.12.18
✎
09:52
|
ПриЗаписи()
|
|
12
catena
14.12.18
✎
09:53
|
(11)Почему не ПередЗаписью()?
|
|
13
НЕА123
14.12.18
✎
09:55
|
(12)
да, да. Вы правы. ПередЗаписью()
|
|
14
unregistered
14.12.18
✎
10:00
|
(0) Если необходимо чистить регистр именно при пометке на удаление, то см. (11) - в событии ПриЗаписи объекта.
Если же достаточно того, чтобы записи удалялись при окончательном удалении помеченного на удаление документа, то см. (2) - записи независимых регистров сведений очищаются при окончательном удалении объектов, чьи ссылки являются значением ведущих измерений.
(12) > Почему не ПередЗаписью()?
ИМХО, тут не принципиально. ПередЗаписью и ПриЗаписи объекта происходит в одной транзакции. Разница критична только в том случае, если запись в регистр зависит режима записи и режима проведения. В ПриЗаписи этой информации нет (хотя при желании её можно туда передать через ДополнительныеСвойства объекта, куда запихать нужную информацию в ПередЗаписью).
|
|
15
НЕА123
14.12.18
✎
10:06
|
|
|
16
Румата
14.12.18
✎
10:42
|
Сделал так :
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ПометкаУдаления=Истина Тогда
НаборЗаписей = РегистрыСведений.Монтаж.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(Ссылка);
НаборЗаписей.Записать();
КонецЕсли;
КонецПроцедуры
Вроде работает ...
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший