Чистка регистра сведений с отбором по ресурсу

1. Evgeniy 102 11.02.19 10:24 Сейчас в теме
В базе УПП имеется периодический не зависимый регистр сведений НДФЛПрименениеВычетов, у которого в ресурсах используется Организация.
Хочу почистить этот регистр с отбором по организации, но не получается стандартным способом.
Побывал через СоздатьНаборЗаписей и отборы, но так как в отборах нет Организации (есть только Дата и ФизЛицо), то данный способ не прокатывает.
Подскажите есть ли другой способ чистки регистра с возможностью отбора по ресурсу?
По теме из базы знаний
Найденные решения
14. Evgeniy 102 11.02.19 12:36 Сейчас в теме
Все, получилось, запросом с фильтром о организации и затем через набор записей и отбором по ФИЗ лицу и периоду удалил не нужные записи из регистра.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. user623969_dusa 11.02.19 10:55 Сейчас в теме
(1) Тип: Отбор.
Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в Конфигураторе установлен режим записи "Подчинение регистратору", отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических - только по значению измерений.
16. user1232351 26.11.20 21:21 Сейчас в теме
7. user1088693 11.02.19 11:04 Сейчас в теме
(1) Вы можете все данные из этого регистра выгрузить в Excel и затем отфильтровать по этому полю и удалите те отобранные записи, а в 1С полностью очистите весь этот регистр и заново загрузите с выгруженного Excel-файла.
10. Evgeniy 102 11.02.19 11:46 Сейчас в теме
(7) задача автоматически все почистить, но идея хорошая, можно попробовать весь регистр выгрузить в таблицу значений, затем почистить его полностью и загрузить обратно только те значения, которые подходят по условию.
есть правда риск, что после читки регистра и перед загрузкой какая нибудь ошибка критическая возникнет и все накроется.
Оставлю такой вариант на крайний случай, если ничего другого не возникнет..
13. user1088693 11.02.19 12:10 Сейчас в теме
(10) Да, как вариант, Вы можете выгрузить весь регистр в таблицу значений и потом заново загрузить в регистр. Ошибки у Вас не возникнут, если все данные с регистра будут выгружены как есть. Когда будете делать загрузку через вашу какую-нибудь обработку, то Вам нужно будет в момент создания набора записей установить отборы по всем измерениям (Период, Физлицо и т.д.), Вот так нужно будет Вам написать:

НаборЗаписей = РегистрыСведений.НДФЛПрименениеВычетов.СоздатьНаборЗаписей(); 
НаборЗаписей.Отбор.ФизЛицо.Установить(ФизЛицо);
НаборЗаписей.Отбор.Период.Установить(ФизЛицо); 
...
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() = 0 Тогда
НоваяЗапись =  НаборЗаписей.Добавить();
НоваяЗапись.ФизЛицо  = ФизЛицо;
НоваяЗапись.Период  = Период;
...
КонецЕсли;
НаборЗаписей.Записать();
Показать
2. _Enot_ 10 11.02.19 10:35 Сейчас в теме
НаборЗаписей = РегистрыСведений.ОбъектыСтроительстваОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Установить(УдаляемаяОрганизация);
НаборЗаписей.Записать();
3. Evgeniy 102 11.02.19 10:45 Сейчас в теме
(2) Нет в отборах Организации, я об этом сразу писал
Вот такая ошибка возникает при таком коде: Поле объекта не обнаружено (Организация)
6. _Enot_ 10 11.02.19 10:58 Сейчас в теме
(2)https://www.forum.mista.ru/topic.php?id=627837 Посмотрите здесь если через измерения
4. dhurricane 11.02.19 10:54 Сейчас в теме
Полагаю, прямого - нет. Только запросом выбрать сочетания измерений, где используется заданная организация, а затем чистка по этим измерениям.
smilemanrus; +1 Ответить
8. Evgeniy 102 11.02.19 11:42 Сейчас в теме
(4) Думал над этим вариантом, но проблема в том, что в теории привязка к Измерению (физическое лицо) может быть и по другой организации и не хотелось бы случайно лишние записи почистить.
9. dhurricane 11.02.19 11:45 Сейчас в теме
(8) Как же Вы их затрете?
11. Evgeniy 102 11.02.19 11:53 Сейчас в теме
(9) Хотя вы правы, в разрезе Периода и ФизЛица более одного ресурса (Организации) не может быть.
15. dim_1c 11.02.19 13:45 Сейчас в теме
(8) В запросе для организации получить Дату и ФизЛицо. Дальше записать набор записей с отбором по Дате и ФизЛицу.
12. d.batovskiy 11.02.19 11:55 Сейчас в теме
Мне кажется лучше отобрать запросом все записи не равной вашей организации, потом очистить регистр и далее заполнить этот регистр данными запроса с ОбменДанными.Загрузка = Истина
14. Evgeniy 102 11.02.19 12:36 Сейчас в теме
Все, получилось, запросом с фильтром о организации и затем через набор записей и отбором по ФИЗ лицу и периоду удалил не нужные записи из регистра.
17. user1496852 9 22.07.21 14:41 Сейчас в теме
Здравствуйте, а не лучше бы было запросом выбрать запись регистра сведений, и в цикле перебрав результат запроса, прочитать и удалить их. Пример:
Запрос = Новый Запрос("ВЫБРАТЬ
	                      |	НоменклатураКонтрагентов.ХарактеристикаНоменклатуры,
	                      |	НоменклатураКонтрагентов.Контрагент,
	                      |	НоменклатураКонтрагентов.Номенклатура,
	                      |	НоменклатураКонтрагентов.Дата,
	                      |	НоменклатураКонтрагентов.Идентификатор
	                      |ИЗ
	                      |	РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов
	                      |ГДЕ
	                      |	НоменклатураКонтрагентов.Контрагент = &Контрагент
	                      |	И НоменклатураКонтрагентов.Идентификатор = &Идентификатор");
	Запрос.УстановитьПараметр("Контрагент",Поставщик);
	Запрос.УстановитьПараметр("Идентификатор","");
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		МЗ = РегистрыСведений.НоменклатураКонтрагентов.СоздатьМенеджерЗаписи();
		
		ЗаполнитьЗначенияСвойств(МЗ, Выборка);
		
		МЗ.Удалить();
		
	КонецЦикла;
Показать
Darkoder; a_inves; Snegurochka; Programmer_Ekatetina; maxtomsk; barbosych; tp_home@mail.ru; Ktyfa; bp-service; +9 Ответить
18. bp-service 08.01.22 22:05 Сейчас в теме
(17)Благодарю за идею. Именно так и сделал по другой задаче.
Оставьте свое сообщение

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