Удаление данных по сотрудникам и физлицам из документов "Перенос данных"

Администрирование - Чистка базы

Внешняя обработка, позволяющая удалить все данные отдельно по сотрудникам и физлицам из документов "Перенос данных".

После переноса данных по зарплате из ЗУП2.5 в ЗУП3.0 или из КА1.1 в КА2.0 могут возникать ситуации, при которых происходить задвоение сотрудников, которых штатными средствами удалить не получается, так как по ним имеются движения в документах "Перенос данных". Еще возможны и такие ситуации, когда переносятся уволенные сотрудники, которые в новой базе не нужны, но удалить их так же не получается из-за наличия движений. Как раз для таких ситуаций и будет полезна данная обработка.

В обработке реализовано удаление сотрудников отдельно от физлиц. Это сделано для того, чтобы случайно не удалить данные по задвоенным сотрудникам, у которых одно физлицо, так как в некоторых регистрах присутствует только измерение физлицо. Имеется возможность удалять данные из документов, выбранных по наименованию и за период, а также удалять по конкретно выбранному документу "Перенос данных".

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

17.07.2017. Добавлена возможность удаления нескольких сотрудников и физлиц, либо удаления всех, кроме выбранных.

Внимание: Обработка работает только на упраляемых формах. Тестировалась только в КА2.2, но должна подходить и для ЗУП 3.х и для ERP 2.х. При внесении изменений в базу, не забывайте делать копии, это может сберечь вас от многих проблем.

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

Наименование Файл Версия Размер
Удаление данных по сотрудникам и физлицам из документов "Перенос данных" 2.0:
.epf 9,38Kb
05.10.17
14
.epf 2.0 9,38Kb 14 Скачать

См. также

Комментарии
1. Айрат (Craig) 183 03.06.17 22:20 Сейчас в теме
Ох, если бы в ней еще можно было бы указывать сразу массив физлиц или сотрудников - было бы круто!!!
Обработка востребована тогда была бы более востребована. Я много раз переносил инфу в ЗУП 3.х из старых систем 1с. И всегда была одна и та же проблема - тянулись не нужные сотрудники. Переносил типовой обработкой.
2. Оксана Д (Rain88) 12 04.06.17 09:29 Сейчас в теме
(1) Изначально хотела сделать, чтобы выбирались все помеченные на удаление сотрудники или физлица, но побоялась, что могут возникнуть проблемы, вдруг сотрудника пометили на удаление случайно. Думаю, как появится время, добавлю возможность удалять сразу группу сотрудников или физлиц.
3. Елена Син (sin_elena) 06.06.17 10:44 Сейчас в теме
А эта обработка подойдет для ЗУП 8.25?
4. Оксана Д (Rain88) 12 06.06.17 16:58 Сейчас в теме
(3) Если в ЗУП 2.5 есть документы "Перенос данных" и нужно из них поудалять данные, то должна подойти. С ЗУП 2.5 не работала.
5. Павел Знайкин (PavelZnaikin) 136 12.07.17 14:15 Сейчас в теме
Клевая обработка, а можешь сюда добавить механизм, чтобы можно было выбирать массив сотрудников и удалять всех кроме них
6. Оксана Д (Rain88) 12 12.07.17 14:47 Сейчас в теме
(5) В планах было сделать удаление массива сотрудников, но никак руки не доходят реализовать, загрузили сильно)
7. Павел Знайкин (PavelZnaikin) 136 12.07.17 17:00 Сейчас в теме
А почему вы здесь в цикле обходите все регистры

	Для Каждого Регистр Из ОбъектДок.Движения Цикл
				//Для каждого регистра из движений найденного документа получим набор записей
				//Если есть движения, удалим строчки с нужным нам физлицом
				Регистр.Прочитать();
				Если Регистр.Количество() > 0 Тогда
					КоличествоЗаписейДоИзменения = Регистр.Количество();
					СодержитФизическоеЛицо = Ложь;
					Для Каждого ТекИзмерение Из Регистр.Метаданные().Измерения Цикл
						Если ТекИзмерение.Имя = "ФизическоеЛицо" Тогда
							СодержитФизическоеЛицо = Истина;
						КонецЕсли;
					КонецЦикла;
Показать


Ведь сам документ может содержать только один или два регистра
8. Оксана Д (Rain88) 12 13.07.17 08:13 Сейчас в теме
(7) Потому что тогда бы пришлось анализировать каждый документ переноса и добавлять для каждого типа документа условие на наличие тех или иных регистров, при этом можно было бы пропустить какие-нибудь регистры, что в данной ситуации исключено. Плюс данный метод добавляет универсальности на случай, если в какой-нибудь конфигурации названия регистров не совпадают.
Оставьте свое сообщение