gifts2017

Параметрическая очистка регистров сведений

Опубликовал Дмитрий (Froloid) в раздел Администрирование - Чистка базы

Универсальная обработка параметрической очистки регистров сведений, имеющих независимый режим записи

При внедрении решений на базе 1С:Предприятие 8, часто сталкивался с необходимостью очистки регистров сведений. Неоднократно встречал универсальные обработки которые позволяют полностью очистить выбранный регистр. В жизни же задача достаточно часто требует очистки не всех записей, а удовлетворяющих определенному фильтру (например, по конкретному контрагенту, менеджеру, складу и т.д.).

Сталкиваясь с такими задачами я обычно за пару минут набрасывал код, дававший необходимый результат. Но так как подобные действия приходилось выполнять и другим моим коллегам (не являющимся программистами, как собственно и я Cool), я решил набросать универсализированное решение, которое и представляю на Ваш суд.

Решение не содержит ни каких "ноу-хау" с точки зрения разработки, но возможно сбережет некоторым пользователям часть, столь драгоценного, рабочего времени (высвободив его для отдыха и развлечений Wink).

 

Краткая инструкция по использованию приведена в справке.

Скачать файлы

Наименование Файл Версия Размер
- 585
.1251905240 16,29Kb
30.09.14
585
.1251905240 16,29Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Ожерельев (Поручик) 02.09.09 20:23
2. Николай (NickProv) 02.09.09 21:04
Опробировал на штрихкодах, было много пустых записей, очистил, отбор не сработал = 0, а оставил пустое поле и очистил. Благодрю +
3. Дмитрий (Froloid) 02.09.09 21:35
(1) Можно несколько деталей: кокого типа фильтруемое поле, какое значение использовалось в отборе?
Я ей неооднократно пользовался, вроди бы проблем не замечал.
4. VVV (V_V_V) 03.09.09 00:49
ПлакалЪ. "Неоднократно встречал универсальные обработки которые позволяют полностью очистить выбранный регистр". Зачем обработки, зачем городить огород на пустом месте? Убить независимый регистр сведений целиком можно всего двумя строчками:
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
НаборЗаписей.Записать();
И все, он труп.
Точно так же можно поступить и с записями, полученными через Отбор. Это скорее проблема - как бы случайно не стереть неправильно отобранные данные...
5. Артур Аюханов (artbear) 03.09.09 07:28
Подобные вещи пользователям в руки нельзя давать :(
Минус за неверное позиционирование программы.
6. Дмитрий (Froloid) 03.09.09 10:27
(5) Большой опыт внедрений показывает, что защита от "злоумышленников" методом "в руки нельзя давать" крайне недальнавида и неэффективна. У пользователей есть руки и они умеют сами ими брать (например, вот такие инструменты http://infostart.ru/projects/5230/).
Поэтому если мы хотим избежать казусов, то этим пользователям должно быть запрещено использование внешних обработок.
7. Сергей Ожерельев (Поручик) 03.09.09 10:33
(3)
>>>> В списке выбора, расположенном в верхней части формы, выбирается требуемый регистр сведений. Если требуется фильтрация удаляемых записей, то устанавливается отбор в табличной части, расположенной под списком выбора регистра.

Так вот, выбираю любой регистр, в настройках выбираю поля, отбор пустой.
8. Дмитрий (Froloid) 03.09.09 10:42
(7) "В настройках выбираю поля" это в поле отбора или в форме открывающейся по кнопке "отбор"?
9. Дмитрий (Froloid) 03.09.09 10:45
Обновлена версия. В новой версии убрана возможность настройки состава выводимых полей, т.к. их сокращение может привести к невозможности/некорректности очистки.
10. Дмитрий (Froloid) 03.09.09 10:49
(4) В общем и целом вы правы. Я так и писал "я обычно за пару минут набрасывал код, дававший необходимый результат".
Эта обработка позволяет не набрасывать постоянно этот код, + дает пользовательский интерфейс для удобной установки фильтров.

"Точно так же можно поступить и с записями, полученными через Отбор" - а вот это уже заблуждение. Так нельзя поступить с записями полученными через отбор (по крайней мере если этот отбор полноценный, как в приведенном мной варианте).
11. VVV (V_V_V) 03.09.09 11:02
(10) Никто не мешает после отбора добавить несколько строк:
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
НаборЗаписей.Записать();
Все и так просто, хотя может кому-то действительно необходим интерфейс...
12. Сергей Ожерельев (Поручик) 03.09.09 12:21
Блин, догнал с отбором, надо было ручкми insert нажать или ПКМ. Автор, сделайте панель кнопок для отбора, для таких как я.
13. Дмитрий (Froloid) 03.09.09 13:26
(12) Ок. Скоро выложу обновленную версию.
14. Дмитрий (Froloid) 03.09.09 16:58
Выложил обновление, в котором добавил панель инструментов для поля установки отбора и добавил вопрос, для подтверждения намерения очистки.
15. Владимир Т (Don2021) 20.10.09 04:59
Не работает в Бухгалтерии 8.1 релиз (1.6.16.3). Ошибка при инициализации:
{Форма.ФормаОтчета(25)}: Поле объекта не обнаружено (ВидыДоговоровСФизЛицами) НовСтр.ОтборВидыДоговоров=перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор;
16. Дмитрий (Froloid) 09.11.09 17:09
17. Роман (RikON) 16.03.10 11:39
Я что то не пойму, :evil: тут уже такие элементарные обработки закрывают: "ДЛЯ ДОСТУПА РЕЙТИНГ +30" скоро вапще забью на ваш сайт <censored>!
18. Михаил Ражиков (tango) 16.03.10 11:54
(17) элементарно - сделай сам
19. Доржи Цыденов (support) 16.03.10 12:03
(17) Прощайте, нам такие точно не нужны. Как они понять то не могут, что не для них этот сайт существует.
20. Максим Сухов (MaxS) 11.08.10 11:47
Работает очень медленно.
Удаление каждой записи в цикле.
Если отбор только по измерениям, можно было бы удалить без цикла.

По кнопке Сформировать тоже очень долго выводится, т.к. в поле табличного документа выводятся ссылки, а не представление.
Можно было просто форму списка регистра вывести, наложив штатный фильтр...

И ещё. нет обработки прерывания, и если так долго работает, не хватает индикатора процесса... ;)
21. Игорь Макаренко (Kashemir) 25.08.10 15:26
В качестве рекламы, идейное развитие http://infostart.ru/public/74068/ :)
22. rka (rka) 15.05.11 16:46
(11)(11) Для набора записей Отбор не позволяет отбирать "в группе".
Автору. Жаль что не обрабатываются периодические регистры сведений.
23. Лев В (LevV) 14.11.11 17:13
24. Andrey Krapivin (kr_andr) 23.11.11 11:03
25. Алексей (ASoft) 18.01.12 22:07
26. vicmos victor (vicmos) 11.12.13 10:24
27. Владимир Плотников (onlyfly) 26.07.15 16:51
На платформе 8.3 будет работать. Надо в УТ 11 почистить.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа