Очистка регистра накопления. Очистка регистра сведений

23.08.24

База данных - Чистка данных

ВАЖНО!!! Очистку регистров накопления и регистров сведений рекомендуется делать пользователям со знанием дела и с осознанием последствий! Обработка поможет быстро очистить выбранный регистр. Делаю данную обработку в первую очередь для себя, т.к. были случаи, когда нужно было очищать регистры, а делать красиво и удобно времени не было.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Очистка регистра накопления. Версия 0.0.1:
.epf 9,39Kb ver:0.0.1
252
252 Скачать бесплатно
Очистка регистра накопления и регистра сведений. Версия 0.0.2:
.epf 12,24Kb ver:0.0.2
117
117 Скачать бесплатно
Очистка регистра накопления и регистра сведений. Версия 0.0.3:
.epf 13,06Kb ver:0.0.3
350
350 Скачать бесплатно
Очистка регистра накопления и регистра сведений. Версия 0.0.4:
.epf 13,59Kb ver:0.0.4
1079
1079 Скачать бесплатно

Для кого:

Обработка по очистке регистров накоплений и регистров сведений предназначена для пользователей со знаниями о таких прикладных объектах, как регистры. В нашем случае речь пойдет о регистре накопления и регистре сведений.

 

Для чего:

Иногда возникает потребность в очистке регистра накоплений, но Регистры накопления вручную не очистить. Данная обработка позволяет полностью очистить регистр накопления, удалив все записи о нем без отборов и попыток вернуть все обратно) 
При очистке регистров сведений нужно понимать, что очищаются только независимые регистры, не подчиненные регистратору.

 

Как делалось: 

Очистка регистров накопления
Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	| РегистрЗапись.Регистратор КАК Регистратор
	|ИЗ
	| РегистрНакопления.&Регистр КАК РегистрЗапись";
	
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Регистр", ОбъектМетаданных.Имя);

Выборка = Запрос.Выполнить().Выбрать();
НаборЗаписей = РегистрыНакопления[ОбъектМетаданных.Имя].СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
		
	НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
	НаборЗаписей.Записывать = Истина;
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
		
	Попытка
		НаборЗаписей.Записать(Истина); 
	Исключение
		Ошибка = ОписаниеОшибки();
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ошибка);
	КонецПопытки;

КонецЦикла;	  
Очистка регистров сведений
НаборЗаписей = РегистрыСведений[ОбъектМетаданных.Имя].СоздатьНаборЗаписей(); 
НаборЗаписей.Записать();


Обработка тестировалась на:
  • базе ERP 2.5.7.298 Платформы 8.3.22.1750.
  • базе Бухгалтерия предприятия 3.0.128.15 Платформы 8.3.22.1750.
  • базе УНФ 3.0.4.45 Платформы Платформы 8.3.22.2175

 

 
 Версия 0.0.1 от 02.2023
 
 Версия 0.0.2 от 02.2023 (добавленные изменения)
 
 Версия 0.0.3 от 03.2023 (добавленные изменения)
 
 Версия 0.0.4 от 10.2023 (добавленные изменения)
  •  Добавлена возможность выбора периода для регистров накопления. Если период не заполнен, будет полная очистка выбранного регистра.


 

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.7.298

Очистка Удаление Регистр Накопления Сведений Движение Движений Движения УправляемыеФормы УФ Отбор Бэкап Сведения накопления.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    28156    187    90    

178

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 29.06.2023, версия 4.2)

10800 руб.

22.02.2013    140405    272    146    

443

Чистка данных Программист Пользователь Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Обработка позволяет удобно и выборочно удалить данные из базы 1С на управляемых формах например БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и др. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    27230    71    18    

85

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3582 руб.

16.03.2015    218857    224    83    

259

Чистка данных Системный администратор Программист Бухгалтер Пользователь Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Решение по удалению дублей позволяет определить связанные элементы в двух синхронизированных базах в качестве оригиналов и избежать необходимости ручного сравнения объектов в базах перед синхронизацией.

3960 руб.

27.06.2018    19617    14    3    

18

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    29804    47    15    

48

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 Абонемент ($m)

Универсальный инструмент для очистки базы. Работает как на конфигурациях на основе БСП, так и самописных. Позволяет выбрать данные, отобразить форму списка, увидеть структуру метаданных, очистить базу применяя при необходимости условия. Удаление производится по выбранным элементам в таблице значений. Наложение условий позволяет удалить документы по выбранной организации.

1 стартмани

25.12.2023    9773    217    WeterSoft    5    

15

Чистка данных Инструментарий разработчика Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    6051    6    SerVer1C    27    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SAShikutkin 16 06.02.23 11:50 Сейчас в теме
Если база серверная, быстрее truncate table
Snakesa; Dmitrij-2; Neiron_1C; starponyx; serg-lom89; Alexei_Siva; +6 Ответить
2. headMade 144 06.02.23 14:37 Сейчас в теме
в запросе группировка должна быть по регистратору, а то по одному и тому же регистратору будет очищать записи несколько раз
nayd; shard; RustIG; Dmitrij-2; Neiron_1C; +5 Ответить
9. ixijixi 2016 03.05.23 16:34 Сейчас в теме
(2) Либо ВЫБРАТЬ РАЗЛИЧНЫЕ
3. Dormouzze 06.02.23 15:56 Сейчас в теме
Также, если база большая и пользоваться только средствами 1с, ускорить может отключение/включение итогов.
Dmitrij-2; Neiron_1C; +2 Ответить
4. RustIG 1882 07.02.23 04:28 Сейчас в теме
 Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		
		НаборЗаписей = РегистрыНакопления[ОбъектМетаданных.Имя].СоздатьНаборЗаписей();
		НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
		...
	КонецЦикла;	  
Показать

- замените вот так:

 Выборка = Запрос.Выполнить().Выбрать();
НаборЗаписей = РегистрыНакопления[ОбъектМетаданных.Имя].СоздатьНаборЗаписей();
	Пока Выборка.Следующий() Цикл		
		
		НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
		...
	КонецЦикла;	  
Показать
user975489; ixijixi; shard; Neiron_1C; +4 Ответить
5. yermak 51 08.02.23 09:45 Сейчас в теме
Еще не плохо было бы увидеть статью, например, "Перебор элементов массива" или " Увеличение значения переменной на 1"
6. ArsenProg 12.03.23 04:06 Сейчас в теме
Почерпнул несколько идей, есть оригинальные моменты, спасибо.
Neiron_1C; +1 Ответить
7. skyboy13 14 12.03.23 11:50 Сейчас в теме
на самописной конфе не запустилась.
1С:Предприятие 8.3 (8.3.19.1726)
управляемы формы.

обработка закрыта и не подправишь.
8. V.Nikonov 123 13.03.23 12:04 Сейчас в теме
Однако ситуации в которых приходится полностью зачищать ОДИН из Регистров Накопления достаточно экзотичны.
Чаще для похудания базы можно зачищать лишь часть данных Регистра...
Например Есть Оперативные Регистры отражающие Заказы покупателей, Резервы и т.п. - Значение они имеют только для текущего периода, а данные Прошлых периодов как правило не имеют актуального значения. Какой смысл помнить что год назад поставили в Резерв 10 шт товара, через 3 дня сняли 8 шт в связи с отгрузкой, и ещё через 4 дня сняли остаток резерва Закрытием Заказов?
Соответственно желательно зачищать с отбором по периоду и по Дате Ключевого документа.
11. user1479482 15 08.02.24 17:51 Сейчас в теме
(8) Нет, ситуация скажем рядовая для самописных конфигураций без использования Библиотека стандартных подсистем (БСП) при отладке бывает нужно почистить регистры. Особенно если это к примеру конфигурация по консолидации данных из разных баз.
10. UlanenkovViktor 12.01.24 18:23 Сейчас в теме
А зачем делать закрытий модуль в бесплатной обработке?

Значение не является значением объектного типа (Имя)
{ВнешняяОбработка.ОчисткаРегистров.МодульОбъекта(88)}:
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(64)}:ОбработкаОбъект.ВыполнитьОчисткуНаСервере(Регистр, ТипОбъекта);
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(44)}:ВыполнитьОчисткуНаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Vidz; user1479482; +2 Ответить
12. user1479482 15 08.02.24 17:53 Сейчас в теме
(10) Поддерживаю вопрос!
Прикрепленные файлы:
user900973; zabaluev; +2 Ответить
18. Neiron_1C 164 23.08.24 09:13 Сейчас в теме
(12) Ответил выше. В бесплатной обработке и так достаточно было описано, прошу уважать чужой труд.
17. Neiron_1C 164 23.08.24 09:11 Сейчас в теме
(10) Ошибка устранена.

Закрытый модуль делается по той же причине почему вы закрываете входную дверь своего дома или почему закрываются системные блоки от потных рук школьников в компьютерном клубе) Я стараюсь сохранить свое представление реализации задачи. Во-первых, от неуместных комментариев, ведь обработка бесплатная, а во-вторых, от глупого копирования с использованием своих изменений. Хотите сделать по своему, пожалуйста, основной алгоритм в описании. И вопрос, наверное должен был звучать не "почему закрытый код в бесплатной обработке?", а "где платная обработка чтобы посмотреть код?".
13. galagala 13.03.24 16:49 Сейчас в теме
Почему-то не очищаются регистр "Учет доходов для исчисления НДФЛ" и "Учет доходов для исчисления страховых взносов"? После указания периода и нажатия кнопки Очистить, появляется сообщение из файла.
Прикрепленные файлы:
Ошибка регистр.docx
19. Neiron_1C 164 23.08.24 09:14 Сейчас в теме
14. AlchiPL 6 08.04.24 10:09 Сейчас в теме
Обработка версии 0.0.4
При запуске очистки регистра накопления с указанием периода – Ошибка: Значение не является значением объектного типа (Имя)
Код модуля объекта закрыт. Обработка в таком виде бесполезна.
20. Neiron_1C 164 23.08.24 09:14 Сейчас в теме
15. fixin 4287 12.04.24 12:58 Сейчас в теме
Да, модуль закрыт. И смысл?
16. пользователь 06.06.24 15:13
Сообщение было скрыто модератором.
...
21. chesnokov-a-v 100 28.11.24 11:50 Сейчас в теме
Добрый день.
Обработка версии 0.0.4
УНФ, регистр сведений Версии объектов
Ошибка:
Значение не является значением объектного типа (РежимЗаписи)
{ВнешняяОбработка.ОчисткаРегистров.МодульОбъекта(112)}:
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(64)}:ОбработкаОбъект.ВыполнитьОчисткуНаСервере(Регистр, ТипОбъекта);
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(44)}:ВыполнитьОчисткуНаСервере();
24. user930239 08.05.25 13:34 Сейчас в теме
(21)
такая же ошибка:

Значение не является значением объектного типа (РежимЗаписи)
{ВнешняяОбработка.ОчисткаРегистров.МодульОбъекта(112)}:
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(64)}:ОбработкаОбъект.ВыполнитьОчисткуНаСервере(Регистр, ТипОбъекта);
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(44)}:ВыполнитьОчисткуНаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]


1С:Предприятие 8.3 (8.3.27.1508)
Управление нашей фирмой, редакция 3.0 (3.0.11.142)

что-то можно исправить?
22. djdiamond 19.01.25 19:06 Сейчас в теме
Закрывать двери в бесплатной какой смысл, все вместе и подумали бы что и как поправить!((

Вот и итог:
{ВнешняяОбработка.ОчисткаРегистров.МодульОбъекта(112)}:
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(64)}: ОбработкаОбъект.ВыполнитьОчисткуНаСервере(Регистр, ТипОбъекта);
{ВнешняяОбработка.ОчисткаРегистров.Форма.Форма.Форма(44)}: ВыполнитьОчисткуНаСервере();
JinAir7460; +1 Ответить
23. пользователь 20.01.25 09:23
Сообщение было скрыто модератором.
...
25. user909433 09.05.25 19:28 Сейчас в теме
Добрый день! Отличная обработка, да ещё и бесплатная, спасибо огромное, очень помогла, т.к. в этом регистре руками ничего не удаляется. Есть просьба к автору сделать ещё поле отбора, в любом варианте (по партнеру, контрагенту, заказу или ещё как автор посчитает проще), что бы можно было выбирать конкретные записи в регистрах для их удаления. Возникла ситуация, что в журнале заказов и, соответственно, в форме заказа, оплата по заказу стала показывать в разных заказах 200, 300, 400%, суммы соответственно тоже удваиваются, утраиваются и учетверяются, тоже самое и с отгрузками. Такое произошло не со всеми заказами, только с частью. Поднял базу недельной давности, там всё норм. Причину установить пока не удалось (может кто подскажет куда копать), пока только устраняются последствия, и неоценимую роль в их устранении играет эта обработка. После долгих ковыряний выяснилось, что задвоились записи в регистрах накопления, в частности регистр накопления "расчеты с клиентами". И эта обработка пришлась очень кстати, лечит эту проблему, но грубовато (исключительно с пользовательско - технической точки зрения, не в обиду автору), т.к. есть возможность удаления только за число (сутки/день) или период, где находится задублированная запись. Но за это выбранное число (сутки/день - минимальный отбор), есть и другие записи, которые удалять не нужно. Огромная просьба к автору допилить, до более тонкого отбора (круче всего, что бы можно было удалять даже по одной строке и/или нескольким выбранным строкам). Заранее благодарен!
26. user909433 09.05.25 20:06 Сейчас в теме
Выглядит это так (фото прилагаю), причем, и уже в ранее закрытых заказах такое тоже произошло. В связанных документах, при этом, все в порядке. Управление торговлей 11:
Прикрепленные файлы:
Оставьте свое сообщение