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

Как удалить одну запись регистра из набора?

Как удалить одну запись регистра из набора?
Я
   golem14
 
20.07.20 - 14:00
Регистратор = Документы.ВзаимозачетЗадолженности.НайтиПоНомеру("ФР00-000098", '20191231');
    Набор = РегистрыСведений.СуммыДокументовВВалютеРегл.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(Регистратор);
    Набор.Прочитать();
    Набор.Удалить(Набор[0]); // Здесь ошибка "обращение к процедуре как к функции"
    Если Набор.Модифицированность() Тогда
        Набор.Записать();
    КонецЕсли;
   Ёпрст
 
1 - 20.07.20 - 14:01
(0) зачем ?
   golem14
 
2 - 20.07.20 - 14:07
(1) не спрашивай, так приказано.
в общем разобрался, оно не работает только в окне Выражение, а так работает.
   Ёпрст
 
3 - 20.07.20 - 14:09
(2) документ перепроведут и твоя "работа" коту под хвост
   golem14
 
4 - 20.07.20 - 14:09
(3) нет, он давно в закрытом периоде.
   Cоляпсус
 
5 - 20.07.20 - 14:13
(0) Читать, Удалять ни к чему. Набор.Отбор... Набор.Записать()
На просторах много примеров удаления непериодического и периодического регистра.
Примеры точно есть.
   Cоляпсус
 
6 - 20.07.20 - 14:15
Если ТипЗнч(Стр.Данные) = Тип("РегистрСведенийКлючЗаписи.СоответствиеОбъектовДляОбмена") Тогда
            ЗаписьРегистра = РегистрыСведений.СоответствиеОбъектовДляОбмена.СоздатьМенеджерЗаписи();
            ЗаписьРегистра.СсылкаВДругойИБ = Стр.Данные.СсылкаВДругойИБ; 
            ЗаписьРегистра.СобственнаяСсылка = Стр.Данные.СобственнаяСсылка; 
            ЗаписьРегистра.УзелОбмена = Стр.Данные.УзелОбмена;
            ЗаписьРегистра.Прочитать();
            ЗаписьРегистра.Удалить();
            Сообщить("" + Стр.Данные.СобственнаяСсылка + " - запись удалена");    
        КонецЕсли;
        
        Если ТипЗнч(Стр.Данные) = Тип("РегистрСведенийКлючЗаписи.КонтактнаяИнформация") Тогда            
                ЗаписьРегистраКонт = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
                ЗаписьРегистраКонт.Отбор.Объект.Установить(Стр.Данные.Объект);
                ЗаписьРегистраКонт.Записать();
                Сообщить("" + Стр.Данные.Объект + " - запись удалена");    
        КонецЕсли;
   fisher
 
7 - 20.07.20 - 14:16
Очень странно. Ну, передай сразу индекс удаляемой записи, а не запись. СП говорит так тоже можно.
   fisher
 
8 - 20.07.20 - 14:19
Попробуй на всякий случай конфигуратор закрыть/открыть. Может, его заглючило и то что он делает немного расходится с тем, что он показывает.
   fisher
 
9 - 20.07.20 - 14:20
Тьфу. Дочитал до (2) :)
   golem14
 
10 - 20.07.20 - 14:20
(7)(8) спасибо разобрался, не работает только в окне "Выражение", как только не пробовал и просто с индексом.
Но если просто обработку запустить то работает.
   fisher
 
11 - 20.07.20 - 14:22
(10) Да тоже странно, честно говоря.

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