удаление из регистра накопления строк
17.06.2012
21:03
#1
"Программма "Зарплата и кадры бюджетного учреждения"
Подскажите какая ошибка в коде, у меня после отбора не выбирается регистратор, который нужно открыть и в нем удалить строки согласно запросу.
НачалоПериода = НачалоМесяца(Дата);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.КОСГУ КАК КОСГУ,
| Остатки.СтатьяФинансирования,
| СУММА(Остатки.СуммаВзаиморасчетовОстаток) КАК Сумма,
| Остатки.Физлицо.Наименование КАК Физлицо,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор КАК Рег
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки КАК Остатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
| ПО Остатки.Физлицо = ВзаиморасчетыСРаботникамиОрганизаций.Физлицо
|ГДЕ
| Остатки.ПериодВзаиморасчетов <= &НачалоПериода
|
|СГРУППИРОВАТЬ ПО
| Остатки.КОСГУ,
| Остатки.СтатьяФинансирования,
| Остатки.Физлицо.Наименование,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
НаборЗаписей = РегистрыНакопления.ВзаиморасчетыСРаботникамиОрганизаций.СоздатьНаборЗаписей();
ВыборкаРезультата = Запрос.Выполнить();
Выборка = ВыборкаРезультата.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.??????
НаборЗаписей.Прочитать();
ВыборкаНомерСтроки = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНомерСтроки.Следующий() Цикл
НаборЗаписей.Удалить(ВыборкаНомерСтроки.Физлицо);
КонецЦикла;
НаборЗаписей.Записать();
КонецЦикла;"
Подскажите какая ошибка в коде, у меня после отбора не выбирается регистратор, который нужно открыть и в нем удалить строки согласно запросу.
НачалоПериода = НачалоМесяца(Дата);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.КОСГУ КАК КОСГУ,
| Остатки.СтатьяФинансирования,
| СУММА(Остатки.СуммаВзаиморасчетовОстаток) КАК Сумма,
| Остатки.Физлицо.Наименование КАК Физлицо,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор КАК Рег
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки КАК Остатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
| ПО Остатки.Физлицо = ВзаиморасчетыСРаботникамиОрганизаций.Физлицо
|ГДЕ
| Остатки.ПериодВзаиморасчетов <= &НачалоПериода
|
|СГРУППИРОВАТЬ ПО
| Остатки.КОСГУ,
| Остатки.СтатьяФинансирования,
| Остатки.Физлицо.Наименование,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
НаборЗаписей = РегистрыНакопления.ВзаиморасчетыСРаботникамиОрганизаций.СоздатьНаборЗаписей();
ВыборкаРезультата = Запрос.Выполнить();
Выборка = ВыборкаРезультата.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.??????
НаборЗаписей.Прочитать();
ВыборкаНомерСтроки = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНомерСтроки.Следующий() Цикл
НаборЗаписей.Удалить(ВыборкаНомерСтроки.Физлицо);
КонецЦикла;
НаборЗаписей.Записать();
КонецЦикла;"
18.06.2012
08:44
#3
Я промучилась 2 дня и работы там (удаление движения) столько же, поэтому хотелось бы уменьшить работу.
18.06.2012
08:49
#4
ну тогда попробуйте вот этой обработкой, она есть на ИТСе
УниверсальныеПодборИОбработкаОбъектов.epf
УниверсальныеПодборИОбработкаОбъектов.epf
18.06.2012
09:01
#5
она не совсем подходит...она может удалить документы, а мне нужно удалить в этих документах только те значения, которые в регистре накопления "Взаиморасчеты с сотрудниками" являются долгом,
т.е.
я пишу такую обработку: в регистре ищу все строчки согласно запросу, затем мне необходимо открыть регистратор, там удалить данные значения и сохранить значения.
т.е.
я пишу такую обработку: в регистре ищу все строчки согласно запросу, затем мне необходимо открыть регистратор, там удалить данные значения и сохранить значения.
18.06.2012
09:01
#6
а в ручную такие действия занимают очень долгое время, и глаза от напряжения болеть начинают
Читают тему
(гостей: 1)