Имя: Пароль:
1C
1С v8
Удаление записей в регистре накопления
0 ivanov_vanya
 
14.02.15
22:01
Доброго времени суток. Необходимо удалить записи в регистре накопления, соответствующие определенным параметрам.
Вот мой код:
Процедура КнопкаВыполнитьНажатие(Кнопка)    
Запрос =  Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.Регистратор КАК Регистратор,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.НомерСтроки КАК НомерСтроки,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СтавкаНДС КАК СтавкаНДC,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.НДС_Взаиморасчетов КАК НДС_Взаиморасчетов,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаРег КАК СуммаРег,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.НДС_Рег КАК НДС_Рег
               |ИЗ
               |    РегистрНакопления.РасчетыПоРеализацииПродукцииТоваровУслугОрганизации КАК РасчетыПоРеализацииПродукцииТоваровУслугОрганизации
               |ГДЕ
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаРег = 14120";
              
ТаблицаОставляемыхЗаписей = Запрос.Выполнить().Выгрузить();

НаборЗаписей = РегистрыНакопления.РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СоздатьНаборЗаписей();
НаборЗаписей.Загрузить(ТаблицаОставляемыхЗаписей);
НаборЗаписей.Записать();
КонецПроцедуры

Не работает :( Подскажите, что исправить.
Заранее спасибо.
1 zulu_mix
 
14.02.15
22:06
записи то регистратору подчинены. по очереди устанавливай отбор на регистратора, а в запросе выбирай то что надо удалить и группируй по регистратору
2 ivanov_vanya
 
14.02.15
22:07
zulu_mix, можно пример, пожалуйста.
3 GROOVY
 
14.02.15
22:13
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор)
4 ivanov_vanya
 
14.02.15
23:36
Запрос =  Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.Регистратор КАК Регистратор,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СтавкаНДС КАК СтавкаНДC,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.НДС_Взаиморасчетов КАК НДС_Взаиморасчетов,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаРег КАК СуммаРег,
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.НДС_Рег КАК НДС_Рег
               |ИЗ
               |    РегистрНакопления.РасчетыПоРеализацииПродукцииТоваровУслугОрганизации КАК РасчетыПоРеализацииПродукцииТоваровУслугОрганизации
               |ГДЕ
               |    РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СуммаРег = 14120
               |СГРУППИРОВАТЬ ПО РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.Регистратор";
              
ТаблицаОставляемыхЗаписей = Запрос.Выполнить().Выгрузить();
НаборЗаписей = РегистрыНакопления.РасчетыПоРеализацииПродукцииТоваровУслугОрганизации.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Документы.РеализацияТоваровУслуг);
НаборЗаписей.Загрузить(ТаблицаОставляемыхЗаписей);
НаборЗаписей.Записать();


Верно?
Всё равно не так что-то с установкой отбора. :(
5 zulu_mix
 
14.02.15
23:44
выбери запросом только регистратор, записи по которому надо удалить. сгруппируй по регистратору. удаляемые записи читать не надо - сразу пиши!