Удаление всех движений регистра накопления

1. skela 2 14.03.19 16:31 Сейчас в теме
Подскажите как удалить все записи регистра накопления. Т.е. без какого-нибудь отбора
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oleg-x 26 14.03.19 16:34 Сейчас в теме
Сделай отбор только по периоду и очисти набор
3. skela 2 14.03.19 16:54 Сейчас в теме
5. soft_wind 14.03.19 16:58 Сейчас в теме
(3) а удалить регистр из конфигуратора (сразу все данные пропадут) - не предлагать?
(а потом его можно заново создать)
4. soft_wind 14.03.19 16:56 Сейчас в теме
(2) ээээ, может я неправ, но для регистров накопления отбор только по Регистратору
6. d.batovskiy 14.03.19 17:04 Сейчас в теме
А если просто создать набор записей и потом очистить?
7. skela 2 14.03.19 17:04 Сейчас в теме
8. d.batovskiy 14.03.19 17:06 Сейчас в теме
Тогда запросом получать все документы и потом в цикле по этим документам, создавать набор записей с отбором по регистратору и очищать.
9. d.batovskiy 14.03.19 17:09 Сейчас в теме
Примерно так:

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ВыпускПродукцииУслуг.Регистратор КАК Регистратор
		|ИЗ
		|	РегистрНакопления.ВыпускПродукцииУслуг КАК ВыпускПродукцииУслуг
		|
		|СГРУППИРОВАТЬ ПО
		|	ВыпускПродукцииУслуг.Регистратор";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Набор = РегистрыНакопления.ВыпускПродукцииУслуг.СоздатьНаборЗаписей();
		Набор.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.Регистратор);
		Набор.Очистить();
	КонецЦикла;
Показать
11. oleg-x 26 14.03.19 17:19 Сейчас в теме
(9) Немного подправил код
Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
|	ВыпускПродукцииУслуг.Регистратор КАК Регистратор 
|ИЗ 
|	РегистрНакопления.ВыпускПродукцииУслуг КАК ВыпускПродукцииУслуг 
| 
|СГРУППИРОВАТЬ ПО 
|	ВыпускПродукцииУслуг.Регистратор"; 

РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Набор = РегистрыНакопления.ВыпускПродукцииУслуг.СоздатьНаборЗаписей();  //Перед циклом, что бы исключить время на создание набора записей.
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 

Набор.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.Регистратор); 
Набор.Прочитать();//Иначе нельзя сделать изменения
Набор.Очистить(); 
Набор.Записать();//Иначе все изменения не запишутся.
КонецЦикла;
Показать
independ; +1 Ответить
10. oleg-x 26 14.03.19 17:17 Сейчас в теме
Да, доступен только регистратор для отбора, причем даже нельзя вид сравнения изменить в отборе.
Тогда только три варианта:
1) Получить все регистраторы и обойти в цикле.
2) Удалить регистр сведений, потом вернуть.
3) Очистить таблицу, непосредственно запросом в базе данных напрямую, но нужны знания SQL
12. skela 2 14.03.19 17:42 Сейчас в теме
13. meriferi 17.03.19 13:40 Сейчас в теме
попробуй обработкой CleanReg
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот