Очистка периодических реквизитов справочников

16.07.08

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

Данная обработка предназначена для вывода в таблицу более поздних повторяющихся или "пустых" значений периодических реквизитов справочников для просмотра, анализа и последующего удаления «лишних» значений.

Скачать файл

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

Наименование Бесплатно
CleanPeriodic.ert
.1216121022 199,50Kb
1469
1469 Скачать бесплатно
Данная обработка предназначена для вывода в таблицу более поздних повторяющихся или "пустых" значений периодических реквизитов справочников для просмотра, анализа и последующего удаления «лишних» значений.
Выводятся и затем по команде удаляются значения введенные вручную. Два значения, введенных вручную, разделенные значением, зафиксированным документом не чистятся во избежание ситуации, когда проведение документа будет отменено и история нарушится.
Вы можете просмотреть предложенные обработкой значения выбранного периодического реквизита и, затем удалить помеченные значения. Для удобства в таблице отображаются: наименование текущего элемента справочника, периодический реквизит, которого предлагается удалить, значение реквизита, его дата, предыдущее значение и, соответственно, его дата, и, если есть, то наименование элемента справочника-владельца.
Эта обработка, возможно, будет полезна тем, кто не рискует удалять «лишние» значения периодических реквизитов автоматически, т.е. без просмотра «чего там удаляется». ;-)

См. также

Чистка данных Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Установка пометки на удаление справочника Номенклатура. Торговля 77. 9.2.

1 стартмани

21.11.2022    2662    3    Sevg    0    

2

Чистка данных Программист Пользователь Платформа 1С v7.7 1С:Бухгалтерия 7.7 1С:Зарплата и кадры 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Обработка для поиска и пометки на удаление дублирующихся элементов произвольного справочника.

1 стартмани

12.09.2022    3134    9    tetraren    0    

2

Свертка базы Чистка данных Перенос данных 1C Системный администратор Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Приводится порядок действий для создания новой информационной базы на основе имеющейся файл-серверной "Торговля и Склад" ред.9.2, для учёта с нуля. В новую базу выполняется перенос справочников и остатков номенклатуры. Журналы документов, данные регистров, долги контрагентов, партии очищаются.

1 стартмани

14.01.2022    6453    6    etmarket    3    

4

Чистка данных Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    8159    12    etmarket    0    

3

Чистка данных Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Эта обработка позволяет удалить созданные системой элементы справочников. Например, когда элементы создаются при тестировании и исправлении базы с наименованиями, включающими строку "ФС". Обработка тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

26.03.2021    8708    2    softmaker    0    

0

Поиск данных Чистка данных Логистика, склад и ТМЦ Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".

1 стартмани

19.11.2020    7927    1    Kuzya_brаtsk    4    

8

Чистка данных Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Когда удаляются документы и элементы справочников в 1С 7.7 через удаление помеченных на удаление объектов, запись из dbf файла не удаляется, она помечается как удаленная, но физически остается в файле. Если эти помеченные на удаление записи удалить физически, то размер файлов значительно уменьшится.

1 стартмани

18.10.2018    16163    48    evg520750    5    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. бубух 16.07.08 09:12 Сейчас в теме
+ за работу - она работает. Вопрос (если можно) от простого буха - что, кроме порядка в истории, дает проге такая чистка?
2. UrbSI 78 16.07.08 09:32 Сейчас в теме
В 1С для хранения ВСЕХ периодических реквизитов ВСЕХ справочников и констант используется только ОДНА таблица 1SCONST.DBF. Соответственно, если эта таблица будет заполнена различным "мусором", то на считывание из нее нужных данных будет требоваться больше времени. Поэтому чистка периодических реквизитов нужна в первую очередь для ускорения работы.
3. bserge 16.07.08 09:55 Сейчас в теме
Проверил, работает. Единственное выдает ошибку, когда реквизит установлен документом.
Пер.Удалить();
{CLEANPERIODIC.ERT(193)}: Значение установлено документом!
4. бубух 16.07.08 10:22 Сейчас в теме
спасибо за ответ. займусь теперь и своими ОСами там этого...
5. Dozgd 9 20.04.09 10:43 Сейчас в теме
Благодарю. Удалили неверно установленные цены... :)
6. jsmith 16.10.11 17:39 Сейчас в теме
7. TrinitronOTV 16 16.10.11 18:17 Сейчас в теме
bserge пишет:

Проверил, работает. Единственное выдает ошибку, когда реквизит установлен документом.
Пер.Удалить();
{CLEANPERIODIC.ERT(193)}: Значение установлено документом!

как по поводу этого сообщения? это я к автору, т.к. хотелось бы перед скачиванием уточнить этот момент
8. vcspektr 11.05.17 07:59 Сейчас в теме
Процедуру удаления лучше сделать с перебором значений за дату, и пропуском значений, введённых документом..
9. 19autumn82 3 11.05.17 08:01 Сейчас в теме
// УДАЛЕНИЕ **********************************************************************************************************************
//
Процедура ПоКнУдалить()
	
	// ОБНУЛИМ ПЕРЕМЕННЫЕ
	Перем Пер;
	Перем СтрСЗ;
	// СОЗДАДИМ ПЕРИОДИЧЕСКИЙ
	Пер = СоздатьОбъект("Периодический");
	// ОБНУЛИМ ПЕРЕМЕННЫЕ
	ТекКоличество =0;
	ТЗ.ВыбратьСтроки();
	Пока ТЗ.ПолучитьСтроку() = 1 Цикл
		СтрокаСостояния();
		// ПРОВЕРКА
		Если ТЗ.Пометка = МеткиНет Тогда
			Продолжить;
		КонецЕсли;
		// ОБНУЛИМ ПЕРЕМЕННЫЕ
		ТекОбъект = "";
		// ЗАПОМНИМ ПЕРЕМЕННЫЕ
		ТекОбъект = ТЗ.Спр;
		// ОБНУЛИМ ПЕРЕМЕННЫЕ
		ТекРеквизит = "";
		// ЗАПОМНИМ ПЕРЕМЕННЫЕ
		ТекРеквизит = СЗ_Рекв.ПолучитьЗначение(СЗ_Рекв.ТекущаяСтрока(), СтрСЗ);
		// ФИЛЬТР
		Пер.ИспользоватьОбъект(ТекРеквизит, ТекОбъект);
		// ПЕРЕБОР ЗНАЧЕНИЙ
		Если Пер.ВыбратьЗначения(ТЗ.Дата, ТЗ.Дата) = 1 Тогда
			Пока Пер.ПолучитьЗначение() = 1 Цикл
				// ОБНУЛИМ ПЕРЕМЕННЫЕ
				ТекДокумент = "";
				// ЗАПОМНИМ ПЕРЕМЕННЫЕ
				ТекДокумент = Пер.ТекущийДокумент();
				// ПРОВЕРКА
				Если ПустоеЗначение(ТекДокумент) = 0 Тогда
					// СООБЩЕНИЕ
					глпВыводСообщение("Пропущено значение " + СокрЛП(Пер.Значение) + " на дату " + СокрЛП(ТЗ.Дата) + ", введено документом " + глПредставлениеДокумента(ТекДокумент), глфВозвратФлагОтладка(ФлагОтладка));
					Продолжить;
				КонецЕсли;
				// ПРОВЕРКА
				Если Пер.Значение <> ТЗ.ЗнРекв Тогда
					// СООБЩЕНИЕ
					глпВыводСообщение("Пропущено значение " + СокрЛП(Пер.Значение) + " на дату " + СокрЛП(ТЗ.Дата) + ", отличается от выбранного значения " + СокрЛП(ТЗ.ЗнРекв), глфВозвратФлагОтладка(ФлагОтладка));
					Продолжить;
				КонецЕсли;
				// ПОПЫТКА
				Попытка
					Пер.Удалить();
					// СООБЩЕНИЕ
					глпВыводСообщение("Удалено значение - " + СокрЛП(ТЗ.ЗнРекв) + " на дату " + СокрЛП(ТЗ.Дата), 1);
					// СЧЕТЧИК
					ТекКоличество = ТекКоличество + 1;
				Исключение
					// СООБЩЕНИЕ
					глпВыводСообщение(ОписаниеОшибки(), 1, "!");
				КонецПопытки;
			КонецЦикла;
		КонецЕсли;
	КонецЦикла;
	// ЗАПОЛНИМ ТЗ
	Сформировать(РежимТЗ, 0);
	// ПРЕДУПРЕЖДЕНИЕ
	Предупреждение("Выполнено!", 60);
	// СООБЩЕНИЕ
	глпВыводСообщение("Удалено - "+ Строка(ТекКоличество) +" значений", 1);
	
КонецПроцедуры // ПоКнУдалить()
Показать
10. srt2020 01.09.20 13:04 Сейчас в теме
И действительно работает
Оставьте свое сообщение