В регистре сведений отловить событие при удалении записи
По теме из базы знаний
Найденные решения
(1) обработчик ПередЗаписью регистра сведений
Только нужно учитывать, что МенеджерЗаписи при перезаписи всегда делает 2 записи. Сначала запись пустого набора (как раз попадает в условие удаление записи), затем записывает уже с данными.
Процедура ПередЗаписью(Отказ, Замещение)
Если Замещение И Выгрузить().Количество() = 0 Тогда
//Это удаление записей
КонецЕсли;
КонецПроцедурыТолько нужно учитывать, что МенеджерЗаписи при перезаписи всегда делает 2 записи. Сначала запись пустого набора (как раз попадает в условие удаление записи), затем записывает уже с данными.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) обработчик ПередЗаписью регистра сведений
Только нужно учитывать, что МенеджерЗаписи при перезаписи всегда делает 2 записи. Сначала запись пустого набора (как раз попадает в условие удаление записи), затем записывает уже с данными.
Процедура ПередЗаписью(Отказ, Замещение)
Если Замещение И Выгрузить().Количество() = 0 Тогда
//Это удаление записей
КонецЕсли;
КонецПроцедурыТолько нужно учитывать, что МенеджерЗаписи при перезаписи всегда делает 2 записи. Сначала запись пустого набора (как раз попадает в условие удаление записи), затем записывает уже с данными.
Была задача: в качестве ресурса в регистре есть ссылка на Прикрепленный файл, необходимо при очистке регистра их удалять тоже.
Использовал альтернативный метод (если есть форма списка регистра). Использовал событие Списка "СписокПередУдалением" для формирования массива файлов к удалению и событие списка "СписокПослеУдаления" для удаления:
Использовал альтернативный метод (если есть форма списка регистра). Использовал событие Списка "СписокПередУдалением" для формирования массива файлов к удалению и событие списка "СписокПослеУдаления" для удаления:
&НаКлиенте
Перем МассивФайловКУдалению;
&НаСервере
Процедура СписокПослеУдаленияНаСервере(МассивФайловКУдалению)
Если МассивФайловКУдалению.Количество() > 0 Тогда
Для А = 0 По МассивФайловКУдалению.Количество() - 1 Цикл
СпрО = МассивФайловКУдалению[А].ПолучитьОбъект();
СпрО.Удалить();
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПослеУдаления(Элемент)
СписокПослеУдаленияНаСервере(МассивФайловКУдалению);
КонецПроцедуры
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
МассивСтр = Элемент.ВыделенныеСтроки;
МассивФайловКУдалению = СписокПередУдалениемНаСервере(МассивСтр);
КонецПроцедуры
&НаСервере
Функция СписокПередУдалениемНаСервере(МассивСтр)
МассивФайлов = Новый Массив;
Для Каждого ЭлМассива из МассивСтр Цикл
Запись = РегистрыСведений.Сообщения.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(Запись, ЭлМассива);
Запись.Прочитать();
Если ЗначениеЗаполнено(Запись.ПрикрепленныйФайл) Тогда
МассивФайлов.Добавить(Запись.ПрикрепленныйФайл);
КонецЕсли;
КонецЦикла;
Возврат МассивФайлов;
КонецФункции Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот