Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Определение удаления записи регистра сведений

Определение удаления записи регистра сведений
Я
   Кондидат В
 
05.09.18 - 07:49
Всем привет!
Кто подскажет, как в событиях ПередЗаписью или ПриЗаписи модуля набора записей регистра сведений определить, что запись удаляется?
 
 
   Ненавижу 1С
 
1 - 05.09.18 - 07:55
Перед записью сравнить что запрос выдаст из базы и что есть в текущем наборе
   RomanYS
 
2 - 05.09.18 - 07:57
(1) там всегда две записи, первая -очистка
   Krolik Bezobraznik
 
3 - 05.09.18 - 08:29
Удаление интерактивное?
   Krolik Bezobraznik
 
4 - 05.09.18 - 08:34
(0) У набора записей есть дополнительные свойства. Добавьте туда свойство. Затем сделайте обработчик события ПерезЗаписью и прочтите свойство дополнительных свойств. Если свойство найдено - это удаление.
   DrWatson
 
5 - 05.09.18 - 08:36
Зафиксировать в логах удаление, вторая запись затрет изменением. Где в логах осталось удаление, значит так оно и было.
   Кондидат В
 
6 - 05.09.18 - 08:55
Метод "ПередЗаписью" работает так:
Если запись удаляется, то вызывается один раз
Если запись обновляется, вызывается 2 раза, первый раз со старыми измерениями, второй раз с новыми. Соответсвенной, в первый раз такая запись в БД будет, второй раз, уже с новыми измерениями уже нет. Исходя из этого реализовал так: (что думаете?)


    Поля = ""; Условия = "";
    Запрос = Новый Запрос;
    Для Каждого ЭлементОтбора ИЗ ЭтотОбъект.Отбор Цикл
        Поля = Поля + ?(Поля = "","", ", ")+ЭлементОтбора.Имя + Символы.ПС;
        Условия = Условия + ?(Условия = "","",Символы.Таб  + " И ")+ЭлементОтбора.Имя + " = &" + ЭлементОтбора.Имя + Символы.ПС;
        Запрос.УстановитьПараметр(ЭлементОтбора.Имя, ЭлементОтбора.Значение);
    КонецЦикла;
    Запрос.Текст = "ВЫБРАТЬ "+Поля+" ИЗ РегистрСведений.ШтрихКоды КАК ШтрихКоды ГДЕ "+Условия;
    РезультатЗапроса = Запрос.Выполнить();
    Удалили = НЕ РезультатЗапроса.Пустой();
   Кондидат В
 
7 - 05.09.18 - 10:16
А еще, как оказалось (по крайней мере, при удалении одной записи) набор записей пуст, и данные о удаляемой записи можно вытащить из отбора. :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует