Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Регистр Накопления 1с8.2 удаление записей по отбору.

Регистр Накопления 1с8.2 удаление записей по отбору.
Я
   mik_mihka
 
14.03.19 - 13:52
Здравствуйте, стоит задача удалить записи в документе "Корректировка записей регистров накопления".
написал процедуру:
[1c]
Процедура КнопкаВыполнитьНажатие(Кнопка)
    НаборЗаписей = РегистрыНакопления.ВзаиморасчетыСПодотчетнымиЛицами.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Докум);
    НаборЗаписей.Прочитать();
    Для Каждого Стр Из НаборЗаписей Цикл
        Если Стр.Организация = Организация Тогда
            НаборЗаписей.Удалить(Стр);
        КонецЕсли;    
    КонецЦикла;    
    НаборЗаписей.Записать();
    Сообщить("Документ обработан");
КонецПроцедуры
[/1с]
Но записи не удаляются. Что не так?
 
 
   mik_mihka
 
1 - 14.03.19 - 15:41
Всем спасибо. Сделал через ТЗ.
 
Процедура КнопкаВыполнитьНажатие(Кнопка)
    ИмяРегистра = Докум.ТаблицаРегистровНакопления[0].Имя; 
    НаборЗаписей = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Докум);
    НаборЗаписей.Прочитать();
    ТЗ = НаборЗаписей.Выгрузить();
    ТЗ.Очистить();
    ТЗ2 = НаборЗаписей.Выгрузить();
    Сообщить("Обрабатывается регистр "+ ИмяРегистра);
    Сообщить("Было - "+Строка(ТЗ2.Количество())+ "строк");
    Для Каждого Стр Из ТЗ2 Цикл
        Если ИмяРегистра = "ЗаказыПокупателей" или ИмяРегистра = "ЗаказыПоставщикам" Тогда
            Если Стр.ДоговорКонтрагента.Организация <> Организация Тогда
                НовСтр = ТЗ.Добавить();
                ЗаполнитьЗначенияСвойств(НовСтр,Стр);
            КонецЕсли;
        Иначе
            Если Стр.Организация <> Организация Тогда
                НовСтр = ТЗ.Добавить();
                ЗаполнитьЗначенияСвойств(НовСтр,Стр);
            КонецЕсли;
        КонецЕсли;    
    КонецЦикла;    
    Сообщить("Стало - "+Строка(ТЗ.Количество())+ "строк");
    НаборЗаписей.Очистить();
    НаборЗаписей.Загрузить(ТЗ);
    НаборЗаписей.Записать();
    Сообщить("Документ обработан");
КонецПроцедуры


Может кому пригодится.

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