Удаление данных из БД в MS-SQL

Публикация № 695855

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

удаление данных SQL

Обработка для удаления данных (документы, журналы, справочники, регистры сведения и накопления) напрямую в MS-SQL.

Тестировалось на платформе 8.3.9.х и MS-SQL 2016.

Алгоритм:

1) запускается обработка, заполняете поля для подключения к БД.

2) нажимаете Проверка, если все ок, то заполнятся соответствующие ТЧ.

3) выбираете нужные данные для удаления, нажимаете Удалить (работает в активной странице).

4) заходите в конфигуратор - Администрирование - Тестирование и исправление. Устанавливаете:

Проверка ссылочной и логической целостности ИБ, Тестирование и исправление, Очищать ссылки,

Удалять объект.

Код обработки (модуль формы):
 


#Область Флажки
&НаКлиенте
Процедура УстановитьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = 1;
		КонецЦикла;	
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ИнвертироватьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
	КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = ?(ТекСтр.Фл=1, 0, 1);
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры 

&НаКлиенте
Процедура СнятьФлажки(Команда)
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			ТекСтр.Фл = 0;
		КонецЦикла;	
	КонецЕсли;
КонецПроцедуры
#КонецОбласти

#Область Проверка
Функция ПодключениеSQL()
	
	СтрокаСоединения = ("Provider=SQLOLEDB;Driver={SQL Server}; Deleted=No; Data Source = ") + SQLСервер +
	(";UID=") + Логин + ("; PWD=") + Пароль + (";");
	
	Подключение = Новый ComObject("ADODB.Connection");
	Подключение.ConnectionString=СтрокаСоединения;
	Попытка
		Подключение.Open(СтрокаСоединения);
		//Сообщить("Подключение к серверу SQL");
		Возврат Подключение;
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	
КонецФункции

Функция ПроверкаБазы(ИмяТаблицы_)
	
	Подключение = ПодключениеSQL(); 
	Если Подключение=Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	ТекстSQL = "SELECT TOP (10) *
	|FROM ["+SQLБаза + "].[dbo].[" + ИмяТаблицы_ + "]";
	
	СоединениеSQL = Новый COMObject("ADODB.Command");
	СоединениеSQL.ActiveConnection = Подключение;
	СоединениеSQL.NamedParameters = True;
	СоединениеSQL.CommandText = ТекстSQL;
	СоединениеSQL.CommandType = 1;
	//СоединениеSQL.Prepared = Истина;
	
	//если надо параметры
	//Param1 = СоединениеSQL.CreateParameter("n",3,1,1,1);
	//СоединениеSQL.Parameters.Append(Param1);
	//
	//Param2 = СоединениеSQL.CreateParameter("ДатаПриходаС",200,1,8,Формат(НачалоПериода,"ДФ=ггггММдд"));//Формат(НачалоПериода,"ДФ=ггггММдд"));
	//СоединениеSQL.Parameters.Append(Param2);
	//
	//Param3 = СоединениеSQL.CreateParameter("ДатаПриходаПо",200,1,8,Формат(КонецПериода,"ДФ=ггггММдд"));
	//СоединениеSQL.Parameters.Append(Param3);
	//
	//СоединениеSQL.Parameters.Refresh();
	
	Попытка
		//Сообщить("Выполнение запроса SQL");
		ЗаписиSQL = Новый ComObject("ADODB.RecordSet");	
		ЗаписиSQL = СоединениеSQL.Execute();
		
		Таблица = Новый ТаблицаЗначений;
		//Сообщить ("Заполнение временной таблицы");
		Для НомерСтолбца = 0 По ЗаписиSQL.Fields.Count-1 Цикл //Создание и добавление колонок во временную таблицу
			ИмяСтолбца =ЗаписиSQL.Fields.Item(НомерСтолбца).Name;
			Таблица.Колонки.Добавить(ИмяСтолбца);
			//Сообщить(ИмяСтолбца);
		КонецЦикла;	
		
		Пока ЗаписиSQL.EOF = 0 Цикл // Заполнение созданной таблицы		
			НоваяСтрока =  Таблица.Добавить();
			Для НомерСтолбца = 0 По ЗаписиSQL.Fields.Count-1 Цикл
				ИмяСтолбца =ЗаписиSQL.Fields.Item(НомерСтолбца).Name;
				НоваяСтрока.Установить(НомерСтолбца,ЗаписиSQL.Fields(НомерСтолбца).Value);
				Сообщить ("" + ИмяСтолбца + " " + ЗаписиSQL.Fields(ИмяСтолбца).Value);
			КонецЦикла;		
			ЗаписиSQL.MoveNext();		
		КонецЦикла;
		
		//Сообщить("Закрываем соединение с SQL");
		ЗаписиSQL.Close();
		Подключение.Close();
		Возврат 1;
		
	Исключение	
		Сообщить("Ошибка при проверке! " + ОписаниеОшибки());
		Подключение.Close();
		Возврат Неопределено;
	КонецПопытки;
	
КонецФункции

&НаСервере
Процедура ПроверкаНаСервере()
	
	Подключение = ПодключениеSQL(); 
	Если Подключение=Неопределено Тогда
		Возврат;
	КонецЕсли;
	ДляТеста = "";
	
	ВыбрДокументы.Очистить();
	Сч = 1;
	Для Каждого Док из Метаданные.Документы Цикл
		//Сообщить(Док);
		НовСтр = ВыбрДокументы.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = Док.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
		МассивИменМетаданных.Добавить("Документ."+Док.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		ДляТеста = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;	
	
	ВыбрЖурДокументы.Очистить();
	Сч = 1;
	Для Каждого ЖДок из Метаданные.ЖурналыДокументов Цикл
		//Сообщить(жДок);
		НовСтр = ВыбрЖурДокументы.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = жДок.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
		МассивИменМетаданных.Добавить("ЖурналДокументов."+жДок.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;	
	
	ВыбрСправочники.Очистить();
	Сч = 1;
	Для Каждого Спр из Метаданные.Справочники Цикл
		//Сообщить(Спр);
		НовСтр = ВыбрСправочники.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = Спр.Имя;
		МассивИменМетаданных = Новый Массив();
		//МассивИменМетаданных.Добавить("Справочник.Номенклатура");
		МассивИменМетаданных.Добавить("Справочник."+Спр.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		ДляТеста = СтрукБД[0].ИмяТаблицыХранения; 
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	ВыбрРегистрыСведений.Очистить();
	Сч = 1;
	Для Каждого РегСв из Метаданные.РегистрыСведений Цикл
		//Сообщить(РегСв);
		НовСтр = ВыбрРегистрыСведений.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = РегСв.Имя;
		МассивИменМетаданных = Новый Массив();
		МассивИменМетаданных.Добавить("РегистрСведений.ШтрихкодыНоменклатуры");
		МассивИменМетаданных.Добавить("РегистрСведений."+РегСв.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	ВыбрРегистрыНакопления.Очистить();
	Сч = 1;
	Для Каждого РегНак из Метаданные.РегистрыНакопления Цикл
		//Сообщить(РегНак);
		НовСтр = ВыбрРегистрыНакопления.Добавить();
		НовСтр.Фл = 0;
		НовСтр.Наименование = РегНак.Имя;
		МассивИменМетаданных = Новый Массив();
		МассивИменМетаданных.Добавить("РегистрНакопления.ДвижениеТоваров");
		МассивИменМетаданных.Добавить("РегистрНакопления."+РегНак.Имя);
		СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
		НовСтр.SQL = СтрукБД[0].ИмяТаблицыХранения;
		//Сообщить(СтрукБД.Количество());
		//Для Каждого ТекСтр ИЗ СтрукБД Цикл
		//	Сообщить(ТекСтр.ИмяТаблицыХранения);
		//КонецЦикла;
		//Если сч = 2 Тогда
		//	Прервать;
		//КонецЕсли;
		Сч = Сч+1; 		
	КонецЦикла;
	
	Если ПроверкаБазы(ДляТеста)=Неопределено Тогда
		ВыбрДокументы.Очистить();
		ВыбрЖурДокументы.Очистить();
		ВыбрСправочники.Очистить();
		ВыбрРегистрыСведений.Очистить();
		ВыбрРегистрыНакопления.Очистить();
	КонецЕсли;
	
	Подключение.Close();
	
КонецПроцедуры

&НаКлиенте
Процедура Проверка(Команда)
	ПроверкаНаСервере();
КонецПроцедуры
#КонецОбласти

#Область Удаление
&НаСервере
Функция УдалениеSQL(ИмяТаблицыSQL)	
	Подключение = ПодключениеSQL(); 
	
	Если Подключение=Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	ТекстSQL = "TRUNCATE TABLE [" + SQLБаза + "].[dbo].[" + ИмяТаблицыSQL + "]";
	
	СоединениеSQL = Новый COMObject("ADODB.Command");
	СоединениеSQL.ActiveConnection = Подключение;
	СоединениеSQL.NamedParameters = True;
	СоединениеSQL.CommandText = ТекстSQL;
	СоединениеSQL.CommandType = 1;
	
	Попытка
		//Сообщить("Выполнение запроса SQL");
		СоединениеSQL.Execute();
		Подключение.Close();
		Возврат "Удалили: " + ИмяТаблицыSQL;
	Исключение
		Сообщить(""+ОписаниеОшибки());
		Подключение.Close();
		Возврат Неопределено;
	КонецПопытки;
	
	Подключение.Close();	
КонецФункции

&НаСервере
Процедура УдалитьНаСервере()
	
	Сч = 0;
	Если Элементы.Страницы.ТекущаяСтраница = Элементы.Документы Тогда
		Для Каждого ТекСтр из ВыбрДокументы Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("Документ."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);					
				КонецЦикла;				
			КонецЕсли;	
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Журнал Тогда
		Для Каждого ТекСтр из ВыбрЖурДокументы Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("ЖурналДокументов."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;	
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.Справочники Тогда
		Для Каждого ТекСтр из ВыбрСправочники Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				МассивИменМетаданных.Добавить("Справочник."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегСведений Тогда
		Для Каждого ТекСтр из ВыбрРегистрыСведений Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("РегистрСведений."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;	
		
	ИначеЕсли Элементы.Страницы.ТекущаяСтраница = Элементы.РегНакопления Тогда
		Для Каждого ТекСтр из ВыбрРегистрыНакопления Цикл
			Если ТекСтр.Фл = 1 Тогда
				МассивИменМетаданных = Новый Массив();
				//МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
				МассивИменМетаданных.Добавить("РегистрНакопления."+СтрЗаменить(ТекСтр.Наименование, " ", ""));
				СтрукБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных, ИСТИНА);
				//Сообщить(СтрукБД.Количество());
				Для Каждого ТекСтр ИЗ СтрукБД Цикл
					Сч = Сч  + 1;					
					Ответ = УдалениеSQL(ТекСтр.ИмяТаблицыХранения);
					Если Ответ=Неопределено Тогда
						Прервать;
					КонецЕсли;
					Сообщить(""+СЧ + ") " + Ответ);
				КонецЦикла;				
			КонецЕсли;
		КонецЦикла;	
	КонецЕсли;
	
	Сообщить("Очистили: " + Сч);
	
КонецПроцедуры

&НаКлиенте
Процедура Удалить(Команда)
	Режим = РежимДиалогаВопрос.ДаНет;
	Текст = "Данные в базе " + SQLБаза + " будут уничтожены без возможности восстановления. Вы сделали резервную копию и хотите продолжить?";
	Ответ = Вопрос(Текст, Режим, 0);	
	Если Ответ = КодВозвратаДиалога.Да Тогда
		УдалитьНаСервере();
	КонецЕсли;
КонецПроцедуры
#КонецОбласти

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

Наименование Файл Версия Размер
Удаление данных из БД в SQL.:

.epf 11,26Kb
21
.epf 11,26Kb 21 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nvv1970 07.11.17 01:57 Сейчас в теме
3) выбираете нужные данные для удаления, нажимаете Удалить (работает в активной странице).
4) заходите в конфигуратор - Администрирование - Тестирование и исправление. Устанавливаете:
Проверка ссылочной и логической целостности ИБ, Тестирование и исправление, Очищать ссылки, Удалять объект.
Брррр... Чего?
Я предполагал, что обработка должна ускорить работу, а не замедлить ее.
Удаление условно 1000 номенклатур через 1с: <МИНУТЫ написать в консоли запрос на поиск ссылок к удалению и написать алгоритм удаления (1строка).
Удаляться будет тяжело: удаляем основную таблицу, табличные части, ведущие измерения в РС, а их обычно ой как много. (ну пусть несколько минут).
Вы за несколько минут выполните удаление в sql и ТиИ на десятках-сотнях Гб ?? Чушь... )))

SQL запросами нужно пользоваться в среде sql с полным пониманием происходящего. И главное с пониманием в каком случае и почему операция в СУБД лучше чем в 1с.
2. jaroslav.h 08.11.17 17:13 Сейчас в теме
(1)
SQL запросами нужно пользоваться в среде sql с полным пониманием происходящего. И главное с пониманием в каком случае и почему операция в СУБД лучше чем в 1с.


+++
Оставьте свое сообщение

См. также

Пометка на удаление неиспользуемых элементов справочников и документов Промо

Чистка базы Обработка документов Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

В ходе работы в программе в ней зачастую накапливается "мусор". Данная разработка может помочь убрать его... (обычные или управляемые формы)

1 стартмани

02.02.2010    34280    704    AnryMc    53    

ПОЛНОЕ удаление лишних организаций и связанных с ними данных

Чистка базы v8 v8::БУ БП3.0 Россия Абонемент ($m)

Обработка предназначена для удаления лишних организаций и связанных с ними данных (документами, записями в регистрах сведений, подчиненных справочников). Эта обработка является немного переделанной от автора Ант10 (https://infostart.ru/public/696618/), отличатся от оригинальной версии возможностью выбора сразу нескольких организаций. Удобна, когда таких организаций много (в частности, задублированных организаций). Работает только с управляемыми формами, тестировалась в типовой конфигурации 1С: «Бухгалтерии предприятия 3.0» релиз 3.0.88.28. На платформе 1С 8.3.18.1334.

1 стартмани

11.03.2021    2199    59    Kuzya_brаtsk    8    

Превращение доработанной конфигурации в типовую или исправление ошибки "Имеются записи с одинаковыми измерениями"

Чистка базы Тестирование и исправление v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.02.2021    4313    36    pyrkin_vanya    31    

Сжатие (уменьшение размера) файлов изображений 1С без внешних компонент - для любой конфигурации на основе БСП > 2.3

Свертка базы Универсальные обработки v8 Розница ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Если в базу загружено большое количество изображений, картинок, фото товаров, размером более 2-3МБ, то в базе будут сильно тормозить все процессы, связанные с чтением-передачей файлов изображений: формирование прайса, отчетов с картинками, выгрузка изображений товаров на сайт и т.д. Данная обработка позволяет провести оптимизацию (уменьшение размера) загруженных картинок в базу 1С любой конфигурации на основе БСП >= 2.3 стандартными средствами 1С, сохраняя при этом достаточно хорошее качество сжатых картинок. Проверено на релизе УТ 11.4.11.71, для обработки понадобится также версия Платформы 1С >= 8.3.14.

1 стартмани

08.03.2020    9978    47    1sig    27    

Очистка регистрации обмена Промо

Чистка базы v8 v8::ОУ УТ10 Абонемент ($m)

Данная обработка предназначена для очистки узла. Для очистки необходимо указать период,организацию.

1 стартмани

19.09.2017    19751    9    serg-lom89    0    

Свертка базы и очистка таблиц

Свертка базы Чистка базы v8 1cv8.cf Россия Абонемент ($m)

Обработка написана с использованием БСП. Встраивается как внешняя. Работает в фоне. Позволяет средствами SQL очищать выборочно таблицы с настройками, заданными привычным образом через отбор СКД.

5 стартмани

05.03.2020    7246    40    YAGolova    6    

Свертка БД 1С: обрезка до выбранной даты средствами MS SQL

Свертка базы Чистка базы v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка, позволяющая произвести анализ размера БД и грубую обрезку данных до выбранной даты средствами MS SQL. Управляемые формы, 1С:Предприятие 8.3 (8.3.9.1818).

1 стартмани

15.11.2019    19134    236    dmitrydemenew    38    

Очистка базы данных 1С от данных по организациям прямыми SQL-запросами к СУБД

Чистка базы v8 1cv8.cf Абонемент ($m)

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

10 стартмани

20.09.2019    15523    96    nomad_irk    93    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Чистка базы Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    47638    470    Eugen-S    34    

Быстрое удаление данных по организации, используя ADO

Чистка базы v8 1cv8.cf Абонемент ($m)

Время от времени возникают вопросы на форуме Инфостарта по сабжу. Данная обработка решает данную задачу.

1 стартмани

12.08.2019    8510    48    Fox-trot    30    

Универсальное удаление выбранного объекта 8.2 - 8.3 на управляемых формах

Чистка базы v8 v8::УФ 1cv8.cf Абонемент ($m)

Данная обработка просто хороший, удобный удалитель выбранного объекта через "ОбменДанными" с кучей дополнительных возможностей. Выгода использования данной обработки особенно ярко проявляет себя, когда у вас стоит подписка на события или другой код препятствующий удалению, но вам абсолютно необходимо удалить данный объект ввиду возможности его случайного использования. И вам нет необходимости выходить из режима 1С:Предприятия, входить в конфигуратор, менять отлаженный код блокировок и подписок на события. Таким образом осуществляется "горячее" удаление объекта.

1 стартмани

17.06.2019    8627    28    AlexandrSmith    0    

Удаление данных по организации в базах, ведущих учет по нескольким организациям. БП 3.0, ЗУП 3.1

Чистка базы v8 БП3.0 ЗУП3.x Россия Абонемент ($m)

При необходимости разделить данные в базах, где ведется учет по нескольким организациям, данная обработка поможет очистить ненужную информацию по организации/организациям. Работает в конфигурациях БП 3.0 и ЗУП 3.1.

2 стартмани

03.04.2019    11752    268    SanchoD    29    

Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом Промо

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.

10 стартмани

31.10.2016    58447    715    m..adm    225    

Удаление неиспользуемых элементов справочников в БП 3.0, УНФ 1.6, Розница 2.2, УТ 11.4, КА 2.4, 1С ERP 2.4

Обработка справочников Чистка базы v8 Розница УНФ БП3.0 Россия Абонемент ($m)

Данная обработка предназначена для удаления неиспользуемых элементов справочников в конфигурациях "1С: Бухгалтерия предприятия 3.0", "1С: Управление нашей фирмой 1.6", "1С: Розница 2.2", "1С: Управление торговлей 11.4", "1С: Комплексная автоматизация 2.4", "1С: ERP Управление предприятием 2.4"

1 стартмани

15.03.2019    10539    105    BurlakovIvan    0    

Восстановление настроек плана счетов и очистка некорректных рабочих счетов в БГУ 1.0

Универсальные обработки Чистка базы v8 v8::БУ БГУ Россия БУ Госбюджет Абонемент ($m)

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

1 стартмани

04.03.2019    20245    215    Sashares    36    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    30038    399    morozov.sv    54    

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) Промо

Чистка базы v8 Абонемент ($m)

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    18838    21    Alexander.Shvets    9    

Очистка замеров производительности - даешь больше места на диске (= меньше хлама в базе)

Чистка базы v8 Розница УНФ БП3.0 УТ11 ЗУП3.x Абонемент ($m)

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

1 стартмани

31.10.2018    23430    228    1c.pro.fun    24    

Перенос организации в отдельную базу, полная очистка базы от данных организации (версия от 09.01.2020)

Универсальные обработки Чистка базы v8 1cv8.cf Абонемент ($m)

Данная обработка позволяет удалить организацию и все связанные с ней данные – документы, элементы справочников, записи регистров сведений. Обработка полезна для выделения организации в отдельную базу. Доработано для ЗУП 3.1, УТ 11.4, возможно других

3 стартмани

14.08.2018    20513    402    serge_msk    69    

Свертка 1С: ЗУП 3

Свертка базы Зарплата Зарплата v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Свертка 1С: Зарплата и управление персоналом 3 по трем регистрам. Когда у всех полетел НДФЛ в начале 2018 года, решили сделать обработку свертки ЗУП 3 с сохранением данных о среднем заработке для расчета пособий. 

5 стартмани

11.07.2018    20732    164    Bortkevich    28    

Корректировка остатков регистров накопления (обычные и управляемые формы) Промо

Закрытие периода Свертка базы Чистка базы Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка, предназначенная для удобного и быстрого исправления остатков регистров накопления (посредством автоматического ввода документов "Корректировки записей регистров", "Операция", содержащих движения, приводящие существующие остатки к желаемым). Позволяет корректировать и обнулять по аналитике и суммам остатки регистров учета товаров, партий, взаиморасчетов, налогового учета по НДС, РАУЗ, и др.

2 стартмани

14.01.2012    83943    1722    stvorl    76    

Удаление движений непроведенных документов. УФ.

Закрытие периода Чистка базы v8 v8::УФ ERP2 УТ11 КА2 Абонемент ($m)

Обработка помогает в закрытии отчетных периодов в программах 1С.

3 стартмани

02.07.2018    12807    85    PSMNN    2    

Помощник удаления и очистки объектов

Чистка базы v8 Розница УНФ БП3.0 УТ11 КА2 Абонемент ($m)

При удалении помеченных не всегда понятно, почему не удаляется например элемент справочника. Написано, что на него ссылается какой-то документ. Заходим в этот документ - и не понятно, где именно смотреть этот элемент, и как его почистить. Особенно, если это какой-то полуслужебный элемент типа "ключ аналитики". Данное расширение выводит информацию, где именно в документе или в движениях этого документа содержится ссылка на удаляемый объект. Второе расширение помогает удалять дополнительные реквизиты объектов, а именно убирает этот дополнительный реквизит из всех объектов, где он прописан в табличной части "Дополнительные реквизиты".

2 стартмани

04.06.2018    16059    93    Kutuzov    24    

Удаление данных средствами SQL, теория и практика

Чистка базы v8 1cv8.cf Абонемент ($m)

Методика быстрого удаления данных через SQL. Выбираем документ в 1С, добавляем простые условия - получаем готовый скрипт, удаляющий сами документы, их табличные части и движения по регистрам.

10 стартмани

25.04.2018    23251    159    METAL    34    

Переход с УСН на ОСНО. Формирование остатков НУ и данных по регистру затрат УчетЗатратРегл (РАУЗ) Промо

Свертка базы Универсальные обработки Учет ТМЦ Учет ТМЦ v8 КА1 Россия НУ Абонемент ($m)

Не знаете, как побороть сообщение "движения сформировались без суммовой оценки" при проведении документов после перехода на ОСНО - эта обработка для вас. Обработка выполняет закрытие остатков по счетам учета ТМЦ и формирование новых остатков на заданную пользователем дату с проверкой итоговых сумм и количества по БУ и НУ, а также закрытие остатков по старым ключам аналитики (без применения счетаНУ) и формирование новых остатков. Для конфигурации Комплексная Конфигурация 1.1

10 стартмани

30.01.2014    30610    8    buy_sale    7    

Удаление справочников и документов без проверки ссылочной целостности

Чистка базы Обработка документов Обработка справочников v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для удаления без проверки ссылочной целостности.

1 стартмани

14.03.2018    12761    79    SPARTANIC    16    

Очистка базы данных от данных по организации

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка генерирует SQL-скрипт, который очищает базу данных от документов выбранной организации. Проверялась на конфигурации Управление производственным предприятием на платформе 8.3. Но в принципе универсальная для стандартных конфигураций на платформе 8.3.

1 стартмани

23.01.2018    20952    134    mugr    26    

Удалить "ненужную организацию" в БП 3.0 (+ доп.обработка для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6)

Чистка базы v8 v8::УФ Розница УНФ ERP2 БП3.0 КА2 ЗУП3.x Абонемент ($m)

Обработка, способная удалить все данные по выбранной организации из конфигурации Бухгалтерия предприятия 3.0. (+ обработка "Универсал" для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6)

1 стартмани

06.11.2017    37758    978    Ant10    0    

Очистка регистров накопления, сведений, расчета или бухгалтерии Промо

Сервисные утилиты Чистка базы Свертка базы v8 1cv8.cf Абонемент ($m)

Очистка регистров накопления, сведений, расчета или бухгалтерии (обычная и управляемая форма)

2 стартмани

25.12.2009    66045    1235    sebe    20    

Удаление данных напрямую в SQL

Сервисные утилиты Чистка базы v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

08.07.2017    18643    123    denacid    32    

Создание первоначального образа с файлами РИБ или быстрая очистка базы от документов и движений по регистрам

Свертка базы Распределенная БД (УРИБ, УРБД) Чистка базы v8 Розница Абонемент ($m)

В «большой» базе штатными средствами создать первоначальный образ узла не получается по причине «недостатка памяти на сервере»? А способы, описанные в статье https://its.1c.ru/db/metod8dev/content/2277/hdoc не подходят? ИЛИ Удаление всех документов или свёртка базы занимает продолжительное время?

1 стартмани

06.06.2017    25156    67    Dima_    9    

Просмотр и очистка регистра сведений (управляемые формы)

Универсальные обработки Чистка базы v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для очистки регистров сведений (как независимых, так и подчиненных регистратору), работает под управляемыми формами. Реализован предварительный просмотр удаляемых данных.

1 стартмани

09.05.2017    19784    348    stone_evil    23    

Удаление организаций из базы Промо

Чистка базы v8 БП2.0 ЗУП2.5 Абонемент ($m)

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

1 стартмани

19.06.2013    20376    56    IceEvgen    11    

Что мешает удалению объектов?

Сервисные утилиты Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка, позволяющая просмотреть цепочки объектов (как ссылочных, так и регистров), препятствующих удалению помеченных на удаление объектов. Платформа 8.3, обычные формы, управляемые формы, интерфейс такси, возможность работы в Web.

1 стартмани

20.12.2016    20393    123    Alxby    17    

Задвоились предопределенные элементы справочников? Выход есть!

Обработка справочников Чистка базы v8 1cv8.cf Абонемент ($m)

Дублирование предопределенных элементов справочников может произойти как по причине того, что при обмене данными в режиме загрузки уникальность предопределенного элемента в пределах области информационной базы не проверяется, так и при объединении/обновлении конфигураций. При попытке переименовать, или, например, пометить на удаление 1С показывает сообщение «Предопределенный элемент не уникален». В этой статье мы напишем обработку, которая позволит избавиться от дублей предопределенных элементов справочника.

1 стартмани

02.11.2016    24935    108    Luchik    8    

Удаление неиспользуемых элементов справочника (простые и управляемые формы)

Обработка справочников Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка предназначена для удаления неиспользуемых элементов выбранного Вами справочника. Обработка конфигурационно-независима. UPD. Расширены возможности обработки

3 стартмани

02.08.2016    19536    80    roma_semenov79    6    

Универсальный редактор реквизитов объектов. Мультиобработчик Промо

Универсальные обработки Чистка базы Обработка документов Практика программирования Обработка справочников Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Объекты: Справочник, Документ, ПланОбмена, ПВХ, Бизнес-процесс, Задача, ПланСчетов, ПВР. Мультиобработчик: -Проведение, перенумерация, движения, копирование, создание на основании, подчиненность, статистика, удаление документов. -Регистрация изменений объекта(ов) в планах обмена. -Установка/Отключение ГлавногоУзла РИБ. -Поиск и восстановление "Битых" ссылок. -Недопустимые символы XML/Дерево XML. -Поиск и замена ссылок. -Ошибки ИБ, в т.ч XML. -Множество обработок справочников. -GUID. Дата и время создания объектов ссылочного типа. -Аналитика предопределенных, блокируемых реквизитов, ХранилищаЗначений. -История изменений объекта. -Активные пользователи. -Подписки на события, функциональные опции. -Загрузка пользователей ИБ из Windows, Active Directory. -Выгрузка/Загрузка пользователей ИБ в/из внешний XML-файл. -Поддержка различных режимов модальности. Файловый, Клиент-Серверный варианты. Обычная и Управляемая формы.

1 стартмани

28.12.2011    178704    8900    StepByStep    422    

Удаление документов по организациям для 1С:Бухгалтерия Предприятия 3.0 и 2.0 (управляемые и простые формы)

Чистка базы v8 v8::БУ БП2.0 БП3.0 Россия Абонемент ($m)

Обработка удаляет документы по выбранной организации, либо по всем, кроме выбранной. UPD. Добавлена обработка для управляемых форм с возможностью подбора организаций в список. Условия остаются теми же - удалить по организациям из списка, или по всем, кроме подобранных в списке.

3 стартмани

31.07.2016    31637    374    Krasnyj    52    

Ошибка "Записи регистра сведений стали неуникальными"

Чистка базы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

21.07.2016    94113    1031    ekaruk    44    

Помощник после свертки

Свертка базы v8 УТ10 УПП1 Абонемент ($m)

Обработка для корректировки данных после свертки

1 стартмани

29.04.2016    16093    67    Efimoff    12    

Многопоточное удаление объектов Промо

Чистка базы v8 1cv8.cf Абонемент ($m)

Обработка предназначена для ускорения процедуры удаления объектов

2 стартмани

02.06.2016    27807    55    zzz_natali    20    

Удаление помеченных объектов с отбором по метаданным

Чистка базы v8 1cv8.cf Абонемент ($m)

Это доработанная обработка с отбором по метаданным. По итогу общее время в сравнении со стандартной обработкой сокращено, если необходимо очистить только несколько типов документов/справочников.

1 стартмани

06.04.2016    26692    133    endym    7    

Зачистка ссылок на документы после свертки. 1С:Бухгалтерия 3.0

Свертка базы Чистка базы Обработка документов Дебиторская и кредиторская задолженность Учет ТМЦ Дебиторская и кредиторская задолженность Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

После стандартной свертки не удаляются документы из базы? Вы уже заметили, что они абсолютно во всех операциях по вводу начальных остатков? Эта обработка поможет решить вопрос!!! Все документы расчетов в виде старых документов будут заменены на новый документ расчетов, и Вы сможете избавиться от ненужных старых документов!

2 стартмани

05.04.2016    23221    79    katerinaUniv    8    

[БП 3.0] Свертка БП 2.0 или БП 3.0 документами "Ввод начальных остатков" в БП 3.0 beta

Свертка базы v8 v8::БУ v8::УФ БП2.0 БП3.0 Россия БУ Абонемент ($m)

Новое воплощение старой идеи http://infostart.ru/public/118486/ Много взято отсюда http://infostart.ru/public/303564/ Движок переноса данных http://infostart.ru/public/421541/ 25.05.2021 - Версия 6.6.2.4 - Платформа 8.3.18.1433, БП 3.0.93.20 Скрыты неактуальные галки. Исправлены замеченные ошибки.

2 стартмани

03.04.2016    58582    1023    Alex_E    480    

Ещё один вариант свертки регистров учета НДФЛ (для ЗБУ/ЗКОУ/ЗКМУ ред. 1, ЗУП ред. 2.5)

Свертка базы Зарплата Зарплата v8 ЗУП2.5 ЗКБУ Россия НУ НДФЛ Абонемент ($m)

С появлением формы 6-НДФЛ вопрос правильного ведения исчисленного/удержанного/перечисленного НДФЛ встал не просто остро, а сверхостро! Поможем расчетчикам чем сможем...

1 стартмани

10.03.2016    37635    283    GlebHappy    50    

Свертка / обрезка баз украинских конфигураций УТ, БУ, УТП

Свертка базы v8 БП2.0 УТ10 Украина Абонемент ($m)

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

5 стартмани

23.02.2016    34496    102    Igortid    17